--[[ Galio Combo 1.0 by burn -Combo: Q -> E -> W* -Target configuration, Press shift to configure -Option to autoignite killable enemy -Option to use R to stop enemy ultimates -Option to auto level up ****edited by Arthasdk to add Galio-Katarina WomboCombo***** ]] if myHero.charName ~= "Galio" then return end local minChamps=3 local Qrange = 940 local Erange = 1180 local ultirange = 570 local ignite = nil local QREADY, WREADY, EREADY, RREADY, IREADY = false, false, false, false, false --Q prediction local delay = 240 local speed = 1.4 --(speed increased on purpose) local travelDuration = 0 local predic = nil --E prediction local ep = TargetPrediction(1180, 1.4, 240) --(speed increased on purpose) function OnLoad() PrintChat(">> Galio Combo 1.5.1 loaded! (edited by Arthasdk to add Galio-Katarina WomboCombo)") GalioConfig = scriptConfig("Galio", "Galiocombo") GalioConfig:addParam("scriptActive", "Combo", SCRIPT_PARAM_ONKEYDOWN, false, string.byte("X")) GalioConfig:addParam("tryKataUlti", "K_ULTI", SCRIPT_PARAM_ONKEYDOWN, false, 32) GalioConfig:addParam("drawcircles", "Draw our range", SCRIPT_PARAM_ONOFF, true) GalioConfig:addParam("useW", "Use W if enemy is near", SCRIPT_PARAM_ONOFF, true) GalioConfig:addParam("autoignite", "Auto Ignite killable enemy", SCRIPT_PARAM_ONOFF, true) GalioConfig:permaShow("scriptActive") GalioConfig:permaShow("tryKataUlti") ts = TargetSelector(TARGET_LOW_HP,Erange,DAMAGE_MAGIC,false) ts.name = "Galio" GalioConfig:addTS(ts) if myHero:GetSpellData(SUMMONER_1).name:find("SummonerDot") then ignite = SUMMONER_1 elseif myHero:GetSpellData(SUMMONER_2).name:find("SummonerDot") then ignite = SUMMONER_2 end end function OnTick() ts:update() if GalioConfig.tryKataUlti then ts:update() local katarina=GetKatarina() -- if katarina ~= nil and GetEnemyChampsCount(ultirange) >= minChamps then if WREADY then CastSpell(_W, katarina) end if RREADY then CastSpell(_R) end end end if ts.target ~= nil then ePred = ep:GetPrediction(ts.target) --E prediction travelDuration = (delay + GetDistance(myHero, ts.target)/speed) ts:SetPrediction(travelDuration) predic = ts.nextPosition --Q prediction end QREADY = (myHero:CanUseSpell(_Q) == READY) WREADY = (myHero:CanUseSpell(_W) == READY) EREADY = (myHero:CanUseSpell(_E) == READY) RREADY = (myHero:CanUseSpell(_R) == READY) IREADY = (ignite ~= nil and myHero:CanUseSpell(ignite) == READY) if GalioConfig.autoignite then if IREADY then local ignitedmg = 0 for j = 1, heroManager.iCount, 1 do local enemyhero = heroManager:getHero(j) if ValidTarget(enemyhero,600) then ignitedmg = 50 + 20 * myHero.level if enemyhero.health <= ignitedmg then CastSpell(ignite, enemyhero) end end end end end if GalioConfig.scriptActive and ts.target ~= nil then ts:update() if QREADY and predic ~= nil and GetDistance(predic) <= Qrange then CastSpell(_Q, predic.x, predic.z) end if EREADY and ePred ~= nil and GetDistance(ePred) <= Erange then CastSpell(_E, ePred.x, ePred.z) end if GalioConfig.useW and WREADY and GetDistance(ts.target) <= 450 then CastSpell(_W, myHero) end if GetDistance(ts.target) < 165 then myHero:Attack(ts.target) end end end function OnDraw() if GalioConfig.drawcircles and not myHero.dead then DrawCircle(myHero.x, myHero.y, myHero.z, Qrange, 0xc2743c) DrawCircle(myHero.x, myHero.y, myHero.z, Erange, 0x9999FF) DrawCircle(myHero.x, myHero.y, myHero.z, ultirange, 0xFF6600) if ts.target ~= nil then DrawText("Targetting: " .. ts.target.charName, 15, 100, 100, 0xFFFF0000) DrawCircle(ts.target.x, ts.target.y, ts.target.z, 100, 0x00FF00) end end if GalioConfig.tryKataUlti then DrawCircle(myHero.x, myHero.y, myHero.z, ultirange, 0xFF6600) DrawText("MinChamps="..minChamps..", Number of Enemy Caught in Ultimate: " .. GetEnemyChampsCount(ultirange).." , Katarina there :"..tostring(IsKatarinaThere()), 20, 0, 200, 0xFFFF0000) end end function GetEnemyChampsCount(range) local count=0 for i=1, heroManager.iCount do local target = heroManager:GetHero(i) if target ~= nil and target.dead == false and target.team ~= player.team and target.visible == true and player:GetDistance(target) < range then--385 then count=count+1 end end return count end function GetKatarina() local katarina=nil for i=1, heroManager.iCount do local target = heroManager:GetHero(i) if target.charName == "Katarina" and target ~= nil and target.dead == false and target.team == player.team and player:GetDistance(target) < 720 then katarina=target end end return katarina end function IsKatarinaThere() if GetKatarina() then return true else return false end end function OnSendChat(msg) ts:OnSendChat(msg, "pri") end function OnWndMsg(msg,key) if IsKeyPressed(string.byte("I")) then minChamps=(minChamps+1)%6 PrintChat("Min Champs :"..minChamps) end end