require 'VPrediction' local startAttackTime = 0 local windUpTime = 0 local muramanaActive = false local items = { [3222] = { name = "ItemMorellosBane", range = 600 }, [3140] = { name = "QuicksilverSash", range = 0 }, [3139] = { name = "ItemMercurial", range = 0 }, [3137] = { name = "ItemDervishBlade", range = 0 }, [3153] = { name = "ItemSwordOfFeastAndFamine", range = 550 }, [3144] = { name = "BilgewaterCutlass", range = 550 }, [3142] = { name = "YoumusBlade", range = 650 }, [3074] = { name = "ItemTiamatCleave", range = 440 }, [3077] = { name = "ItemTiamatCleave", range = 440 }, [3748] = { name = "", range = 150 }, [3146] = { name = "HextechGunblade", range = 700 }, [3092] = { name = "ItemGlacialSpikeCast", range = 850 }, [3042] = { name = "Muramana", range = 0 }, [3004] = { name = "Manamune", range = 0 }, [3401] = { name = "HealthBomb", range = 600 }, [3157] = { name = "ZhonyasHourglass", range = 0 }, [3040] = { name = "ItemSeraphsEmbrace", range = 0 }, [3190] = { name = "IronStylus", range = 600 }, [3143] = { name = "RanduinsOmen", range = 500 }, [2003] = { name = "RegenerationPotion", range = 0 }, [2004] = { name = "FlaskOfCrystalWater", range = 0 }, [2041] = { name = "ItemCrystalFlask", range = 0 }, [2010] = { name = "ItemMiniRegenPotion", range = 0 } } local summonerSpells = { flash = nil, heal = nil, barrier = nil, ignite = nil, exhaust = nil, smite = nil } local smiteDamage = { 390, 410, 430, 450, 480, 510, 540, 570, 600, 640, 680, 720, 760, 800, 850, 900, 950, 1000 } function OnLoad() loadItemSlots() loadSummonerSpells() ts = TargetSelector(TARGET_LOW_HP, 1000) enemies = GetEnemyHeroes() allies = GetAllyHeroes() table.insert(allies, myHero) jungleMinions = minionManager(MINION_JUNGLE, 500, myHero, MINION_SORT_MAXHEALTH_DEC) VP = VPrediction() menu() PrintChat ("NeXtGen Activator Loaded!") end function OnTick() if config.cleanse.cleanse then Cleanse() end --if isAfterAttack() then -- afterAttack() --else if not isWindingUp() then beforeAttack() end if config.pots then Potions() end if summonerSpells.ignite ~= nil then Ignite() end if summonerSpells.exhaust ~= nil then Exhaust() end if summonerSpells.smite ~= nil then Smite() end UseOffensive() UseRanduin() UseZhonyas() end function isAfterAttack() if not isWindingUp() and windUpTime+0.05 > GetInGameTimer() - startAttackTime then return true end return false end function OnProcessAttack(unit, spell) if unit.isMe then startAttackTime = GetInGameTimer() windUpTime = spell.windUpTime end if unit.isAI == false then Use(unit, spell) end end function OnProcessSpell(unit, spell) if unit.isMe then if GetSlotItem(3142) ~= nil and ItemReady(3142) and config.offensive.youmus.youmusR then local spelltype = getSpellType(unit, spell.name) if spelltype == "R" and (myHero.charName == "Twitch" or myHero.charName == "Lucian") then CastSpell(GetSlotItem(3142)) end if spelltype == "Q" and myHero.charName == "Ashe" then CastSpell(GetSlotItem(3142)) end end end if unit.isAI == false then Use(unit, spell) end end function isWindingUp() if windUpTime > GetInGameTimer() - startAttackTime then return true end return false end function afterAttack() if config.offensive.hydra.hydraTitanic and isCombo() and GetSlotItem(3748) ~= nil and ItemReady(3748) and ValidTarget(targetSelector(myHero.range, DAMAGE_PHYSICAL)) then CastSpell(GetSlotItem(3748)) startAttackTime = 0 windUpTime = 0 end end function OnUpdateBuff(unit, buff, stacks) if unit~= nil and unit.isMe and buff.name == "Muramana" then muramanaActive = true end end function OnRemoveBuff(unit,buff) if unit ~= nil and unit.isMe and buff.name == "Muramana" then muramanaActive = false end end function beforeAttack() if config.offensive.muramana.muramana then local idMur = 0 if GetSlotItem(3042) ~= nil then idMur = 3042 elseif GetSlotItem(3043) ~= nil then idMur = 3043 end local target = targetSelector(myHero.range + myHero.boundingRadius + 65, DAMAGE_PHYSICAL) if idMur ~= 0 and target ~= nil and target.isAI == false and ValidTarget(target) and ItemReady(idMur) and myHero.mana > myHero.maxMana * 0.3 then if not muramanaActive then CastSpell(GetSlotItem(idMur)) end elseif target == nil and muramanaActive and idMur ~= 0 and ItemReady(idMur) then CastSpell(GetSlotItem(idMur)) end end end function Use(unit, spell) if unit.team == myHero.team then return end if not ItemReady(3190) and not ItemReady(3401) and not ItemReady(3040) and not ItemReady(3157) and not CanUseSummoner(summonerSpells.barrier) and not CanUseSummoner(summonerSpells.heal) and not CanUseSummoner(summonerSpells.exhaust) then return end if GetDistance(unit) > 1600 then return end local spelltype = getSpellType(unit, spell.name) if not (spelltype == "Q" or spelltype == "W" or spelltype == "E" or spelltype == "R" or spelltype == "P" or spelltype == "QM" or spelltype == "WM" or spelltype == "EM" or spelltype == "BAttack" or spelltype == "CAttack") then return end for _, ally in ipairs(allies) do if ally.dead == false and ally.valid ~= false and GetDistance(ally) < 700 then incomingDmg = 0 if spell.target ~= nil and spell.target.networkID == ally.networkID then if spelltype == "BAttack" then incomingDmg = incomingDmg + unit:CalcDamage(spell.target, unit.totalDamage) elseif spelltype == "CAttack" then incomingDmg = incomingDmg + (unit:CalcDamage(spell.target, unit.totalDamage) * 2) else incomingDmg = incomingDmg + getDmg(spelltype, spell.target, unit) end else local area = GetDistance(spell.endPos, ally) * Vector(spell.endPos - ally.pos):normalized() + ally.pos if GetDistance(ally, area) < (ally.boundingRadius / 2) then incomingDmg = incomingDmg + getDmg(spelltype, ally, unit) else incomingDmg = 0 end end if incomingDmg > 0 then if CanUseSummoner(summonerSpells.exhaust) and config.summoners.exhaust.exhaust then if (ally.health - incomingDmg) < (CountEnemyHeroInRange(700, ally) * ally.level * 40) then CastSpell(summonerSpells.exhaust, unit) end end if CanUseSummoner(summonerSpells.heal) and config.summoners.heal.heal then if config.summoners.heal.healAlly then if (ally.health - incomingDmg) < (CountEnemyHeroInRange(700, ally) * ally.level * 40) then CastSpell(summonerSpells.heal) elseif (ally.health - incomingDmg) < (ally.level * 10) then CastSpell(summonerSpells.heal) end end end if config.defensive.solari and GetSlotItem(3190) ~= nil and ItemReady(3190) and GetDistance(ally) < items[3190].range then if (ally.health - incomingDmg) < (CountEnemyHeroInRange(700, ally) * ally.level * 40) then CastSpell(GetSlotItem(3190)) elseif (ally.health - incomingDmg) < (ally.level * 10) then CastSpell(GetSlotItem(3190)) end end if config.defensive.fotm and GetSlotItem(3401) ~= nil and GetItemReady(3401) and GetDistance(ally) < items[3401].range then if (ally.health - incomingDmg) < (CountEnemyHeroInRange(700, ally) * ally.level * 10) then CastSpell(GetSlotItem(3401), ally) elseif (ally.health - incomingDmg) < (ally.level * 10) then CastSpell(GetSlotItem(3401), ally) end end if ally.isMe then if CanUseSummoner(summonerSpells.barrier) and config.summoners.barrier.barrier then local barrierAmount = 95 + myHero.level * 20 if incomingDmg > barrierAmount and myHero.health < myHero.maxHealth * 0.5 then CastSpell(summonerSpells.barrier) end if (myHero.health - incomingDmg) < (CountEnemyHeroInRange(700, ally) * ally.level * 15) then CastSpell(summonerSpells.barrier) end end if config.defensive.seraphs then if GetSlotItem(3040) ~= nil and ItemReady(3040) then local seraphAmount = myHero.level * 20 if incomingDmg > seraphAmount and myHero.health < myHero.maxHealth * 0.5 then CastSpell(GetSlotItem(3040)) elseif (myHero.health - incomingDmg) < (CountEnemyHeroInRange(700, ally) * ally.level * 10) then CastSpell(GetSlotItem(3040)) elseif myHero.health - incomingDmg < myHero.level * 10 then CastSpell(GetSlotItem(3040)) end end end if config.defensive.zhonyas then if GetSlotItem(3157) ~= nil and ItemReady(3157) then local zhonyaAmount = 95 + myHero.level * 20 if incomingDmg > zhonyaAmount and myHero.health < myHero.maxHealth * 0.5 then CastSpell(GetSlotItem(3157)) elseif (myHero.health - incomingDmg) < (CountEnemyHeroInRange(700, ally) * ally.level * 10) then CastSpell(GetSlotItem(3157)) elseif myHero.health - incomingDmg < myHero.level * 10 then CastSpell(GetSlotItem(3157)) end end end end end end end end function getPassiveTime(tar, buffName) local unit = tar local endT = 0 for i=1, unit.buffCount do if unit:getBuff(i).name == buffName then endT = unit:getBuff(i).endT break end end local timer = GetGameTimer() - endT if timer > 0 then return timer else return 0 end end function UseZhonyas() if GetSlotItem(3157) ~= nil and config.defensive.zhonyas and ItemReady(3157) then local timer = 2 if TargetHaveBuff("zedrdeathmark") then timer = getPassiveTimer(myHero, "zedrdeathmark") end if TargetHaveBuff("FizzMarinerDoom") then timer = getPassiveTimer(myHero, "FizzMarinerDoom") end if TargetHaveBuff("MordekaiserChildrenOfTheGrave") then timer = getPassiveTimer(myHero, "MordekaiserChildrenOfTheGrave") end if TargetHaveBuff("VladimirHemoplague") then timer = getPassiveTimer(myHero, "VladimirHemoplague") end if timer < 1 and timer > 0 then CastSpell(GetSlotItem(3157)) end end end function Potions() if InFountain() or TargetHaveBuff("Recall", myHero) then return end if GetSlotItem(2004) ~= nil and ItemReady(2004) and not TargetHaveBuff("FlaskOfCrystalWater") then if CountEnemyHeroInRange(1200) > 0 and myHero.mana < 200 then CastSpell(GetSlotItem(2004)) end end if TargetHaveBuff(items[2003].name) or TargetHaveBuff(items[2010].name) or TargetHaveBuff(items[2041].name) then return end if GetSlotItem(2041) ~= nil and ItemReady(2041) then if CountEnemyHeroInRange(700) > 0 and (myHero.health + 200) < myHero.maxHealth then CastSpell(GetSlotItem(2041)) elseif myHero.health < (myHero.maxHealth * 0.6) then CastSpell(GetSlotItem(2041)) elseif CountEnemyHeroInRange(1200) > 0 and myHero.mana < 200 and not TargetHaveBuff(items[2004].name) then CastSpell(GetSlotItem(2041)) end return end if GetSlotItem(2003) ~= nil and ItemReady(2003) then if CountEnemyHeroInRange(700) > 0 and (myHero.health + 200) < myHero.maxHealth then CastSpell(GetSlotItem(2003)) elseif myHero.health < (myHero.maxHealth * 0.6) then CastSpell(GetSlotItem(2003)) end return end if GetSlotItem(2010) ~= nil and ItemReady(2010) then if CountEnemyHeroInRange(700) > 0 and (myHero.health + 200) < myHero.maxHealth then CastSpell(GetSlotItem(2010)) elseif myHero.health < (myHero.maxHealth * 0.6) then CastSpell(GetSlotItem(2010)) end return end end function UseRanduin() if GetSlotItem(3143) ~= nil and config.defensive.randuin and ItemReady(3143) then if CountEnemyHeroInRange(items[3143].range) > 0 then CastSpell(GetSlotItem(3143)) end end end function UseOffensive() if GetSlotItem(3153) ~= nil and ItemReady(3153) and config.offensive.botrk.botrk then local target = targetSelector(items[3153].range, DAMAGE_PHYSICAL) if ValidTarget(target) then if config.offensive.botrk.botrkKS and target.health < myHero:CalcDamage(target, 0.10 * target.maxHealth) then CastSpell(GetSlotItem(3153), target) end if config.offensive.botrk.botrkLS and myHero.health < (myHero.maxHealth * 0.5) then CastSpell(GetSlotItem(3153), target) end if config.offensive.botrk.botrkCombo and isCombo() then CastSpell(GetSlotItem(3153), target) end end end if GetSlotItem(3146) ~= nil and ItemReady(3146) and config.offensive.hextech.hextech then local target = targetSelector(items[3146].range, DAMAGE_MAGICAL) if ValidTarget(target) then if config.offensive.hextech.hextechKS and target.health < myHero:CalcDamage(target, 150 + (myHero.ap * 0.4)) then CastSpell(GetSlotItem(3146), target) end if config.offensive.hextech.hextechCombo and isCombo() then CastSpell(GetSlotItem(3146), target) end end end if isCombo() and GetSlotItem(3092) ~= nil and ItemReady(3092) and config.offensive.frostqueen.frostqueen then local target = targetSelector(items[3092].range, DAMAGE_MAGICAL) if ValidTarget(target) then local CastPosition, HitChance = VP:GetCircularCastPosition(target, 0.25, 200, items[3092].range, 1200, myHero, false) if HitChance >= 2 and HitChance <= 5 then CastSpell(GetSlotItem(3092), CastPosition.x, CastPosition.z) end end end if GetSlotItem(3144) ~= nil and ItemReady(3144) and config.offensive.cutlass.cutlass then local target = targetSelector(items[3144].range, DAMAGE_MAGICAL) if ValidTarget(target) then if config.offensive.cutlass.cutlassKS and target.health < myHero:CalcDamage(target, 100) then CastSpell(GetSlotItem(3144), target) end if config.offensive.cutlass.cutlassCombo and isCombo() then CastSpell(GetSlotItem(3144), target) end end end if GetSlotItem(3142) ~= nil and ItemReady(3142) and config.offensive.youmus.youmus then local target = targetSelector(myHero.range, DAMAGE_PHYSICAL) if ValidTarget(target) and target.isAI == false then if config.offensive.youmus.youmusKS and target.health < (myHero.health * 0.6) and isCombo() then CastSpell(GetSlotItem(3142)) end if config.offensive.youmus.youmusCombo and isCombo() then CastSpell(GetSlotItem(3142)) end end end if config.offensive.hydra.hydra then if GetSlotItem(3074) ~= nil and ItemReady(3074) and CountEnemyHeroInRange(items[3074].range) > 0 then CastSpell(GetSlotItem(3074)) elseif GetSlotItem(3748) ~= nil and ItemReady(3748) and CountEnemyHeroInRange(items[3748].range) > 0 then CastSpell(GetSlotItem(3748)) end end end function Exhaust() if CanUseSummoner(summonerSpells.exhaust) and config.summoners.exhaust.exhaust then if config.summoners.exhaust.exhaustCombo and isCombo() then local target = targetSelector(650, DAMAGE_PHYSICAL) if ValidTarget(target) then CastSpell(summonerSpells.exhaust, target) end end end end function Ignite() if CanUseSummoner(summonerSpells.ignite) and config.summoners.ignite.ignite then local target = targetSelector(600, DAMAGE_TRUE) if ValidTarget(target) then local igniteDmg = 50+(myHero.level*20) if target.health <= igniteDmg and GetDistance(target) > 500 and CountEnemyHeroInRange(target, 500) < 2 then CastSpell(summonerSpells.ignite, target) end if target.health <= (2 * igniteDmg) then if target.lifeSteal > 10 then CastSpell(summonerSpells.ignite, target) end if TargetHaveBuff("RegenerationPotion", target) or TargetHaveBuff("ItemMiniRegenPotion", target) or TargetHaveBuff("ItemCrystalFlask", target) then CastSpell(summonerSpells.ignite, target) end if target.health > myHero.health then CastSpell(summonerSpells.ignite, target) end end end end end function Smite() if CanUseSummoner(summonerSpells.smite) and config.summoners.smite.smite then jungleMinions:update() local smiteDmg = smiteDamage[myHero.level] for _, mob in ipairs(jungleMinions.objects) do if ((mob.charName == "SRU_Dragon" and config.summoners.smite.smiteDrake) or (mob.charName == "SRU_Baron" and config.summoners.smite.smiteBaron) or (mob.charName == "SRU_Red" and config.summoners.smite.smiteRed) or (mob.charName == "SRU_Blue" and config.summoners.smite.smiteBlue)) and mob.health < smiteDmg then CastSpell(summonerSpells.smite, mob) end end end end --velkoz, yasuo, quinn, volibear, nocturne, shaco, cait, jinx, karma, maokai, nautilus, local suppression = { "suppression", "Suppression", "SkarnerImpale", "AlZaharNetherGrasp", "UrgotSwap2", "InfiniteDuress"} local stun = { "stun", "Stun", "SonaCrescendo", "CurseoftheSadMummy", "EnchantedCrystalArrow", "CassiopeiaPetrifyingGaze", "JaxCounterStrike", "KennenShurikenStorm", "LeonaSolarFlare", "NamiQ", "OrianaDetonateCommand", "Pantheon_LeapBash", "SejuaniGlacialPrisonStart", "ThreshQ", "VeigarEventHorizon", "Imbue", "GnarR"} local snare = { "snare", "Snare", "LuxLightBindingMis", "DarkBindingMissile", "LeblancSoulShackle", "SwainShadowGrasp", "VarusR", "ZyraGraspingRoots" } local blind = { "blind", "Blind", "Wither", "BlindingDart", "LuluWTwo" } local fear = { "fear", "Fear", "Terrify", "HecarimUlt"} local charm = { "charm", "Charm", "AhriSeduce" } local taunt = { "taunt", "Taunt", "PuncturingTaunt", "GalioIdolOfDurand"} function Cleanse() if not ItemReady(3140) and not ItemReady(3222) and not ItemReady(3139) and not ItemReady(3137) then return end if ((myHero.health / myHero.maxHealth) * 100) >= config.cleanse.cleanseHP then return end if TargetHaveBuff("zedrdeathmark") or TargetHaveBuff("FizzMarinerDoom") or TargetHaveBuff("MordekaiserChildrenOfTheGrave") or TargetHaveBuff("PoppyDiplomaticImmunity") or TargetHaveBuff("VladimirHemoplague") then DelayAction(function() UseCleanse() end, config.cleanse.cleanseDelay) end if config.cleanse.debuffs.suppression then for _, db in ipairs(suppression) do if TargetHaveBuff(db) then DelayAction(function() UseCleanse() end, config.cleanse.cleanseDelay) end end end if config.cleanse.debuffs.stun then for _, db in ipairs(stun) do if TargetHaveBuff(db) then DelayAction(function() UseCleanse() end, config.cleanse.cleanseDelay) end end end if config.cleanse.debuffs.blind then for _, db in ipairs(blind) do if TargetHaveBuff(db) then DelayAction(function() UseCleanse() end, config.cleanse.cleanseDelay) end end end if config.cleanse.debuffs.snare then for _, db in ipairs(snare) do if TargetHaveBuff(db) then DelayAction(function() UseCleanse() end, config.cleanse.cleanseDelay) end end end if myHero.isCharmed and config.cleanse.debuffs.charm then DelayAction(function() UseCleanse() end, config.cleanse.cleanseDelay) end if myHero.isFeared and config.cleanse.debuffs.fear then DelayAction(function() UseCleanse() end, config.cleanse.cleanseDelay) end if myHero.isTaunted and config.cleanse.debuffs.taunt then DelayAction(function() UseCleanse() end, config.cleanse.cleanseDelay) end end function UseCleanse() if ItemReady(3140) then CastSpell(GetSlotItem(3140)) elseif ItemReady(3222) then CastSpell(GetSlotItem(3222), myHero) elseif ItemReady(3139) then CastSpell(GetSlotItem(3139)) elseif ItemReady(3137) then CastSpell(GetSlotItem(3137)) end end function isCombo() return config.comboKey end function ItemReady(id) if GetSlotItem(id) ~= nil and myHero:CanUseSpell(GetSlotItem(id)) == READY then return true else return false end end function CanUseSummoner(ss) if ss ~= nil and myHero:CanUseSpell(ss) == READY then return true else return false end end function targetSelector(range, dmgType) local tarsel = TargetSelector(ts.mode, range, dmgType) tarsel:update() return tarsel.target end function loadSummonerSpells() for slot = SUMMONER_1, SUMMONER_2 do if myHero:GetSpellData(slot).name == "summonerheal" then summonerSpells.heal = slot elseif myHero:GetSpellData(slot).name == "summonerbarrier" then summonerSpells.barrier = slot elseif myHero:GetSpellData(slot).name == "summonerdot" then summonerSpells.ignite = slot elseif myHero:GetSpellData(slot).name == "summonerexhaust" then summonerSpells.exhaust = slot elseif myHero:GetSpellData(slot).name == "summonerflash" then summonerSpells.flash = slot elseif myHero:GetSpellData(slot).name == "summonersmite" or myHero:GetSpellData(slot).name == "itemsmiteaoe" or myHero:GetSpellData(slot).name == "s5_summonersmiteplayerganker" or myHero:GetSpellData(slot).name == "s5_summonersmitequick" or myHero:GetSpellData(slot).name == "s5_summonersmiteduel" then summonerSpells.smite = slot end end end function loadItemSlots() _G.ITEM_1 = 06 _G.ITEM_2 = 07 _G.ITEM_3 = 08 _G.ITEM_4 = 09 _G.ITEM_5 = 10 _G.ITEM_6 = 11 _G.ITEM_7 = 12 ___GetInventorySlotItem = rawget(_G, "GetInventorySlotItem") _G.GetInventorySlotItem = GetSlotItem end function GetSlotItem(id, unit) unit = unit or myHero if (not items[id]) then return ___GetInventorySlotItem(id, unit) end local name = items[id].name for slot = ITEM_1, ITEM_7 do local item = unit:GetSpellData(slot).name if ((#item > 0) and (item:lower() == name:lower())) then return slot end end end function menu() config = scriptConfig("NeXtGen Activator", "Activator") config:addParam("comboKey", "Combo key", SCRIPT_PARAM_ONKEYDOWN, false, 32) config:addParam("pots", "Use health and mana potions", SCRIPT_PARAM_ONOFF, true) config:addSubMenu("Summoners", "summoners") if summonerSpells.exhaust ~= nil then config.summoners:addSubMenu("Exhaust", "exhaust") config.summoners.exhaust:addParam("exhaust", "Use Exhaust", SCRIPT_PARAM_ONOFF, true) config.summoners.exhaust:addParam("exhaustCombo", "Always use Exhaust in combo", SCRIPT_PARAM_ONOFF, true) end if summonerSpells.heal ~= nil then config.summoners:addSubMenu("Heal", "heal") config.summoners.heal:addParam("heal", "Use Heal", SCRIPT_PARAM_ONOFF, true) config.summoners.heal:addParam("healAlly", "Use Heal on Ally", SCRIPT_PARAM_ONOFF, true) end if summonerSpells.barrier ~= nil then config.summoners:addSubMenu("Barrier", "barrier") config.summoners.barrier:addParam("barrier", "Use Barrier", SCRIPT_PARAM_ONOFF, true) end if summonerSpells.ignite ~= nil then config.summoners:addSubMenu("Ignite", "ignite") config.summoners.ignite:addParam("ignite", "Use Ignite", SCRIPT_PARAM_ONOFF, true) end if summonerSpells.smite ~= nil then config.summoners:addSubMenu("Smite", "smite") config.summoners.smite:addParam("smite", "Use auto Smite", SCRIPT_PARAM_ONOFF, true) config.summoners.smite:addParam("smiteDrake", "Smite Dragon", SCRIPT_PARAM_ONOFF, true) config.summoners.smite:addParam("smiteBaron", "Smite Baron", SCRIPT_PARAM_ONOFF, true) config.summoners.smite:addParam("smiteBlue", "Smite Blue", SCRIPT_PARAM_ONOFF, true) config.summoners.smite:addParam("smiteRed", "Smite Red", SCRIPT_PARAM_ONOFF, true) end config:addSubMenu("Offensive", "offensive") config.offensive:addSubMenu("Botrk", "botrk") config.offensive.botrk:addParam("botrk", "Use Botrk", SCRIPT_PARAM_ONOFF, true) config.offensive.botrk:addParam("botrkKS", "Use Botrk to KS", SCRIPT_PARAM_ONOFF, true) config.offensive.botrk:addParam("botrkLS", "Use Botrk to save life", SCRIPT_PARAM_ONOFF, true) config.offensive.botrk:addParam("botrkCombo", "Always use Botrk in combo", SCRIPT_PARAM_ONOFF, false) config.offensive:addSubMenu("Cutlass", "cutlass") config.offensive.cutlass:addParam("cutlass", "Use Cutlass", SCRIPT_PARAM_ONOFF, true) config.offensive.cutlass:addParam("cutlassKS", "Use Cutlass to KS", SCRIPT_PARAM_ONOFF, true) config.offensive.cutlass:addParam("cutlassCombo", "Always use Cutlass in combo", SCRIPT_PARAM_ONOFF, true) config.offensive:addSubMenu("Hextech", "hextech") config.offensive.hextech:addParam("hextech", "Use Hextech", SCRIPT_PARAM_ONOFF, true) config.offensive.hextech:addParam("hextechKS", "Use Hextech to KS", SCRIPT_PARAM_ONOFF, true) config.offensive.hextech:addParam("hextechCombo", "Always use Hextech in combo", SCRIPT_PARAM_ONOFF, true) config.offensive:addSubMenu("Youmus", "youmus") config.offensive.youmus:addParam("youmus", "Use Youmuus", SCRIPT_PARAM_ONOFF, true) config.offensive.youmus:addParam("youmusR", "Use Youmuus with certain spells", SCRIPT_PARAM_ONOFF, true) config.offensive.youmus:addParam("youmusKS", "Use Youmuus to KS", SCRIPT_PARAM_ONOFF, true) config.offensive.youmus:addParam("youmusCombo", "Always use Youmuus in combo", SCRIPT_PARAM_ONOFF, false) config.offensive:addSubMenu("Hydra", "hydra") config.offensive.hydra:addParam("hydra", "Use Hydra", SCRIPT_PARAM_ONOFF, true) config.offensive.hydra:addParam("hydraTitanic", "Use Hydra Titanic", SCRIPT_PARAM_ONOFF, true) config.offensive:addSubMenu("Muramana", "muramana") config.offensive.muramana:addParam("muramana", "Use Muramana", SCRIPT_PARAM_ONOFF, true) config.offensive:addSubMenu("Frost Queen", "frostqueen") config.offensive.frostqueen:addParam("frostqueen", "Use Frost Queen", SCRIPT_PARAM_ONOFF, true) config:addSubMenu("Defensive", "defensive") config.defensive:addParam("randuin", "Use Randuin's Omen", SCRIPT_PARAM_ONOFF, true) config.defensive:addParam("fotm", "Use Face Of The Mountain", SCRIPT_PARAM_ONOFF, true) config.defensive:addParam("zhonyas", "Use Zhonya's", SCRIPT_PARAM_ONOFF, true) config.defensive:addParam("seraphs", "Use Seraph's Embrace", SCRIPT_PARAM_ONOFF, true) config.defensive:addParam("solari", "Use Locket of Iron Solari", SCRIPT_PARAM_ONOFF, true) config:addSubMenu("Cleanse", "cleanse") config.cleanse:addParam("cleanse", "Use QSS, Mikael's, Mercurial, Dervish", SCRIPT_PARAM_ONOFF, true) config.cleanse:addParam("cleanseDelay", "Use cleanse after X seconds", SCRIPT_PARAM_SLICE, 0.1, 0, 0.5, 1) config.cleanse:addParam("cleanseHP", "Use cleanse under % hp", SCRIPT_PARAM_SLICE, 80, 0, 100, 0) config.cleanse:addSubMenu("Cleanse debuff types", "debuffs") config.cleanse.debuffs:addParam("stun", "Stun", SCRIPT_PARAM_ONOFF, true) config.cleanse.debuffs:addParam("snare", "Snare/Root", SCRIPT_PARAM_ONOFF, true) config.cleanse.debuffs:addParam("charm", "Charm", SCRIPT_PARAM_ONOFF, true) config.cleanse.debuffs:addParam("fear", "Fear", SCRIPT_PARAM_ONOFF, true) config.cleanse.debuffs:addParam("suppression", "Suppression", SCRIPT_PARAM_ONOFF, true) config.cleanse.debuffs:addParam("taunt", "Taunt", SCRIPT_PARAM_ONOFF, true) config.cleanse.debuffs:addParam("blind", "Blind / Polymorph", SCRIPT_PARAM_ONOFF, true) end --[[ ItemNames = { [3303] = "ArchAngelsDummySpell", [3007] = "ArchAngelsDummySpell", [3188] = "ItemBlackfireTorch", [3405] = "TrinketSweeperLvl1", [3411] = "TrinketOrbLvl1", [3166] = "TrinketTotemLvl1", [3450] = "OdinTrinketRevive", [2054] = "ItemKingPoroSnack", [2138] = "ElixirOfIron", [2137] = "ElixirOfRuin", [2139] = "ElixirOfSorcery", [2140] = "ElixirOfWrath", [3184] = "OdinEntropicClaymore", [2050] = "ItemMiniWard", [3363] = "TrinketOrbLvl3", [3460] = "AscWarp", [3361] = "TrinketTotemLvl3", [3362] = "TrinketTotemLvl4", [3159] = "HextechSweeper", [2051] = "ItemHorn", [3187] = "HextechSweeper", [3043] = "Muramana", [3180] = "OdynsVeil", [3056] = "ItemFaithShaker", [2047] = "OracleExtractSight", [3364] = "TrinketSweeperLvl3", [2052] = "ItemPoroSnack", [3800] = "ItemRighteousGlory", [2045] = "ItemGhostWard", [3342] = "TrinketOrbLvl1", [3048] = "ItemSeraphsEmbrace", [2049] = "ItemGhostWard", [3345] = "OdinTrinketRevive", [2044] = "SightWard", [3341] = "TrinketSweeperLvl1", [3069] = "shurelyascrest", [3599] = "KalistaPSpellCast", [3185] = "HextechSweeper", [2009] = "ItemMiniRegenPotion", [3023] = "ItemWraithCollar", [3290] = "ItemWraithCollar", [2043] = "VisionWard", [3340] = "TrinketTotemLvl1", [3090] = "ZhonyasHourglass", [3154] = "wrigglelantern", [3512] = "ItemVoidGate", [3131] = "ItemSoTD", [3352] = "RelicSpotter", [3350] = "TrinketTotemLvl2", }]]