Permalink
Find file
246994a Nov 7, 2016
4040 lines (3566 sloc) 190 KB
require "OpenPredict"
local ChampTable =
--Set = {"Kindred", "Zyra", "Poppy", "Elise", "Irelia", "Nidalee", "Riven", "Singed", "Olaf"}
{
["Kindred"] = true,
--["Zyra"] = true,
["Poppy"] = true,
["Elise"] = true,
["Irelia"] = true,
["Nidalee"] = true,
["Singed"] = true,
}
Callback.Add("Load", function()
if ChampTable[GetObjectName(myHero)] then
Start()
DickSelector()
SkinChanger()
Autolvl()
_G[GetObjectName(myHero)]()
if GetObjectName(myHero) ~= "Nidalee" then
DmgDraw()
end
require"Analytics"
Analytics("QWER-Series","Hanndel")
if GetCastName(myHero,4):lower():find("summonersmite") or GetCastName(myHero,5):lower():find("summonersmite") then
AutoSmite()
end
PrintChat("Welcome "..GetUser().." to QWER Series!")
PrintChat(GetObjectName(myHero).." Loaded!")
else
PrintChat(GetObjectName(myHero).." Is not supported!")
end
if GetObjectName(myHero) == "Kindred" or GetObjectName(myHero) == "Poppy" or GetObjectName(myHero) == "Nidalee" or GetObjectName(myHero) == "Gnar" then
require('MapPositionGOS')
end
end)
local ver = "0.5"
class "Start"
function Start:__init()
if GetUser() ~= "Hanndel" then
function AutoUpdate(data)
if tonumber(data) > tonumber(ver) then
PrintChat("New version found! " .. data)
PrintChat("Downloading update, please wait...")
DownloadFileAsync("https://raw.githubusercontent.com/Hanndel/GoS/master/QWER%20Series.lua", SCRIPT_PATH .. "QWER Series.lua", function() PrintChat("Update Complete, please 2x F6!") return end)
else
PrintChat("No updates found!")
end
end
GetWebResultAsync("https://raw.githubusercontent.com/Hanndel/GoS/master/QWER%20Series.version", AutoUpdate)
end
if not FileExist(COMMON_PATH.."Analytics.lua") then
DownloadFileAsync("https://raw.githubusercontent.com/LoggeL/GoS/master/Analytics.lua", COMMON_PATH .. "Analytics.lua", function() PrintChat("Analytics Downloaded, F6x2!") return end)
else
require"Analytics"
end
local myName = myHero.charName
ConfigMenu = MenuConfig("QWER Series", "QWER Series")
ConfigMenu:Menu("Champ", "QWER "..myName)
end
class "SkinChanger"
function SkinChanger:__init()
local Table =
{
["Kindred"] = {"Classic", "ShadowFire"},
["Zyra"] = {"Classic", "Wildire", "Haunted", "Skt"},
["Poppy"] = {"Classic", "Noxus", "Blacksmith", "Lollipoppy","Ragdoll", "Battle Regalia", "Scarlet Hammer"},
["Elise"] = {"Classic", "Death Blossom", "Victorious", "Blood Moon"},
["Irelia"] = {"Classic", "Nightblade", "Aviator", "Infiltrator", "Frostbutt", "Lotus"},
--["Nidalee"] = {"Classic", "Snow Bunny", "Leopard", "Hot Maid", "Pharaoh", "Bewitching", "HeadHunter", "Warring Kindomgs", "Challenger"}
}
if Table[GetObjectName(myHero)] then
ConfigMenu:Menu("SK", "Skinchanger")--
ConfigMenu.SK:DropDown("S", "SkinChanger", 1, Table[GetObjectName(myHero)], function() HeroSkinChanger(myHero, ConfigMenu.SK.S:Value() - 1) end)
end
end
class "Autolvl"
function Autolvl:__init()
ConfigMenu:Menu("AL", "Auto Lvl")
ConfigMenu.AL:DropDown("ALT", "Auto lvl table", 7, {"QWE", "QEW", "WQE", "WEQ", "EWQ", "EQW", "Off"})
self.Table2 =
{
[1] = {_Q,_W,_E,_Q,_Q,_R,_Q,_W,_Q,_W,_R,_W,_W,_E,_E,_R,_E,_E},
[2] = {_Q,_E,_W,_Q,_Q,_R,_Q,_E,_Q,_E,_R,_E,_E,_W,_W,_R,_W,_W},
[3] = {_W,_Q,_E,_W,_W,_R,_W,_Q,_W,_Q,_R,_Q,_Q,_E,_E,_R,_E,_E},
[4] = {_W,_E,_Q,_W,_W,_R,_W,_E,_W,_E,_R,_E,_E,_Q,_Q,_R,_Q,_Q},
[5] = {_E,_W,_Q,_E,_E,_R,_E,_W,_E,_W,_R,_W,_W,_Q,_Q,_R,_Q,_Q},
[6] = {_E,_Q,_W,_E,_E,_R,_E,_Q,_E,_Q,_R,_Q,_Q,_W,_W,_R,_W,_W},
}
OnTick(function(myHero) self:Autolvl(myHero) end)
end
function Autolvl:Autolvl(myHero)
if ConfigMenu.AL.ALT:Value() ~= 7 then
if GetLevelPoints(myHero) >= 1 then
--DelayAction(function() LevelSpell(self.Table2[ConfigMenu.AL.ALT:Value()][GetLevel(myHero) - GetLevelPoints(myHero) + 1]) end, math.random(1, 2))
end
end
end
class "AutoSmite"
function AutoSmite:__init()
self.Mobs =
{
[1] = {BaseName = "SRU_Baron", Name = "Baron"},
[2] = {BaseName = "SRU_Dragon_Water", Name = "Water Drake"},
[3] = {BaseName = "SRU_Dragon_Fire", Name = "Fire Drake"},
[4] = {BaseName = "SRU_Dragon_Earth", Name = "Earth Drake"},
[5] = {BaseName = "SRU_Dragon_Air", Name = "Air Drake"},
[6] = {BaseName = "SRU_Dragon_Elder", Name = "Elder Drake"},
[7] = {BaseName = "SRU_RiftHerald", Name = "Herald"},
[8] = {BaseName = "Sru_Crab", Name = "Crab"},
[9] = {BaseName = "SRU_Blue", Name = "Blue"},
[10] = {BaseName = "SRU_Red", Name = "Red"}
}
self.Smite = nil
self.SmiteDmgM = {[1] = 390, [2] = 410, [3] = 430, [4] = 450 ,[5] = 480, [6] = 510, [7] = 540, [8] = 570, [9] = 600, [10] = 640, [11] = 680, [12] = 720, [13] = 760, [14] = 800, [15] = 850, [16] = 900, [17] = 950, [18] = 1000}
self.SmiteHDmg = 20+8*GetLevel(myHero)
self.PacketTable = {[110] = true, [99] = true, [257] = true}
self.SmiteDMG = false
self.Table =
{
["Poppy"] =
{
AADmg = function(Unit) return CalcDamage(myHero,Unit,(GetBaseDamage(myHero)+GetBonusDmg(myHero))) end,
AADelay = function(Unit) return 0 end,
[0] =
{
Range = function(Unit) return 430 end,
Dmg = function(Unit) return CalcDamage(myHero, Unit, 15 + 20*GetCastLevel(myHero, 0) + GetBonusDmg(myHero)*0.8 + GetMaxHP(Unit)*0.007) end,
Delay = function(Unit) return 332 + GetLatency() end,
Cast = function(Unit) CastSkillShot(0, GetOrigin(Unit)) end,
},
},
["Elise"] =
{
AADmg = function(Unit) return CalcDamage(myHero,Unit,(GetBaseDamage(myHero)+GetBonusDmg(myHero))) end,
AADelay = function(Unit) return GetDistance(Unit)/2000 end,
[0] =
{
Dmg = function(Unit) if Spider then
return CalcDamage(myHero, Unit, 0, 5+35*GetCastLevel(myHero, 0)+(GetCurrentHP(Unit)*0.04)/100+0.03*GetBonusAP(myHero))
else
return CalcDamage(myHero, Unit, 0, 20+40*GetCastLevel(myHero, 0)+((GetMaxHP(Unit)-GetCurrentHP(Unit)*0.08)/100+0.03*GetBonusAP(myHero)))
end
end,
Delay = function(Unit) if Spider then
return GetDistance(Unit)/1200 + 250 + GetLatency()
else
return GetDistance(Unit)/3000 + 250 + GetLatency()
end
end,
Range = function(Unit) if Spider then
return 475
else
return 625
end
end,
Cast = function(Unit) CastTargetSpell(Unit, 0) end,
},
},
["Kindred"] =
{
AADmg = function(Unit) return CalcDamage(myHero,Unit,(GetBaseDamage(myHero)+GetBonusDmg(myHero))) end,
AADelay = function(Unit) return GetDistance(Unit)/2000 end,
},
["Irelia"] =
{
AADmg = function(Unit) return CalcDamage(myHero,Unit,(GetBaseDamage(myHero)+GetBonusDmg(myHero))) end,
AADelay = function(Unit) return 0 end,
[0] =
{
Range = function(Unit) return 650 end,
Dmg = function(Unit) return CalcDamage(myHero, Unit, -10+30*GetCastLevel(myHero, 0) + (GetBaseDamage(myHero) + GetBonusDmg(myHero))) end,
Delay = function(Unit) return GetDistance(Unit)/2000 end,
Cast = function(Unit) CastTargetSpell(Unit, 0) end,
},
[2] =
{
Range = function(Unit) return 425 end,
Dmg = function(Unit) return CalcDamage(myHero, Unit, 0, 40+40*GetCastLevel(myHero,_E)+GetBonusAP(myHero)*0.5) end,
Delay = function(Unit) return 500 + GetLatency() end,
Cast = function(Unit) CastTargetSpell(Unit, 2) end,
},
},
["Nidalee"] =
{
AADmg = function(Unit) return CalcDamage(myHero,Unit,(GetBaseDamage(myHero)+GetBonusDmg(myHero))) end,
AADelay = function(Unit) if Human then
return GetDistance(Unit)/1750
else
return 0
end
end,
[0] =
{
Range = function(Unit) if Human then
return 650
else
return 350
end
end,
Dmg = function(Unit) if Human then
local QHDmg = 42+17.5*GetCastLevel(myHero, 0) + GetBonusAP(myHero)*0.4
if QHDmg + GetDistance(Unit)/100*QHDmg*0.258 > QHDmg*3 then
return CalcDamage(myHero,Unit, 0, QHDmg*3)
else
return CalcDamage(myHero,Unit, 0, QHDmg + GetDistance(Unit)/100*QHDmg*0.258)
end
else
local QCDmg = {[1] = 4, [2] = 20, [3] = 50, [4] = 90}
local QCDmgM = {[1] = 1, [2] = 1.25, [3] = 1.5, [4] = 1.75}
local Multi = {[1] = 2, [2] = 2.25, [3] = 2.5, [4] = 2.75}
local Maths = QCDmg[GetCastLevel(myHero, 3)] + (GetBaseDamage(myHero)+GetBonusDmg(myHero))*0.75 + GetBonusAP(myHero)*0.36
if Maths + Maths*(QCDmgM[GetCastLevel(myHero, 3)] * (GetMaxHP(Unit) - GetCurrentHP(Unit)) / GetMaxHP(Unit)) > Maths*Multi[GetCastLevel(myHero, 3)] then
return CalcDamage(myHero, Unit, 0, Maths*Multi[GetCastLevel(myHero, 3)])
else
return CalcDamage(myHero, Unit, 0, Maths + Maths*(QCDmgM[GetCastLevel(myHero, 3)] * ((GetMaxHP(Unit) - GetCurrentHP(Unit)) / GetMaxHP(Unit)))*1.33)
end
end
end,
Delay = function(Unit) if Human then
return GetDistance(Unit)/1500
else
return 220 + GetLatency()
end
end,
Cast = function(Unit) if Human then
CastSkillShot(0, GetOrigin(Unit))
else
CastSpell(0) DelayAction(function() AttackUnit(Unit) end, 0.1)
end
end,
}
}
}
if GetCastName(myHero,4):lower():find("summonersmite") then
self.Smite = 4
elseif GetCastName(myHero,5):lower():find("summonersmite") then
self.Smite = 5
else
self.Smite = nil
end
if GetCastName(myHero,4) == "S5_SummonerSmitePlayerGanker" then
self.SmiteDMG = true
elseif GetCastName(myHero,5) == "S5_SummonerSmitePlayerGanker" then
self.SmiteDMG = true
else
self.SmiteDmg = false
end
ConfigMenu:Menu("AS", "Auto Smite")
ConfigMenu.AS:Boolean("ASE", "Auto Smite enable", true)
ConfigMenu.AS:SubMenu("ASM", "Mobs options")
for i = 1, #self.Mobs do
ConfigMenu.AS.ASM:Boolean("Pleb"..self.Mobs[i].BaseName, "AutoSmite "..self.Mobs[i].Name, true)
end
ConfigMenu.AS:Boolean("ASK", "AutoSmite ks", true)
ConfigMenu.AS:Boolean("ASQ", "Use Q", true)
ConfigMenu.AS:Boolean("ASW", "Use W", true)
ConfigMenu.AS:Boolean("ASEE", "Use E", true)
ConfigMenu.AS:Boolean("ASA", "AA Smite", true)
OnProcessPacket(function(Packet) self:Packets(Packet) end)
OnProcessSpell(function(Object, spellProc) self:OnProc(Object, spellProc) end)
OnTick(function(myHero) self:Tick(myHero) end)
end
function AutoSmite:Tick(myHero)
for k, v in ipairs(GetEnemyHeroes()) do
if GetCurrentHP(v) <= self.SmiteHDmg and ValidTarget(v, 500) and self.SmiteDMG and ConfigMenu.AS.ASK:Value() then
CastTargetSpell(self.Smite, v)
end
end
if ConfigMenu.AS.ASE:Value() and self.Table[GetObjectName(myHero)] ~= nil then
for k, i in ipairs(minionManager.objects) do
for v = 1, #self.Mobs do
if self.Table[GetObjectName(myHero)][0] ~= nil and ConfigMenu.AS.ASQ:Value() then
if GetObjectName(i) == self.Mobs[v].BaseName and ConfigMenu.AS.ASM["Pleb"..self.Mobs[v].BaseName]:Value() and GetDistance(i) <= self.Table[GetObjectName(myHero)][0].Range(i) and Ready(0) and Ready(self.Smite) then
if GetCurrentHP(i) <= self.Table[GetObjectName(myHero)][0].Dmg(i) + self.SmiteDmgM[GetLevel(myHero)] then
self.Table[GetObjectName(myHero)][0].Cast(i)
DelayAction(function() CastTargetSpell(i, self.Smite) end, self.Table[GetObjectName(myHero)][0].Delay(i)/1000)
end
end
end
if self.Table[GetObjectName(myHero)][1] ~= nil and ConfigMenu.AS.ASW:Value() then
if GetObjectName(i) == self.Mobs[v].BaseName and ConfigMenu.AS.ASM["Pleb"..self.Mobs[v].BaseName]:Value() and GetDistance(i) <= self.Table[GetObjectName(myHero)][0].Range(i) and Ready(1) and Ready(self.Smite) then
if GetCurrentHP(i) <= self.Table[GetObjectName(myHero)][0].Dmg(i) + self.SmiteDmgM[GetLevel(myHero)] then
self.Table[GetObjectName(myHero)][0].Cast(i)
DelayAction(function() CastTargetSpell(i, self.Smite) end, self.Table[GetObjectName(myHero)][0].Delay(i)/1000)
end
end
end
if self.Table[GetObjectName(myHero)][2] ~= nil and ConfigMenu.AS.ASEE:Value() then
if GetObjectName(i) == self.Mobs[v].BaseName and ConfigMenu.AS.ASM["Pleb"..self.Mobs[v].BaseName]:Value() and GetDistance(i) <= self.Table[GetObjectName(myHero)][0].Range(i) and Ready(2) and Ready(self.Smite) then
if GetCurrentHP(i) <= self.Table[GetObjectName(myHero)][0].Dmg(i) + self.SmiteDmgM[GetLevel(myHero)] then
self.Table[GetObjectName(myHero)][0].Cast(i)
DelayAction(function() CastTargetSpell(i, self.Smite) end, self.Table[GetObjectName(myHero)][0].Delay(i)/1000)
end
end
end
end
end
end
end
function AutoSmite:OnProc(Object, spellProc)
if self.Table[GetObjectName(myHero)] ~= nil and Object == myHero then
if spellProc.name:lower():find("attack") then
if Ready(self.Smite) then
for v = 1, #self.Mobs do
if GetObjectName(spellProc.target) == self.Mobs[v].BaseName and ConfigMenu.AS.ASM["Pleb"..self.Mobs[v].BaseName]:Value() then
if GetCurrentHP(spellProc.target) <= self.Table[GetObjectName(myHero)].AADmg(spellProc.target) + self.SmiteDmgM[GetLevel(myHero)] then
DelayAction(function() CastTargetSpell(spellProc.target, self.Smite) end, self.Table[GetObjectName(myHero)].AADelay(spellProc.target) + spellProc.windUpTime)
end
end
end
end
end
end
end
function AutoSmite:Packets(Packet)
if self.PacketTable[Packet.header] then
if Packet:Decode4() == GetNetworkID(myHero) then
if GetCastName(myHero,4) == "S5_SummonerSmitePlayerGanker" then
self.SmiteDMG = true
elseif GetCastName(myHero,5) == "S5_SummonerSmitePlayerGanker" then
self.SmiteDMG = true
else
self.SmiteDmg = false
end
end
end
end
class "DickSelector"
function DickSelector:__init()
self.Table =
{
[5] = Set {"Alistar", "Amumu", "Blitzcrank", "Braum", "ChoGath", "DrMundo", "Garen", "Gnar", "Hecarim", "JarvanIV", "Leona", "Lulu", "Malphite", "Nasus", "Nautilus", "Nunu", "Olaf", "Rammus", "Renekton", "Sejuani", "Shen", "Shyvana", "Singed", "Sion", "Skarner", "Taric", "Thresh", "Volibear", "Warwick", "MonkeyKing", "Yorick", "Zac"},
[4] = Set {"Aatrox", "Darius", "Elise", "Evelynn", "Galio", "Gangplank", "Gragas", "Irelia", "Jax","LeeSin", "Maokai", "Morgana", "Nocturne", "Pantheon", "Poppy", "Rengar", "Rumble", "Ryze", "Swain","Trundle", "Tryndamere", "Udyr", "Urgot", "Vi", "XinZhao", "RekSai"},
[3] = Set {"Akali", "Diana", "Fiddlesticks", "Fiora", "Fizz", "Heimerdinger", "Janna", "Jayce", "Kassadin","Kayle", "KhaZix", "Lissandra", "Mordekaiser", "Nami", "Nidalee", "Riven", "Shaco", "Sona", "Soraka", "TahmKench", "Vladimir", "Yasuo", "Zilean", "Zyra"},
[2] = Set {"Ahri", "Anivia", "Annie", "Brand", "Cassiopeia", "Ekko", "Karma", "Karthus", "Katarina", "Kennen", "LeBlanc", "Lux", "Malzahar", "MasterYi", "Orianna", "Syndra", "Talon", "TwistedFate", "Veigar", "VelKoz", "Viktor", "Xerath", "Zed", "Ziggs", "Taliyah" },
[1] = Set {"Ashe", "Caitlyn", "Corki", "Draven", "Ezreal", "Graves", "Jinx", "Kalista", "KogMaw", "Lucian", "MissFortune", "Quinn", "Sivir", "Teemo", "Tristana", "Twitch", "Varus", "Vayne", "Jhin", },
}
ConfigMenu:Menu("T", "TargetSelector")
ConfigMenu.T:DropDown("ts", "Select Mode", 1, {"Closest", "Closest to mouse", "Most AP", "Most AD", "Lowest Health", "Less Cast", "Priority"},
function()
if ConfigMenu.T.ts:Value() == 7 then
DelayAction(function()
for k, v in ipairs(GetEnemyHeroes()) do
ConfigMenu.T:Slider(GetObjectName(v), "Priority: "..GetObjectName(v), (self.Table[5][GetObjectName(v)] and 5 or self.Table[4][GetObjectName(v)] and 4 or self.Table[3][GetObjectName(v)] and 3 or self.Table[2][GetObjectName(v)] and 2 or self.Table[1][GetObjectName(v)] and 1 or 1), 1, 5, 1)
end
end, 0.1)
elseif ConfigMenu.T.ts:Value() ~= 7 then
print("F6x2")
end
end)
end
function DickSelector:Targets(Distance)
if ConfigMenu.T.ts:Value() == 1 then
local closest = nil
for _, enemies in pairs(GetEnemyHeroes()) do
if ValidTarget(enemies, Distance) then
if not closest and enemies then
closest = enemies
end
if GetDistance(enemies) < GetDistance(closest) then
closest = enemies
end
end
end
return closest
elseif ConfigMenu.T.ts:Value() == 2 then
local closest = nil
for _, enemies in pairs(GetEnemyHeroes()) do
if ValidTarget(enemies, Distance) then
if not closest and enemies then
closest = enemies
end
if GetDistance(enemies, GetMousePos()) <= GetDistance(closest, GetMousePos()) then
closest = enemies
end
end
end
return closest
elseif ConfigMenu.T.ts:Value() == 3 then
local MostAp = nil
for _, enemies in pairs(GetEnemyHeroes()) do
if ValidTarget(enemies, Distance) then
if not MostAp and enemies then
MostAp = enemies
end
if GetBonusAP(enemies) > GetBonusAP(MostAp) then
MostAp = enemies
end
end
end
return MostAp
elseif ConfigMenu.T.ts:Value() == 4 then
local MostAD = nil
for _, enemies in pairs(GetEnemyHeroes()) do
if ValidTarget(enemies, Distance) then
if not MostAD and enemies then
MostAD = enemies
end
if (GetBaseDamage(enemies) + GetBonusDmg(enemies)) > (GetBaseDamage(MostAD) + GetBonusDmg(MostAD)) then
MostAD = enemies
end
end
end
return MostAD
elseif ConfigMenu.T.ts:Value() == 5 then
local Lowest = nil
for _, enemies in pairs(GetEnemyHeroes()) do
if ValidTarget(enemies, Distance) then
if not Lowest and enemies then
Lowest = enemies
end
if GetCurrentHP(enemies) > GetCurrentHP(Lowest) then
Lowest = enemies
end
end
end
return Lowest
elseif ConfigMenu.T.ts:Value() == 6 then
local LessCast = nil
for _, enemies in pairs(GetEnemyHeroes()) do
if ValidTarget(enemies, Distance) then
if LessCast == nil and enemies then
LessCast = enemies
end
if GetCurrentHP(enemies)/CalcDamage(myHero, enemies, 50, 50) < GetCurrentHP(LessCast)/CalcDamage(myHero, enemies, 50, 50) then
LessCast = enemies
end
end
end
return LessCast
elseif ConfigMenu.T.ts:Value() == 7 then
local target = nil
for _, enemies in pairs(GetEnemyHeroes()) do
if ConfigMenu.T[GetObjectName(enemies)] then
if ValidTarget(enemies, Distance) then
if not target and enemies then
target = enemies
end
if ConfigMenu.T[GetObjectName(target)]:Value() > ConfigMenu.T[GetObjectName(enemies)]:Value() then
target = enemies
end
end
end
end
end
end
class "Zyra"
function Zyra:__init()
self.Spells =
{
[0] = { delay = 0.7, speed = math.huge, width = 200, range = 800, radius = 420, mana = function() return 70+5*GetCastLevel(myHero, 0) end},
[2] = { delay = 0.25, speed = 1150, width = 70, range = 1100, mana = function() return 65+5*GetCastLevel(myHero, 2) end},
[3] = { delay = 1, speed = math.huge, width = 500, range = 700, radius = 500, mana = function() return 80+20*GetCastLevel(myHero, 3) end}
}
Dmg =
{
[0] = function(Unit) return CalcDamage(myHero, Unit, 0, 35+GetCastLevel(myHero, 0)*35+GetBonusAP(myHero)*0.65) end,
[2] = function(Unit) return CalcDamage(myHero, Unit, 0, 25+GetCastLevel(myHero, 2)*35+GetBonusAP(myHero)*0.50) end,
[3] = function(Unit) return CalcDamage(myHero, Unit, 0, 95+GetCastLevel(myHero, 3)*85+GetBonusAP(myHero)*0.70) end,
}
self.QPoint = nil
self.EPoint = nil
self.Ignite = nil
if GetCastName(myHero, SUMMONER_1):lower():find("summonerdot") then
self.Ignite = SUMMONER_1
elseif GetCastName(myHero, SUMMONER_2):lower():find("summonerdot") then
self.Ignite = SUMMONER_2
else
self.Ignite = nil
end
self.Target = nil
self.DebuffTable = {5, 8, 11, 21, 22, 24, 28, 29, 30}
self.IsTargetFucked = false
self.Seeds = {}
ConfigMenu.Champ:Menu("C", "Combo")
ConfigMenu.Champ.C:Boolean("Q", "Use Q", true)
ConfigMenu.Champ.C:Boolean("W", "Use W", true)
ConfigMenu.Champ.C:Boolean("E", "Use E", true)
ConfigMenu.Champ.C:Boolean("R", "Use R", true)
ConfigMenu.Champ.C:Slider("ER", "Enemies to R", 3, 1, 5)
ConfigMenu.Champ:Menu("H", "Harass")
ConfigMenu.Champ.H:Boolean("Q", "Use Q", true)
ConfigMenu.Champ.H:Boolean("E", "Use E", true)
ConfigMenu.Champ:Menu("LC", "LaneClear")
ConfigMenu.Champ.LC:Boolean("Q", "Use Q", true)
ConfigMenu.Champ.LC:Boolean("E", "Use E", true)
ConfigMenu.Champ.LC:Slider("SLC", "Seeds for LaneClear", 2, 1, 8)
ConfigMenu.Champ:Menu("KS", "KillSteal")
ConfigMenu.Champ.KS:Boolean("Q", "Use Q", true)
ConfigMenu.Champ.KS:Boolean("E", "Use E", true)
ConfigMenu.Champ.KS:Boolean("R", "Use R", true)
if self.Ignite ~= nil then
ConfigMenu.Champ.KS:Boolean("IG", "Use Ignite", true)
end
ConfigMenu.Champ:Menu("SO", "Seed Options")
ConfigMenu.Champ.SO:Boolean("QS", "Logic Q Seeds?", true)
ConfigMenu.Champ.SO:SubMenu("QSM", "No logic seeds Q")
ConfigMenu.Champ.SO.QSM:Slider("QSM", "Seeds to use in Q?", 1, 1, 2)
ConfigMenu.Champ.SO.QSM:Slider("DTS", "Distance to 2 seeds", 1, 500, 850)
ConfigMenu.Champ.SO.QSM:Info("a", "Desactivate Logic Q Seeds")
ConfigMenu.Champ.SO:Boolean("ES", "Logic E Seeds?", true)
ConfigMenu.Champ.SO:SubMenu("ESM", "No logic seeds E")
ConfigMenu.Champ.SO.ESM:Slider("ESM", "Seeds to use in E?", 1, 1, 2)
ConfigMenu.Champ.SO.ESM:Info("a", "Desactivate Logic E Seeds")
ConfigMenu.Champ:Menu("Orb", "Hotkeys")
ConfigMenu.Champ.Orb:KeyBinding("C", "Combo", string.byte(" "), false)
ConfigMenu.Champ.Orb:KeyBinding("H", "Harass", string.byte("C"), false)
ConfigMenu.Champ.Orb:KeyBinding("LC", "LaneClear", string.byte("V"), false)
ConfigMenu.Champ:Menu("HC", "Hit chance")
ConfigMenu.Champ.HC:Slider("Q", "Q Predict", 20, 1, 100)
ConfigMenu.Champ.HC:Slider("E", "E Predict", 20, 1, 100)
ConfigMenu.Champ.HC:Slider("R", "R Predict", 20, 1, 100)
ConfigMenu.Champ:Menu("D", "Draw")
--[[ConfigMenu.Champ.D:SubMenu("DD", "Draw Damage")
ConfigMenu.Champ.D.DD:Boolean("D", "Draw?", true)
ConfigMenu.Champ.D.DD:Boolean("DQ", "Draw Q dmg", true)
ConfigMenu.Champ.D.DD:Boolean("DE", "Draw E dmg", true)
ConfigMenu.Champ.D.DD:Boolean("DR", "Draw R dmg", true)]]
ConfigMenu.Champ.D:SubMenu("DR", "Draw Range")
ConfigMenu.Champ.D.DR:Boolean("D", "Draw?", true)
ConfigMenu.Champ.D.DR:Boolean("DQ", "Draw Q range", true)
ConfigMenu.Champ.D.DR:Boolean("DE", "Draw E range", true)
ConfigMenu.Champ.D.DR:Boolean("DR", "Draw R range", true)
ConfigMenu.Champ.D.DR:Slider("DH", "Quality", 155, 1, 475)
OnTick(function(myHero) self:Tick() end)
OnDraw(function(myHero) self:Draw() end)
OnProcessSpell(function(Object, spellProc) self:OnProc(Object, spellProc) end)
OnUpdateBuff(function(Object, buff) self:Onupdate(Object, buff) end)
OnRemoveBuff(function(Object, buff) self:Onremove(Object, buff) end)
OnCreateObj(function(Object) self:OnCreate(Object) end)
OnDeleteObj(function(Object) self:OnDelete(Object) end)
OnAggro(function(unit, flag) self:OnAggro(unit, flag) end)
end
function Zyra:Tick()
self.Target = DickSelector:Targets(1000)
if not IsDead(myHero)then
if self.Target ~= nil then
if ConfigMenu.Champ.Orb.C:Value() then
self:Combo(self.Target)
end
if ConfigMenu.Champ.Orb.H:Value() then
self:Harass(self.Target)
end
end
if ConfigMenu.Champ.Orb.LC:Value() then
self:LaneClear()
end
self:Ks()
end
Autolvl:Autolvl(myHero)
end
function Zyra:OnAggro(unit, flag)
if unit and flag then
print(unit)
print(flag)
end
end
function Zyra:Draw()
if ConfigMenu.Champ.D.DR.D:Value() then
if ConfigMenu.Champ.D.DR.DQ:Value() and Ready(0) then
DrawCircle(GetOrigin(myHero), 800, 1, ConfigMenu.Champ.D.DR.DH:Value(), GoS.Red)
end
if ConfigMenu.Champ.D.DR.DE:Value() and Ready(2) then
DrawCircle(GetOrigin(myHero), 1100, 1, ConfigMenu.Champ.D.DR.DH:Value(), GoS.Blue)
end
if ConfigMenu.Champ.D.DR.DR:Value() and Ready(3) then
DrawCircle(GetOrigin(myHero), 700, 1, ConfigMenu.Champ.D.DR.DH:Value(), GoS.Pink)
end
end
end
function Zyra:Combo(Target)
if ConfigMenu.Champ.C.Q:Value() and (not Ready(2) or not ConfigMenu.Champ.C.E:Value()) then
self:CastQ(Target)
end
if ConfigMenu.Champ.C.E:Value() then
self:CastE(Target)
end
if ConfigMenu.Champ.C.R:Value() then
self:CastR(Target)
end
end
function Zyra:Harass(Target)
if ConfigMenu.Champ.C.Q:Value() then
self:CastQ(Target)
end
if ConfigMenu.Champ.C.E:Value() then
self:CastE(Target)
end
end
function Zyra:LaneClear()
local BestPos, BestHit = self:BestFarmPos(self.Spells[0].range, self.Spells[0].width, self.Seeds)
for _, mob in pairs(minionManager.objects) do
if ValidTarget(mob, 850) then
if ConfigMenu.Champ.LC.Q:Value() and Ready(0) then
if BestHit >= ConfigMenu.Champ.LC.SLC:Value() and BestPos then
CastSkillShot(0, BestPos)
elseif BestHit <= ConfigMenu.Champ.LC.SLC:Value() and BestPos then
CastSkillShot(0, GetOrigin(mob))
end
end
end
if ValidTarget(mob, 1100) then
if ConfigMenu.Champ.LC.E:Value() and Ready(2) then
CastSkillShot(2, GetOrigin(mob))
end
end
end
end
function Zyra:Ks()
for _, enemy in pairs(GetEnemyHeroes()) do
if ConfigMenu.Champ.KS.Q:Value() and (GetCurrentHP(enemy)+GetDmgShield(enemy)) < Dmg[0](enemy) then
self:CastQ(enemy)
end
if ConfigMenu.Champ.KS.E:Value() and (GetCurrentHP(enemy)+GetDmgShield(enemy)) < Dmg[2](enemy) then
self:CastE(enemy)
end
if ConfigMenu.Champ.KS.Q:Value() and (GetCurrentHP(enemy)+GetDmgShield(enemy)) < Dmg[0](enemy)+Dmg[2](enemy) then
self:CastE(enemy)
DelayAction(function() self:CastQ(enemy) end, GetDistance(enemy)/1500)
end
if self.Ignite ~= nil then
if Ready(self.Ignite) and ValidTarget(enemy, 500) and GetCurrentHP(enemy)+GetHPRegen(enemy)*3 <= 50+GetLevel(myHero)*20 then
CastTargetSpell(enemy, self.Ignite)
end
end
end
end
function Zyra:CastQ(Unit)
local Q = GetCircularAOEPrediction(Unit, self.Spells[0])
if Ready(0) and ValidTarget(Unit, 800) and not ECast and Q.hitChance >= (ConfigMenu.Champ.HC.Q:Value())/100 and Q then
CastSkillShot(0, Q.castPos)
QCast = true
DelayAction(function() QCast = false end, 0.5)
end
end
function Zyra:CastW(Point, Spell)
local q = 0
local e = 0
if self.IsTargetFucked and Ready(1) and ValidTarget(self.Target, 800) and Spell == GetCastName(myHero, 0) and ConfigMenu.Champ.SO.QS:Value() then
CastSkillShot(1, Point)
DelayAction(function() CastSkillShot(1, Point) end, 0.5)
elseif not self.IsTargetFucked and Ready(0) and ValidTarget(self.Target, 800) and GetDistance(self.Target) >= ConfigMenu.Champ.SO.QSM.DTS:Value() and Spell == GetCastName(myHero, 0) and ConfigMenu.Champ.SO.QS:Value() then
CastSkillShot(1, Point)
elseif not self.IsTargetFucked and Ready(0) and ValidTarget(self.Target, 800) and GetDistance(self.Target) <= ConfigMenu.Champ.SO.QSM.DTS:Value() and Spell == GetCastName(myHero, 0) and ConfigMenu.Champ.SO.QS:Value() then
CastSkillShot(1, Point)
DelayAction(function() CastSkillShot(1, Point) end, 0.5)
elseif Ready(1) and ValidTarget(self.Target, 800) and Spell == GetCastName(myHero, 0) and ConfigMenu.Champ.SO.QS:Value() == false then
CastSkillShot(1, Point)
q = q+1
DelayAction(function()
if q < ConfigMenu.Champ.SO.QSM.QSM:Value() then
CastSkillShot(1, Point)
q = q+1
if q == ConfigMenu.Champ.SO.QSM.QSM:Value() then
q = 0
end
else
q = 0
end
end, 0.5)
elseif Ready(1) and ValidTarget(self.Target, 800) and Spell == GetCastName(myHero, 0) and ConfigMenu.Champ.SO.QS:Value() == false then
CastSkillShot(1, Point)
q = q+1
DelayAction(function()
if q < ConfigMenu.Champ.SO.QSM.QSM:Value() then
CastSkillShot(1, Point)
q = q+1
if q == ConfigMenu.Champ.SO.QSM.QSM:Value() then
q = 0
end
else
q = 0
end
end, 0.5)
end
if Ready(1) and ValidTarget(self.Target, 800) and Spell == GetCastName(myHero, 2) and ConfigMenu.Champ.SO.ES:Value() then
CastSkillShot(1, Point)
elseif Ready(1) and ValidTarget(self.Target, 800) and Spell == GetCastName(myHero, 2) and ConfigMenu.Champ.SO.ES:Value() == false then
CastSkillShot(1, Point)
e = e+1
DelayAction(function()
if e < ConfigMenu.Champ.SO.ESM.ESM:Value() then
CastSkillShot(1, Point)
e = e+1
if e == ConfigMenu.Champ.SO.ESM.ESM:Value() then
e = 0
end
else
e = 0
end
end, 0.5)
end
end
function Zyra:CastE(Unit)
local E = GetPrediction(Unit, self.Spells[2])
if Ready(2) and ValidTarget(Unit, 1100) and not QCast and E.hitChance >= (ConfigMenu.Champ.HC.E:Value())/100 and E then
CastSkillShot(2, E.castPos)
ECast = true
DelayAction(function() ECast = false end, GetDistance(self.Target)/self.Spells[3].speed)
end
end
function Zyra:CastR(Unit)
local R = GetCircularAOEPrediction(Unit, self.Spells[3])
if Ready(3) and ValidTarget(Unit, 700) and R.hitChance >= (ConfigMenu.Champ.HC.R:Value())/100 and EnemiesAround(myHero, 1000) <= 2 and R then
CastSkillShot(3, R.castPos)
elseif Ready(3) and ValidTarget(Unit, 700) and EnemiesAround(myHero, 1000) >= 2 then
local BestRPos, BestRHit = self:BestRPos()
if BestRPos and BestRHit >= ConfigMenu.Champ.C.ER:Value() then
CastSkillShot(3, BestRPos)
end
end
end
function Zyra:OnProc(Object, spellProc)
local EPos = nil
if Object == myHero then
if ConfigMenu.Champ.Orb.C:Value() and self.Target ~= nil then
DelayAction(function()
if spellProc.name == GetCastName(myHero, 0) then
self:CastW(spellProc.endPos, GetCastName(myHero, 0))
elseif spellProc.name == GetCastName(myHero, 2) then
if ConfigMenu.Champ.Orb.C:Value() and self.Spells[2].range < GetCastRange(myHero, 1) then
EPos = GetOrigin(myHero) + Vector(Vector(spellProc.endPos) - Vector(spellProc.startPos)):normalized()*GetDistance(self.Target)
self:CastW(EPos, GetCastName(myHero, 2))
end
end
end, 0.1)
end
end
end
function Zyra:Onupdate(Object, buffProc)
if self.Target ~= nil then
if Object.Name == GetObjectName(self.Target) then
for i, buffs in pairs(self.DebuffTable) do
if buffProc.Type == buffs then
self.IsTargetFucked = true
end
end
end
end
end
function Zyra:Onremove(Object, buffProc)
if self.Target ~= nil then
if Object.Name == GetObjectName(self.Target) then
for i, buffs in pairs(self.DebuffTable) do
if buffProc.Type == buffs then
self.IsTargetFucked = false
end
end
end
end
end
function Zyra:OnCreate(Object)
if Object and GetObjectBaseName(Object) == "Zyra_Base_W_Seed_Indicator.troy" then
table.insert(self.Seeds, #self.Seeds+1, Object)
end
end
function Zyra:OnDelete(Object)
if Object and GetObjectBaseName(Object) == "Zyra_Base_W_Seed_Indicator.troy" then
table.remove(self.Seeds, 1)
end
end
function Zyra:BestRPos() -- Modded from Inspired lib
local BestRPos
local BestRHit = 0
for i, enemies in pairs(GetEnemyHeroes()) do
if GetOrigin(enemies) ~= nil and ValidTarget(enemies, 700) then
local hit = EnemiesAround(GetOrigin(enemies), 500)
if hit > BestHit and GetDistance(enemies) < 700 then
BestRHit = hit
BestRPos = Vector(enemies)
if BestHit == #GetEnemyHeroes() then
break
end
end
end
end
return BestRPos, BestRHit
end
function Zyra:BestFarmPos() -- Modded from Inspired lib
--[[local BestPos
local BestHit = 0
for i, object in pairs(self.Seeds) do
if GetOrigin(object) ~= nil and Object then
local k = GetOrigin(Object) - Vector(Vector(GetOrigin(myHero)) + Vector(GetOrigin(object))):perpendicular():normalized()*X
local v = GetOrigin(Object) - Vector(Vector(GetOrigin(myHero)) + Vector(GetOrigin(object))):perpendicular2():normalized()*X
local w = self:CountObjectsOnLineSegment(K, v, 200?, object)
end
end
return BestPos, BestHit]]
end
function Zyra:CountObjectsOnLineSegment(StartPos, EndPos, width, objects, team)
local n = 0
if object ~= nil and object.valid then
local pointSegment, pointLine, isOnSegment = VectorPointProjectionOnLineSegment(StartPos, EndPos, GetOrigin(object))
local w = width
if isOnSegment and GetDistanceSqr(pointSegment, GetOrigin(object)) < w^2 and GetDistanceSqr(StartPos, EndPos) > GetDistanceSqr(StartPos, GetOrigin(object)) then
n = n + 1
end
end
return n
end
class "Kindred"
function Kindred:__init()
self.Spells =
{
[0] = {range = 500, dash = 340, mana = 35},
[1] = {range = 800, duration = 8, mana = 40},
[2] = {range = 500, mana = 70, mana = 70},
[3] = {range = 500, mana = 100},
}
Dmg =
{
[0] = function(Unit) return CalcDamage(myHero, Unit, 35+20*GetCastLevel(myHero, 0)+(GetBaseDamage(myHero) + GetBonusDmg(myHero))*0.20+5*self.Passive) end,
[1] = function(Unit) if GetTeam(Unit) == MINION_ENEMY then
return CalcDamage(myHero, Unit, 20+5*GetCastLevel(myHero, 1)+(GetBaseDamage(myHero) + GetBonusDmg(myHero))*0.40+self:PassiveDmg(Unit))
else
return CalcDamage(myHero, Unit, (20+5*GetCastLevel(myHero, 1)+(GetBaseDamage(myHero) + GetBonusDmg(myHero))*0.40+self:PassiveDmg(Unit)*0.40)*1.5)
end
end,
[2] = function(Unit) if GetTeam(Unit) == MINION_JUNGLE and CalcDamage(myHero, Unit, 30+30*GetCastLevel(myHero, 2)+(GetBaseDamage(myHero) + GetBonusDmg(myHero))*0.20+GetMaxHP(Unit)*0.05) > 300 then
return CalcDamage(myHero, Unit, 300)
else
return CalcDamage(myHero, Unit, 30+30*GetCastLevel(myHero, 2)+(GetBaseDamage(myHero) + GetBonusDmg(myHero))*0.20+GetMaxHP(Unit)*0.05)
end
end,
}
self.BaseAS = GetBaseAttackSpeed(myHero)
self.AAPS = self.BaseAS*GetAttackSpeed(myHero)
self.WolfAA = self.Spells[1].duration*self.AAPS
basePos = Vector(0,0,0)
if GetTeam(myHero) == 100 then
basePos = Vector(415,182,415)
else
basePos = Vector(14302,172,14387.8)
end
self.Recalling = false
self.Farsight = false
self.Passive = 0
OnTick(function(myHero) self:Tick() end)
OnDraw(function(myHero) self:Draw() end)
OnProcessSpellComplete(function(unit, spell) self:OnProcComplete(unit, spell) end)
self.Flash = (GetCastName(myHero, SUMMONER_1):lower():find("summonerflash") and SUMMONER_1 or (GetCastName(myHero, SUMMONER_2):lower():find("summonerflash") and SUMMONER_2 or nil)) -- Ty Platy
self.target = nil
pos = {pos = nil, pos2 = nil}
ConfigMenu.Champ:Menu("Combo", "Combo")
ConfigMenu.Champ.Combo:Boolean("Q", "Use Q", true)
ConfigMenu.Champ.Combo:Boolean("W", "Use W", true)
ConfigMenu.Champ.Combo:Boolean("E", "Use E", true)
ConfigMenu.Champ.Combo:Boolean("QE", "Gapcloser", true)
ConfigMenu.Champ:Menu("JunglerClear", "JunglerClear")
ConfigMenu.Champ.JunglerClear:Boolean("Q", "Use Q", true)
ConfigMenu.Champ.JunglerClear:Boolean("W", "Use W", true)
ConfigMenu.Champ.JunglerClear:Boolean("E", "Use E", true)
ConfigMenu.Champ.JunglerClear:Slider("MM", "Mana manager", 50, 1, 100)
ConfigMenu.Champ:Menu("LaneClear", "LaneClear")
ConfigMenu.Champ.LaneClear:Boolean("Q", "Use Q", true)
ConfigMenu.Champ.LaneClear:Boolean("W", "Use W", true)
ConfigMenu.Champ.LaneClear:Boolean("E", "Use E", true)
ConfigMenu.Champ.LaneClear:Slider("MM", "Mana manager", 50, 1, 100)
ConfigMenu.Champ:Menu("Orb", "Hotkeys")
ConfigMenu.Champ.Orb:KeyBinding("C", "Combo", string.byte(" "), false)
-- ConfigMenu.Champ.Orb:KeyBinding("H", "Harass", string.byte("C"), false)
ConfigMenu.Champ.Orb:KeyBinding("LC", "LaneClear", string.byte("V"), false)
ConfigMenu.Champ:Menu("Misc", "Misc")
ConfigMenu.Champ.Misc:Boolean("B", "Buy Farsight", true)
ConfigMenu.Champ.Misc:KeyBinding("FQ", "Flash-Q", string.byte("T"))
ConfigMenu.Champ.Misc:Key("WP", "Jumps", string.byte("G"))
ConfigMenu.Champ:Menu("ROptions", "R Options")
ConfigMenu.Champ.ROptions:Boolean("R", "Use R?", true)
ConfigMenu.Champ.ROptions:Slider("EA", "Enemies around", 3, 1, 5)
ConfigMenu.Champ.ROptions:Boolean("RU", "Use R on urself", true)
ConfigMenu.Champ:Menu("QOptions", "Q Options")
ConfigMenu.Champ.QOptions:Boolean("QC", "AA reset Combo", true)
ConfigMenu.Champ.QOptions:Boolean("QL", "AA reset LaneClear", true)
ConfigMenu.Champ.QOptions:Boolean("QJ", "AA reset JunglerClear", true)
ConfigMenu.Champ:Menu("D", "Draw")
--[[ConfigMenu.Champ.D:SubMenu("DD", "Draw Damage")
ConfigMenu.Champ.D.DD:Boolean("D", "Draw?", true)
ConfigMenu.Champ.D.DD:Boolean("DQ", "Draw Q dmg", true)
ConfigMenu.Champ.D.DD:Boolean("DE", "Draw E dmg", true)
ConfigMenu.Champ.D.DD:Boolean("DR", "Draw R dmg", true)]]
ConfigMenu.Champ.D:SubMenu("DR", "Draw Range")
ConfigMenu.Champ.D.DR:Boolean("D", "Draw?", true)
ConfigMenu.Champ.D.DR:Boolean("DQ", "Draw Q range", true)
ConfigMenu.Champ.D.DR:Boolean("DW", "Draw W range", true)
ConfigMenu.Champ.D.DR:Boolean("DE", "Draw E range", true)
ConfigMenu.Champ.D.DR:Boolean("DR", "Draw R range", true)
ConfigMenu.Champ.D.DR:Slider("DH", "Quality", 155, 1, 475)
DelayAction(function()
for i, allies in pairs(GetAllyHeroes()) do
ConfigMenu.Champ.ROptions:Boolean("Pleb"..GetObjectName(allies), "Use R on "..GetObjectName(allies), true)
end
end, 0.001)
end
function Kindred:Tick()
if not IsDead(myHero) then
self.target = DickSelector:Targets(self.Spells[0].range)
if ConfigMenu.Champ.Orb.C:Value() then
if self.target ~= nil then
self:Combo(self.target)
end
elseif ConfigMenu.Champ.Orb.LC:Value() then
self:LaneClear()
end
self:AutoR()
if ConfigMenu.Champ.Misc.FQ:Value() then
if Ready(0) and Ready(Flash) and ConfigMenu.Champ.Combo.Q:Value() then
CastSkillShot(Flash, GetMousePos())
DelayAction(function() CastSkillShot(0, GetMousePos()) end, 1)
end
end
self.Passive = GetBuffData(myHero,"kindredmarkofthekindredstackcounter").Stacks
if ConfigMenu.Champ.Misc.B:Value() then
if not self.Farsight and GetLevel(myHero) >= 9 and GetDistance(myHero,basePos) < 550 then
BuyItem(3363)
self.Farsight = true
end
end
self:Walljump()
end
end
function Kindred:Draw()
if not IsDead(myHero) then
if ConfigMenu.Champ.D.DR.D:Value() then
if ConfigMenu.Champ.D.DR.DQ:Value() and Ready(0) then
DrawCircle(GetOrigin(myHero), self.Spells[0].range, 1, ConfigMenu.Champ.D.DR.DH:Value(), GoS.Red)
end
if ConfigMenu.Champ.D.DR.DW:Value() and Ready(1) then
DrawCircle(GetOrigin(myHero), self.Spells[1].range, 1, ConfigMenu.Champ.D.DR.DH:Value(), GoS.Blue)
end
if ConfigMenu.Champ.D.DR.DE:Value() and Ready(2) then
DrawCircle(GetOrigin(myHero), self.Spells[2].range, 1, ConfigMenu.Champ.D.DR.DH:Value(), GoS.Pink)
end
if ConfigMenu.Champ.D.DR.DR:Value() and Ready(3) then
DrawCircle(GetOrigin(myHero), self.Spells[3].range, 1, ConfigMenu.Champ.D.DR.DH:Value(), GoS.White)
end
end
end
end
function Kindred:Combo(Unit)
local AfterQ = GetOrigin(myHero) +(Vector(GetMousePos()) - GetOrigin(myHero)):normalized()*self.Spells[0].dash
if Ready(2) and Ready(0) and ConfigMenu.Champ.Combo.QE:Value() and GetDistance(Unit) > self.Spells[0].range and GetDistance(AfterQ, Unit) <= 450 then
CastSkillShot(0, GetMousePos())
DelayAction(function() CastTargetSpell(Unit, 2) end, 1)
end
if Ready(0) and ConfigMenu.Champ.Combo.Q:Value() and ValidTarget(Unit, self.Spells[0].range) and ConfigMenu.Champ.QOptions.QC:Value() == false or (GetDistance(Unit) > self.Spells[0].range and GetDistance(AfterQ, Unit) <= 450) then
CastSkillShot(0, GetMousePos())
end
if Ready(1) and ConfigMenu.Champ.Combo.W:Value() and ValidTarget(Unit, self.Spells[1].range) then
CastSpell(1)
end
if Ready(2) and ConfigMenu.Champ.Combo.E:Value() and ValidTarget(Unit, self.Spells[2].range) then
CastTargetSpell(Unit, 2)
end
end
function Kindred:LaneClear()
local QMana = (self.Spells[0].mana*100)/GetMaxMana(myHero)
local WMana = (self.Spells[1].mana*100)/GetMaxMana(myHero)
local EMana = (self.Spells[2].mana*100)/GetMaxMana(myHero)
for _, mob in pairs(minionManager.objects) do
if GetTeam(mob) == MINION_JUNGLE then
if ConfigMenu.Champ.QOptions.QJ:Value() == false and Ready(0) and ConfigMenu.Champ.JunglerClear.Q:Value() and ValidTarget(mob, self.Spells[0].range) and GetCurrentHP(mob) >= Dmg[0](mob) and (GetPercentMP(myHero)- QMana) >= ConfigMenu.Champ.JunglerClear.MM:Value() then
CastSkillShot(0, GetMousePos())
end
if Ready(1) and ValidTarget(mob, self.Spells[1].range) and IsTargetable(mob) and ConfigMenu.Champ.JunglerClear.W:Value() and (GetPercentMP(myHero)- WMana) >= ConfigMenu.Champ.JunglerClear.MM:Value() and self:TotalHp(self.Spells[1].range, myHero) >= Dmg[1](mob) + ((8/self.AAPS)*CalcDamage(myHero, mob, GetBaseDamage(myHero) + GetBonusDmg(myHero)+self:PassiveDmg(mob))) then
CastSpell(1)
end
if Ready(2) and ValidTarget(mob, self.Spells[2].range) and ConfigMenu.Champ.JunglerClear.E:Value() and (GetPercentMP(myHero)- EMana) >= ConfigMenu.Champ.JunglerClear.MM:Value() and GetCurrentHP(mob) >= Dmg[2](mob) + (CalcDamage(myHero, mob, GetBaseDamage(myHero) + GetBonusDmg(myHero))*3) then
CastTargetSpell(mob, 2)
end
end
if GetTeam(mob) == MINION_ENEMY then
if ConfigMenu.Champ.QOptions.QL:Value() == false and Ready(0) and ConfigMenu.Champ.LaneClear.Q:Value() and (GetPercentMP(myHero)- QMana) >= ConfigMenu.Champ.LaneClear.MM:Value() and ValidTarget(mob, self.Spells[0].range) and GetCurrentHP(mob) >= Dmg[0](mob) then
CastSkillShot(0, GetMousePos())
end
if Ready(1) and ValidTarget(mob, self.Spells[1].range) and ConfigMenu.Champ.LaneClear.W:Value() and (GetPercentMP(myHero)- WMana) >= ConfigMenu.Champ.LaneClear.MM:Value() and self:TotalHp(self.Spells[1].range, myHero) >= Dmg[1](mob) + ((8/self.AAPS)*CalcDamage(myHero, mob, GetBaseDamage(myHero) + GetBonusDmg(myHero)+self:PassiveDmg(mob))) then
CastSpell(1)
end
if Ready(2) and ValidTarget(mob, self.Spells[2].range) and ConfigMenu.Champ.LaneClear.E:Value() and (GetPercentMP(myHero)- EMana) >= ConfigMenu.Champ.LaneClear.MM:Value() and GetCurrentHP(mob) >= Dmg[2](mob) + (CalcDamage(myHero, mob, GetBaseDamage(myHero) + GetBonusDmg(myHero))*3) then
CastTargetSpell(mob, 2)
end
end
end
end
function Kindred:AutoR()
if ConfigMenu.Champ.ROptions.R:Value() and not self.Recalling and not IsDead(myHero) and Ready(1) then
for i, allies in pairs(GetAllyHeroes()) do
if GetPercentHP(allies) <= 20 and ConfigMenu.Champ.ROptions["Pleb"..GetObjectName(allies)]:Value() and not IsDead(allies) and GetDistance(allies) <= self.Spells[3].range and EnemiesAround(allies, 1500) >= ConfigMenu.Champ.ROptions.EA:Value() then
CastTargetSpell(myHero, 3)
end
end
if GetPercentHP(myHero) <= 20 and ConfigMenu.Champ.ROptions.RU:Value() and EnemiesAround(myHero, 1500) >= ConfigMenu.Champ.ROptions.EA:Value() then
CastTargetSpell(myHero, 3)
end
end
end
function Kindred:OnProcComplete(unit, spell)
local QMana = (self.Spells[0].mana*100)/GetMaxMana(myHero)
if unit == myHero then
if spell.name:lower():find("attack") then
if ConfigMenu.Champ.Orb.LC:Value() then
for _, mob in pairs(minionManager.objects) do
if ConfigMenu.Champ.QOptions.QL:Value() and ValidTarget(mob, 500) and GetTeam(mob) == MINION_ENEMY and ConfigMenu.Champ.LaneClear.Q:Value() and (GetPercentMP(myHero)- QMana) >= ConfigMenu.Champ.LaneClear.MM:Value() and Ready(0) then
CastSkillShot(0, GetMousePos())
end
if ConfigMenu.Champ.QOptions.QJ:Value() and ValidTarget(mob, 500) and GetTeam(mob) == MINION_JUNGLE and ConfigMenu.Champ.JunglerClear.Q:Value() and (GetPercentMP(myHero)- QMana) >= ConfigMenu.Champ.JunglerClear.MM:Value() and Ready(0) then
CastSkillShot(0, GetMousePos())
end
end
elseif ConfigMenu.Champ.Orb.C:Value() and self.target ~= nil then
if ConfigMenu.Champ.QOptions.QC:Value() and Ready(0) and ConfigMenu.Champ.Combo.Q:Value() and ValidTarget(self.target, 500) then
CastSkillShot(0, GetMousePos())
end
end
end
end
end
function Kindred:OnUpdate(unit, buff)
if unit == myHero then
if buff.Name == "recall" or buff.Name == "OdinRecall" then
self.Recalling = true
end
end
end
function Kindred:OnRemove(unit, buff)
if unit == myHero and buff.Name == "recall" or buff.Name == "OdinRecall" then
self.Recalling = false
end
end
function Kindred:PassiveDmg(unit)
if self.Passive ~= 0 then
local PassiveDmg = self.Passive * 1.25
if GetTeam(unit) == MINION_JUNGLE then
return CalcDamage(myHero, unit, math.max(75+10*self.Passive, GetCurrentHP(unit)*(PassiveDmg/100)))
else
return CalcDamage(myHero, unit, GetCurrentHP(unit)*(PassiveDmg/100))
end
else return 0
end
end
function Kindred:TotalHp(range, pos)
local hp = 0
for _, mob in pairs(minionManager.objects) do
if not IsDead(mob) and IsTargetable(mob) and (GetTeam(mob) == MINION_JUNGLE or GetTeam(mob) == MINION_ENEMY) and GetDistance(mob, pos) <= range then
hp = hp + GetCurrentHP(mob)
end
end
return hp
end
function Kindred:Walljump()
local V1 = GetMousePos() + Vector(Vector(GetOrigin(myHero)) - Vector(GetMousePos())):normalized()*340
local V2 = GetMousePos() + Vector(Vector(GetOrigin(myHero)) - Vector(GetMousePos())):normalized()*170
if ConfigMenu.Champ.Misc.WP:Value() then
if not MapPosition:inWall(GetMousePos()) and not MapPosition:inWall(V1) and MapPosition:inWall(V2) then
MoveToXYZ(V1)
pos[1] = V1
pos[2] = GetMousePos()
end
end
if pos[1] ~= nil then
if GetDistance(pos[1]) <= 50 and Ready(0) then
CastSkillShot(0, pos[2])
end
end
end
class "Poppy"
function Poppy:__init()
self.Spells =
{
[0] = { range = 430, speed = math.huge, delay = 0.25, width = 100},
[1] = { range = 400, mana = 50,},
[2] = { range = 425, push = 300, mana = 70, speed = 1150, delay = 0.25},
[3] = { range = 425, mana = 100, speed = 1150, delay = 0.25},--475
}
self.DashTable =
{
["AAtrox"] = { SpellSlot = 0, type = "Untarget", Name = "Q"},
["Ahri"] = { SpellSlot = 3, type = "Untarget", Name = "R"},
["Akali"] = { SpellSlot = 3, type = "Target", Name = "R"},
["Alistar"] = { SpellSlot = 1, type = "Target", Name = "Q"},
--["Amumu"] = { SpellSlot = }
--["Aurelion"] = { SpellSlot = }
["Azir"] = { SpellSlot = 2, type = "Untarget", Name = "E"},
["Braum"] = { SpellSlot = 1, type = "Target", Name = "W"},
["Caitlyn"] = { SpellSlot = 2, type = "Untarget", Name = "E"},
["Corki"] = { SpellSlot = 1, type = "Untarget", Name = "W"},
["Diana"] = { SpellSlot = 3, type = "Target", Name = "R"},
["Ekko"] = { SpellSlot = 2, type = "Untarget", Name = "E"},
["Fiora"] = { SpellSlot = 0, type = "Untarget", Name = "Q"},
["Fizz"] = { SpellSlot = 0, type = "Untarget", Name = "Q"},
["Gnar"] = { SpellSlot = 2, type = "Untarget", Name = "E"},
["Gragas"] = { SpellSlot = 2, type = "Untarget", Name = "E"},
["Graves"] = { SpellSlot = 2, type = "Untarget", Name = "E"},
["Hecarim"] = { SpellSlot = 3, type = "Untarget", Name = "R"},
["Irelia"] = { SpellSlot = 0, type = "Target", Name = "Q"},
--["JarvanIV"] = { SpellSlot = 0, type = "Untarget", Name = "Q"},
["Jax"] = { SpellSlot = 0, type = "Target", Name = "Q"},
["Jayce"] = { SpellSlot = 0, type = "Target", Name = "Q"},
["Kalista"] = { SpellSlot = 0, type = "Target", Name = "Q"},
["Khazix"] = { SpellSlot = 2, type = "Untarget", Name = "E"},
["Kindred"] = { SpellSlot = 0, type = "Untarget", Name = "Q"},
["LeeSin"] = { SpellSlot = 0, type = "Target", Name = "Q"},
["Leona"] = { SpellSlot = 2, type = "Target", Name = "E"},
["Lucian"] = { SpellSlot = 2, type = "Untarget", Name = "E"},
["Malphite"] = { SpellSlot = 3, type = "Untarget", Name = "R"},
["Nidalee"] = { SpellSlot = 1, type = "Untarget", Name = "W"},
["Nocturne"] = { SpellSlot = 3, type = "Target", Name = "R"},
--["Nocturne"] = {Spellslot = _R},
["Pantheon"] = { SpellSlot = 1, type = "Target", Name = "W"},
["Quinn"] = { SpellSlot = 2, type = "Target", Name = "E"},
["RekSai"] = { SpellSlot = 2, type = "Untarget", Name = "E"},
["Renekton"] = { SpellSlot = 2, type = "Untarget", Name = "E"},
["Riven"] = { SpellSlot = 1, type = "Untarget", Name = "Q"},
["Riven"] = { SpellSlot = 2, type = "Untarget", Name = "E"},
["Sejuani"] = { SpellSlot = 0, type = "Untarget", Name = "Q"},
["Shen"] = { SpellSlot = 2, type = "Untarget", Name = "E"},
["Shyvana"] = { SpellSlot = 3, type = "Untarget", Name = "R"},
--["Thresh"] = { SpellSlot = ?, type = "Target", Name = ?},
["Tristana"] = { SpellSlot = 2, type = "Untarget", Name = "W"},
["Tryndamere"] = { SpellSlot = 2, type = "Untarget", Name = "E"},
["Vayne"] = { SpellSlot = 0, type = "Untarget", Name = "Q"},
["Vi"] = { SpellSlot = 0, type = "Untarget", Name = "Q"},
["Wukong"] = { SpellSlot = 2, type = "Target", Name = "E"},
["XinZhao"] = { SpellSlot = 2, type = "Target", Name = "E"},
["Yasuo"] = { SpellSlot = 2, type = "Target", Name = "E"},
["Zac"] = { SpellSlot = 2, type = "Untarget", Name = "E"},
}
self.ChannelTable =
{
["Caitlyn"] = { SpellSlot = 3, Name = "R"},
["FiddleSticks"] = { SpellSlot = 1, Name = "W"},
["FiddleSticks"] = { SpellSlot = 3, Name = "R"},
["Galio"] = { SpellSlot = 3, Name = "R"},
["Janna"] = { SpellSlot = 3, Name = "R"},
["Jhin"] = { SpellSlot = 3, Name = "R"},
["Karthus"] = { SpellSlot = 3, Name = "R"},
["Katarina"] = { SpellSlot = 3, Name = "R"},
["Lucian"] = { SpellSlot = 3, Name = "R"},
["Malzahar"] = { SpellSlot = 3, Name = "R"},
["MissFortune"] = { SpellSlot = 3, Name = "R"},
["Nunu"] = { SpellSlot = 3, Name = "R"},
["Pantheon"] = { SpellSlot = 3, Name = "R"},
["Shen"] = { SpellSlot = 3, Name = "R"},
["TwistedFate"] = { SpellSlot = 3, Name = "R"},
["Urgot"] = { SpellSlot = 3, Name = "R"},
["Varus"] = { SpellSlot = 0, Name = "R"},
["Velkoz"] = { SpellSlot = 3, Name = "R"},
["Warwick"] = { SpellSlot = 3, Name = "R"},
["Xerath"] = { SpellSlot = 3, Name = "R"},
}
self.Object = nil
self.Flash = nil
self.Target = nil
if GetCastName(myHero, SUMMONER_1):lower():find("summonerflash") then
self.Flash = SUMMONER_1
elseif GetCastName(myHero, SUMMONER_2):lower():find("summonerflash") then
self.Flash = SUMMONER_2
else
self.Flash = nil
end
ConfigMenu.Champ:Menu("C", "Combo")
ConfigMenu.Champ.C:Boolean("Q", "Use Q", true)
ConfigMenu.Champ.C:Boolean("E", "Use E", true)
ConfigMenu.Champ.C:Boolean("R", "Use R", true)
ConfigMenu.Champ.C:KeyBinding("I", "Insec Flash+E", string.byte("Y"), false)
ConfigMenu.Champ:Menu("H", "Harass")
ConfigMenu.Champ.H:Boolean("Q", "Use Q", true)
ConfigMenu.Champ.H:Boolean("E", "Use E", true)
ConfigMenu.Champ:Menu("LC", "LaneClear")
ConfigMenu.Champ.LC:Boolean("Q", "Use Q", true)
ConfigMenu.Champ.LC:Slider("MM", "Mana manager", 50, 1, 100)
ConfigMenu.Champ:Menu("JC", "JunglerClear")
ConfigMenu.Champ.JC:Boolean("Q", "Use Q", true)
ConfigMenu.Champ.JC:Boolean("E", "Use E", true)
ConfigMenu.Champ.JC:Slider("MM", "Mana manager", 50, 1, 100)
ConfigMenu.Champ:Menu("Orb", "Hotkeys")
ConfigMenu.Champ.Orb:KeyBinding("C", "Combo", string.byte(" "), false)
ConfigMenu.Champ.Orb:KeyBinding("H", "Harass", string.byte("C"), false)
ConfigMenu.Champ.Orb:KeyBinding("LC", "LaneClear", string.byte("V"), false)
ConfigMenu.Champ:Menu("F", "Fuck Dashes")
ConfigMenu.Champ:Menu("ASA", "Auto Stun")
ConfigMenu.Champ.ASA:Boolean("AS", "Auto Stun enable?", true)
ConfigMenu.Champ.ASA:KeyBinding("T", "Flash-Stun", string.byte("T"), false)
ConfigMenu.Champ:Menu("IN", "Interrupt")
DelayAction(function()
for _, enemies in pairs(GetEnemyHeroes()) do
if self.DashTable[GetObjectName(enemies)] then
ConfigMenu.Champ.F:Boolean("Pleb"..GetObjectName(enemies), "Interrupt "..GetObjectName(enemies).." Dash "..self.DashTable[GetObjectName(enemies)].Name, true)
end
if self.ChannelTable[GetObjectName(enemies)] then
ConfigMenu.Champ.IN:Boolean("Pleb"..GetObjectName(enemies), "Interrupt "..GetObjectName(enemies).." "..self.ChannelTable[GetObjectName(enemies)].Name, true)
end
ConfigMenu.Champ.ASA:Boolean("Pleb"..GetObjectName(enemies), "Auto Stun On "..GetObjectName(enemies), true)
end
end, 0.1)
OnTick(function(myHero) self:Tick(myHero) end)
OnProcessSpell(function(Object, spellProc) self:OnProc(Object, spellProc) end)
end
function Poppy:Tick(myHero)
self:Stun()
self:Insec()
self.Target = DickSelector:Targets(600)
if self.Target ~= nil then
if ConfigMenu.Champ.Orb.C:Value() then
self:Combo(self.Target)
end
if ConfigMenu.Champ.Orb.H:Value() then
self:Harass(self.Target)
end
end
if ConfigMenu.Champ.Orb.LC:Value() then
self:LaneClear()
end
end
function Poppy:Combo(Unit)
if ValidTarget(Unit, 200) then
self:UseQ(Unit)
self:UseE(Unit)
self:UseR(Unit)
elseif ValidTarget(Unit, 400) then
self:UseE(Unit)
DelayAction(function() self:UseQ(Unit) end, GetDistance(Unit)/self.Spells[2].speed)
self:UseR(Unit)
end
end
function Poppy:Harass(Unit)
if ValidTarget(Unit, GetRange(myHero)) then
self:UseQ(Unit)
self:UseE(Unit)
elseif ValidTarget(Unit, 400) then
self:UseE(Unit)
DelayAction(function() self:UseQ(Unit) end, GetDistance(Unit)/self.Spells[2].speed)
end
end
function Poppy:LaneClear()
local QMana = (30+5*GetCastLevel(myHero, 0)*100)/GetMaxMana(myHero)
local EMana = (self.Spells[2].mana*100)/GetMaxMana(myHero)
for _, mobs in pairs(minionManager.objects) do
if ValidTarget(mobs, 600) then
if GetTeam(mobs) == 200 then
if Ready(0) and ConfigMenu.Champ.LC.Q:Value() and ValidTarget(mobs, self.Spells[0].range) then
CastSkillShot(0, GetOrigin(mobs))
end
elseif GetTeam(mobs) == 300 then
local MyPos = GetOrigin(myHero) + Vector(GetOrigin(mobs) - Vector(GetOrigin(myHero))):normalized()*GetDistance(mobs) + Vector(GetOrigin(mobs) - Vector(GetOrigin(myHero))):normalized()*325
if Ready(0) and ConfigMenu.Champ.JC.Q:Value() and (GetPercentMP(myHero)- QMana) >= ConfigMenu.Champ.JC.MM:Value() and ValidTarget(mobs, self.Spells[0].range) then
CastSkillShot(0, GetOrigin(mobs))
end
--DrawLine(WorldToScreen(0,myHero).x, WorldToScreen(0,myHero).y, WorldToScreen(0,MyPos).x, WorldToScreen(0,MyPos).y, 1, GoS.Pink)
if Ready(2) and ConfigMenu.Champ.JC.E:Value() and (GetPercentMP(myHero)- EMana) >= ConfigMenu.Champ.JC.MM:Value() and MapPosition:inWall(MyPos) and ValidTarget(mobs, self.Spells[2].range) then
CastTargetSpell(mobs, 2)
end
end
end
end
end
function Poppy:UseQ(Unit)
local Q = GetPrediction(Unit, self.Spells[0])
if Ready(0) and ValidTarget(Unit, self.Spells[0].range) and ConfigMenu.Champ.C.Q:Value() and Q and Q.hitChance >= 0.20 then
CastSkillShot(0, Q.castPos)
end
end
function Poppy:UseE(Unit)
if Ready(2) and ValidTarget(Unit, self.Spells[2].range) and ConfigMenu.Champ.C.E:Value() then
CastTargetSpell(Unit, 2)
end
end
function Poppy:UseR(Unit)
local R = GetPrediction(Unit, self.Spells[3])
if Ready(3) and ValidTarget(Unit, 425) and ConfigMenu.Champ.C.R:Value() and R and R.hitChance >= 0.20 then
CastSkillShot(3, GetOrigin(myHero))
DelayAction(function()
CastSkillShot2(3, R.castPos)
end, 0.1)
end
end
function Poppy:Stun()
for _, enemies in pairs(GetEnemyHeroes()) do
local E = GetPrediction(enemies, self.Spells[2])
local MousePos = GetMousePos()
local MyPos = GetOrigin(myHero) + Vector(E.castPos - Vector(GetOrigin(myHero))):normalized()*GetDistance(enemies) + Vector(E.castPos - Vector(GetOrigin(myHero))):normalized()*325
local MyMousePos = MousePos + Vector(E.castPos - Vector(MousePos)):normalized()*GetDistance(enemies, MousePos) + Vector(E.castPos - Vector(MousePos)):normalized()*325
if ValidTarget(enemies, 400) and Ready(2) then
if ConfigMenu.Champ.ASA["Pleb"..GetObjectName(enemies)]:Value() and MapPosition:inWall(MyPos) then
CastTargetSpell(enemies, 2)
end
elseif GetDistance(enemies, MousePos) <= 425 and MapPosition:inWall(MyMousePos) and ConfigMenu.Champ.ASA.T:Value() and Ready(2) then
CastSkillShot(self.Flash, MousePos)
DelayAction(function() CastTargetSpell(enemies, 2) end, 0.1)
end
end
end
function Poppy:OnProc(Object, spellProc)
for i, enemies in pairs(GetEnemyHeroes()) do
DelayAction(function()
if self.DashTable[GetObjectName(enemies)] then
if self.DashTable[GetObjectName(enemies)].type == "Untarget" then
if spellProc.name == GetCastName(enemies, self.DashTable[GetObjectName(enemies)].SpellSlot) and ConfigMenu.Champ.F["Pleb"..GetObjectName(enemies)]:Value() and (GetDistance(spellProc.endPos) <= self.Spells[1].range or GetDistance(spellProc.startPos) <= self.Spells[1].range) and Ready(1) then
CastSpell(1)
end
elseif self.DashTable[GetObjectName(enemies)].type == "Target" then
if spellProc.name == GetCastName(enemies, self.DashTable[GetObjectName(enemies)].SpellSlot) and ConfigMenu.Champ.F["Pleb"..GetObjectName(enemies)]:Value() and GetDistance(spellProc.target) <= self.Spells[1].range and Ready(1) then
CastSpell(1)
end
end
end
if self.ChannelTable[GetObjectName(enemies)] then
if spellProc.name == GetCastName(enemies, self.ChannelTable[GetObjectName(enemies)].SpellSlot) and ValidTarget(enemies, 400) and Ready(2) then
CastTargetSpell(enemies, 2)
end
end
end, 0.0001)
end
end
function Poppy:Insec()
for _, enemies in pairs(GetEnemyHeroes()) do
if ValidTarget(enemies, 400) and Ready(2) and ConfigMenu.Champ.C.I:Value() then
local FlashPos = GetOrigin(myHero) + Vector(GetOrigin(enemies)-Vector(GetOrigin(myHero))):normalized()*425
CastSkillShot(self.Flash, FlashPos)
DelayAction(function() CastTargetSpell(enemies, 2) end, 0.1)
end
end
end
class "Elise"
function Elise:__init()
Dmg =
{
[0] = function(Unit) return CalcDamage(myHero, Unit, 0, 5+35*GetCastLevel(myHero, 0)+(GetCurrentHP(Unit)*0.04)/100+0.03*GetBonusAP(myHero)) end,
[1] = function(Unit) return CalcDamage(myHero, Unit, 0, 20+50*GetCastLevel(myHero, 1)+0.8*GetBonusAP(myHero)) end,
[2] = function(Unit) return CalcDamage(myHero, Unit, 0, 20+40*GetCastLevel(myHero, 0)+((GetMaxHP(Unit)-GetCurrentHP(Unit)*0.08)/100+0.03*GetBonusAP(myHero))) end,
}
self.Spells =
{
[0] = {CD = function(myHero) return 6 + 6*GetCDR(myHero) end, CDT = 0, Name = "EliseHumanQ", Timer = 0, Ready = false},
[1] = {CD = function(myHero) return 12 + 12*GetCDR(myHero) end, CDT = 0, Name = "EliseHumanW", Timer = 0, Ready = false},
[2] = {CD = function(myHero) return 15-GetCastLevel(myHero, 2) + (15-GetCastLevel(myHero, 2))*GetCDR(myHero) end, CDT = 0, Name = "EliseHumanE", Timer = 0, Ready = false, speed = 1100, width = 55, range = 1600, delay = 0.25},
[3] = {CD = function(myHero) return 4 + 4*GetCDR(myHero) end, CDT = 0, Name = "EliseR", Timer = 0, Ready = false},
}
self.Spells2 =
{
[0] = {CD = function(myHero) return 6 + 6*GetCDR(myHero) end, CDT = 0, Name = "EliseSpiderQCast", Timer = 0, Ready = false},
[1] = {CD = function(myHero) return 12 + 12*GetCDR(myHero) end, CDT = 0, Name = "EliseSpiderW", Timer = 0, Ready = false},
[2] = {CD = function(myHero) return 29-GetCastLevel(myHero, 2)*3 + (29-GetCastLevel(myHero, 2)*3)*GetCDR(myHero) end, CDT = 0, Name = "EliseSpiderEDescent", Timer = 0, Ready = false},
[3] = {CD = function(myHero) return 4 + 4*GetCDR(myHero) end, CDT = 0, Name = "EliseRSpider", Timer = 0, Ready = false},
}
self.Sprite =
{
[1] = {FName = "Elise\\Elise_Human_Q.png", Sprite = nil, PosX = function(Unit) if ConfigMenu.Champ.D.S.H:Value() then return GetResolution().x/2-150 else return GetResolution().x/2-127 end end, PosY = function(Unit) if ConfigMenu.Champ.D.S.H:Value() then return GetResolution().y/2+250 else return GetResolution().y/2+50 end end, Web = "Elise_Human_Q.png"},
[2] = {FName = "Elise\\Elise_Human_W.png", Sprite = nil, PosX = function(Unit) if ConfigMenu.Champ.D.S.H:Value() then return GetResolution().x/2-75 else return GetResolution().x/2-127 end end, PosY = function(Unit) if ConfigMenu.Champ.D.S.H:Value() then return GetResolution().y/2+250 else return GetResolution().y/2+125 end end, Web = "Elise_Human_W.png"},
[3] = {FName = "Elise\\Elise_Human_E.png", Sprite = nil, PosX = function(Unit) if ConfigMenu.Champ.D.S.H:Value() then return GetResolution().x/2 else return GetResolution().x/2-127 end end, PosY = function(Unit) if ConfigMenu.Champ.D.S.H:Value() then return GetResolution().y/2+250 else return GetResolution().y/2+200 end end, Web = "Elise_Human_E.png"},
[4] = {FName = "Elise\\Elise_Human_R.png", Sprite = nil, PosX = function(Unit) if ConfigMenu.Champ.D.S.H:Value() then return GetResolution().x/2+75 else return GetResolution().x/2-127 end end, PosY = function(Unit) if ConfigMenu.Champ.D.S.H:Value() then return GetResolution().y/2+250 else return GetResolution().y/2+275 end end, Web = "Elise_Human_R.png"},
[5] = {FName = "Elise\\Elise_Human_Q_CD.png", Sprite = nil, PosX = function(Unit) if ConfigMenu.Champ.D.S.H:Value() then return GetResolution().x/2-150 else return GetResolution().x/2-127 end end, PosY = function(Unit) if ConfigMenu.Champ.D.S.H:Value() then return GetResolution().y/2+250 else return GetResolution().y/2+50 end end, Web = "Elise_Human_Q_CD.png"},
[6] = {FName = "Elise\\Elise_Human_W_CD.png", Sprite = nil, PosX = function(Unit) if ConfigMenu.Champ.D.S.H:Value() then return GetResolution().x/2-75 else return GetResolution().x/2-127 end end, PosY = function(Unit) if ConfigMenu.Champ.D.S.H:Value() then return GetResolution().y/2+250 else return GetResolution().y/2+125 end end, Web = "Elise_Human_W_CD.png"},
[7] = {FName = "Elise\\Elise_Human_E_CD.png", Sprite = nil, PosX = function(Unit) if ConfigMenu.Champ.D.S.H:Value() then return GetResolution().x/2 else return GetResolution().x/2-127 end end, PosY = function(Unit) if ConfigMenu.Champ.D.S.H:Value() then return GetResolution().y/2+250 else return GetResolution().y/2+200 end end, Web = "Elise_Human_E_CD.png"},
[8] = {FName = "Elise\\Elise_Human_R_CD.png", Sprite = nil, PosX = function(Unit) if ConfigMenu.Champ.D.S.H:Value() then return GetResolution().x/2+75 else return GetResolution().x/2-127 end end, PosY = function(Unit) if ConfigMenu.Champ.D.S.H:Value() then return GetResolution().y/2+250 else return GetResolution().y/2+275 end end, Web = "Elise_Human_R_CD.png"},
[9] = {FName = "Elise\\Elise_Spider_Q.png", Sprite = nil, PosX = function(Unit) if ConfigMenu.Champ.D.S.H:Value() then return GetResolution().x/2-150 else return GetResolution().x/2-127 end end, PosY = function(Unit) if ConfigMenu.Champ.D.S.H:Value() then return GetResolution().y/2+250 else return GetResolution().y/2+50 end end, Web = "Elise_Spider_Q.png"},
[10] = {FName = "Elise\\Elise_Spider_W.png", Sprite = nil, PosX = function(Unit) if ConfigMenu.Champ.D.S.H:Value() then return GetResolution().x/2-75 else return GetResolution().x/2-127 end end, PosY = function(Unit) if ConfigMenu.Champ.D.S.H:Value() then return GetResolution().y/2+250 else return GetResolution().y/2+125 end end, Web = "Elise_Spider_W.png"},
[11] = {FName = "Elise\\Elise_Spider_E.png", Sprite = nil, PosX = function(Unit) if ConfigMenu.Champ.D.S.H:Value() then return GetResolution().x/2 else return GetResolution().x/2-127 end end, PosY = function(Unit) if ConfigMenu.Champ.D.S.H:Value() then return GetResolution().y/2+250 else return GetResolution().y/2+200 end end, Web = "Elise_Spider_E.png"},
[12] = {FName = "Elise\\Elise_Spider_R.png", Sprite = nil, PosX = function(Unit) if ConfigMenu.Champ.D.S.H:Value() then return GetResolution().x/2+75 else return GetResolution().x/2-127 end end, PosY = function(Unit) if ConfigMenu.Champ.D.S.H:Value() then return GetResolution().y/2+250 else return GetResolution().y/2+275 end end, Web = "Elise_Spider_R.png"},
[13] = {FName = "Elise\\Elise_Spider_Q_CD.png", Sprite = nil, PosX = function(Unit) if ConfigMenu.Champ.D.S.H:Value() then return GetResolution().x/2-150 else return GetResolution().x/2-127 end end, PosY = function(Unit) if ConfigMenu.Champ.D.S.H:Value() then return GetResolution().y/2+250 else return GetResolution().y/2+50 end end, Web = "Elise_Spider_Q_CD.png"},
[14] = {FName = "Elise\\Elise_Spider_W_CD.png", Sprite = nil, PosX = function(Unit) if ConfigMenu.Champ.D.S.H:Value() then return GetResolution().x/2-75 else return GetResolution().x/2-127 end end, PosY = function(Unit) if ConfigMenu.Champ.D.S.H:Value() then return GetResolution().y/2+250 else return GetResolution().y/2+125 end end, Web = "Elise_Spider_W_CD.png"},
[15] = {FName = "Elise\\Elise_Spider_E_CD.png", Sprite = nil, PosX = function(Unit) if ConfigMenu.Champ.D.S.H:Value() then return GetResolution().x/2 else return GetResolution().x/2-127 end end, PosY = function(Unit) if ConfigMenu.Champ.D.S.H:Value() then return GetResolution().y/2+250 else return GetResolution().y/2+200 end end, Web = "Elise_Spider_E_CD.png"},
[16] = {FName = "Elise\\Elise_Spider_R_CD.png", Sprite = nil, PosX = function(Unit) if ConfigMenu.Champ.D.S.H:Value() then return GetResolution().x/2+75 else return GetResolution().x/2-127 end end, PosY = function(Unit) if ConfigMenu.Champ.D.S.H:Value() then return GetResolution().y/2+250 else return GetResolution().y/2+275 end end, Web = "Elise_Spider_R_CD.png"},
}
--[[self.SpellsTable =
{
["AatroxE"]= {charName="Aatrox", slot=2, type="Line", delay=0.25, range=1075, radius=35, speed=1250, addHitbox=true, danger=3, dangerous=false, proj="AatroxEConeMissile", killTime=0},
["AhriOrbofDeception"]= {charName="Ahri", slot=0, type="Line", delay=0.25, range=1000, radius=100, speed=2500, addHitbox=true, danger=2, dangerous=false, proj="AhriOrbMissile", killTime=0},
["AhriOrbReturn"]= {charName="Ahri", slot=0, type="Line", delay=0.25, range=1000, radius=100, speed=60, addHitbox=true, danger=2, dangerous=false, proj="AhriOrbReturn", killTime=0},
["AhriSeduce"]= {charName="Ahri", slot=2, type="Line", delay=0.25, range=1000, radius=60, speed=1550, addHitbox=true, danger=3, dangerous=true, proj="AhriSeduceMissile", killTime=0},
["BandageToss"]= {charName="Amumu", slot=0, type="Line", delay=0.25, range=1100, radius=90, speed=2000, addHitbox=true, danger=3, dangerous=true, proj="SadMummyBandageToss", killTime=0},
["FlashFrost"]= {charName="Anivia", slot=0, type="Line", delay=0.25, range=1100, radius=110, speed=850, addHitbox=true, danger=3, dangerous=true, proj="FlashFrostSpell", killTime=0},
["Volley"]= {charName="Ashe", slot=1, type="Line", delay=0.25, range=1250, radius=60, speed=1500, addHitbox=true, danger=2, dangerous=false, proj="VolleyAttack", killTime=0},
["EnchantedCrystalArrow"]= {charName="Ashe", slot=3, type="Line", delay=0.25, range=20000, radius=130, speed=1600, addHitbox=true, danger=5, dangerous=true, proj="EnchantedCrystalArrow", killTime=0},
["AurelionSolQ"]= {charName="AurelionSol", slot=0, type="Line", delay=0.25, range=1500, radius=180, speed=850, addHitbox=true, danger=2, dangerous=false, proj="AurelionSolQMissile", killTime=0},
["AurelionSolR"]= {charName="AurelionSol", slot=3, type="Line", delay=0.3, range=1420, radius=120, speed=4500, addHitbox=true, danger=3, dangerous=true, proj="AurelionSolRBeamMissile", killTime=0},
["BardQ"]= {charName="Bard", slot=0, type="Line", delay=0.25, range=950, radius=60, speed=1600, addHitbox=true, danger=3, dangerous=true, proj="BardQMissile", killTime=0},
["BardR"]= {charName="Bard", slot=3, type="Circle", delay=0.5, range=3400, radius=350, speed=2100, addHitbox=true, danger=2, dangerous=false, proj="BardR", killTime=1},
["RocketGrab"]= {charName="Blitzcrank", slot=0, type="Line", delay=0.25, range=1050, radius=70, speed=1800, addHitbox=true, danger=4, dangerous=true, proj="RocketGrabMissile", killTime=0},
["BrandQ"]= {charName="Brand", slot=0, type="Line", delay=0.25, range=1100, radius=60, speed=1600, addHitbox=true, danger=3, dangerous=true, proj="BrandQMissile", killTime=0},
["BraumQ"]= {charName="Braum", slot=0, type="Line", delay=0.25, range=1050, radius=60, speed=1700, addHitbox=true, danger=3, dangerous=true, proj="BraumQMissile", killTime=0},
["BraumRWrapper"]= {charName="Braum", slot=3, type="Line", delay=0.5, range=1200, radius=115, speed=1400, addHitbox=true, danger=4, dangerous=true, proj="braumrmissile", killTime=0},
["CaitlynPiltoverPeacemaker"]= {charName="Caitlyn", slot=0, type="Line", delay=0.625, range=1300, radius=90, speed=2200, addHitbox=true, danger=2, dangerous=false, proj="CaitlynPiltoverPeacemaker", killTime=0},
["CaitlynEntrapment"]= {charName="Caitlyn", slot=2, type="Line", delay=0.125, range=1000, radius=70, speed=1600, addHitbox=true, danger=1, dangerous=false, proj="CaitlynEntrapmentMissile", killTime=0},
["CassiopeiaNoxiousBlast"]= {charName="Cassiopeia", slot=0, type="Circle", delay=0.75, range=850, radius=150, speed=999999999, addHitbox=true, danger=2, dangerous=false, proj="CassiopeiaNoxiousBlast", killTime=0.2},
["CassiopeiaPetrifyingGaze"]= {charName="Cassiopeia", slot=3, type="Cone", delay=0.6, range=825, radius=80, speed=999999999, addHitbox=false, danger=5, dangerous=true, proj="CassiopeiaPetrifyingGaze", killTime=0},
["Rupture"]= {charName="Chogath", slot=0, type="Circle", delay=1.2, range=950, radius=250, speed=999999999, addHitbox=true, danger=3, dangerous=false, proj="Rupture", killTime=0.45},
["PhosphorusBomb"]= {charName="Corki", slot=0, type="Circle", delay=0.3, range=825, radius=250, speed=1000, addHitbox=true, danger=2, dangerous=false, proj="PhosphorusBombMissile", killTime=0.35},
["MissileBarrage"]= {charName="Corki", slot=3, type="Line", delay=0.2, range=1300, radius=40, speed=2000, addHitbox=true, danger=2, dangerous=false, proj="MissileBarrageMissile", killTime=0},
["MissileBarrage2"]= {charName="Corki", slot=3, type="Line", delay=0.2, range=1500, radius=40, speed=2000, addHitbox=true, danger=2, dangerous=false, proj="MissileBarrageMissile2", killTime=0},
["DariusCleave"]= {charName="Darius", slot=0, type="Circle", delay=0.75, range=0, radius=425 - 50, speed=999999999, addHitbox=true, danger=3, dangerous=false, proj="DariusCleave", killTime=0},
["DariusAxeGrabCone"]= {charName="Darius", slot=2, type="Cone", delay=0.25, range=550, radius=80, speed=999999999, addHitbox=false, danger=3, dangerous=true, proj="DariusAxeGrabCone", killTime=0},
["DianaArc"]= {charName="Diana", slot=0, type="Circle", delay=0.25, range=895, radius=195, speed=1400, addHitbox=true, danger=3, dangerous=true, proj="DianaArcArc", killTime=0},
["DianaArcArc"]= {charName="Diana", slot=0, type="Line", delay=0.25, range=895, radius=195, speed=1400, addHitbox=true, danger=3, dangerous=true, proj="DianaArcArc", killTime=0},
["InfectedCleaverMissileCast"]= {charName="DrMundo", slot=0, type="Line", delay=0.25, range=1050, radius=60, speed=2000, addHitbox=true, danger=3, dangerous=false, proj="InfectedCleaverMissile", killTime=0},
["DravenDoubleShot"]= {charName="Draven", slot=2, type="Line", delay=0.25, range=1100, radius=130, speed=1400, addHitbox=true, danger=3, dangerous=true, proj="DravenDoubleShotMissile", killTime=0},
["DravenRCast"]= {charName="Draven", slot=3, type="Line", delay=0.4, range=20000, radius=160, speed=2000, addHitbox=true, danger=5, dangerous=true, proj="DravenR", killTime=0},
["EkkoQ"]= {charName="Ekko", slot=0, type="Line", delay=0.25, range=950, radius=60, speed=1650, addHitbox=true, danger=4, dangerous=true, proj="ekkoqmis", killTime=0},
["EkkoW"]= {charName="Ekko", slot=1, type="Circle", delay=3.75, range=1600, radius=375, speed=1650, addHitbox=false, danger=3, dangerous=false, proj="EkkoW", killTime=1.2},
["EkkoR"]= {charName="Ekko", slot=3, type="Circle", delay=0.25, range=1600, radius=375, speed=1650, addHitbox=true, danger=3, dangerous=false, proj="EkkoR", killTime=0.2},
["EliseHumanE"]= {charName="Elise", slot=2, type="Line", delay=0.25, range=1100, radius=55, speed=1600, addHitbox=true, danger=4, dangerous=true, proj="EliseHumanE", killTime=0},
["EvelynnR"]= {charName="Evelynn", slot=3, type="Circle", delay=0.25, range=650, radius=350, speed=999999999, addHitbox=true, danger=5, dangerous=true, proj="EvelynnR", killTime=0.2},
["EzrealMysticShot"]= {charName="Ezreal", slot=0, type="Line", delay=0.25, range=1200, radius=60, speed=2000, addHitbox=true, danger=2, dangerous=false, proj="EzrealMysticShotMissile", killTime=0},
["EzrealEssenceFlux"]= {charName="Ezreal", slot=1, type="Line", delay=0.25, range=1050, radius=80, speed=1600, addHitbox=true, danger=2, dangerous=false, proj="EzrealEssenceFluxMissile", killTime=0},
["EzrealTrueshotBarrage"]= {charName="Ezreal", slot=3, type="Line", delay=1, range=20000, radius=160, speed=2000, addHitbox=true, danger=3, dangerous=true, proj="EzrealTrueshotBarrage", killTime=0},
["FioraW"]= {charName="Fiora", slot=1, type="Line", delay=0.5, range=800, radius=70, speed=3200, addHitbox=true, danger=2, dangerous=false, proj="FioraWMissile", killTime=0},
["FizzMarinerDoom"]= {charName="Fizz", slot=3, type="Line", delay=0.25, range=1300, radius=120, speed=1350, addHitbox=true, danger=5, dangerous=true, proj="FizzMarinerDoomMissile", killTime=0},
["GalioResoluteSmite"]= {charName="Galio", slot=0, type="Circle", delay=0.25, range=900, radius=200, speed=1300, addHitbox=true, danger=2, dangerous=false, proj="GalioResoluteSmite", killTime=0.2},
["GalioRighteousGust"]= {charName="Galio", slot=2, type="Line", delay=0.25, range=1200, radius=120, speed=1200, addHitbox=true, danger=2, dangerous=false, proj="GalioRighteousGust", killTime=0},
["GnarQ"]= {charName="Gnar", slot=0, type="Line", delay=0.25, range=1125, radius=60, speed=2500, addHitbox=true, danger=2, dangerous=false, proj="gnarqmissile", killTime=0},
["GnarQReturn"]= {charName="Gnar", slot=0, type="Line", delay=0, range=2500, radius=75, speed=60, addHitbox=true, danger=2, dangerous=false, proj="GnarQMissileReturn", killTime=0},
["GnarBigQ"]= {charName="Gnar", slot=0, type="Line", delay=0.5, range=1150, radius=90, speed=2100, addHitbox=true, danger=2, dangerous=false, proj="GnarBigQMissile", killTime=0},
["GnarBigW"]= {charName="Gnar", slot=1, type="Line", delay=0.6, range=600, radius=80, speed=999999999, addHitbox=true, danger=2, dangerous=false, proj="GnarBigW", killTime=0},
["GnarE"]= {charName="Gnar", slot=2, type="Circle", delay=0, range=473, radius=150, speed=903, addHitbox=true, danger=2, dangerous=false, proj="GnarE", killTime=0.2},
["GnarBigE"]= {charName="Gnar", slot=2, type="Circle", delay=0.25, range=475, radius=200, speed=1000, addHitbox=true, danger=2, dangerous=false, proj="GnarBigE", killTime=0.2},
["GragasQ"]= {charName="Gragas", slot=0, type="Circle", delay=0.25, range=1100, radius=275, speed=1300, addHitbox=true, danger=2, dangerous=false, proj="GragasQMissile", killTime=2.5},
["GragasE"]= {charName="Gragas", slot=2, type="Line", delay=0, range=950, radius=200, speed=1200, addHitbox=true, danger=2, dangerous=false, proj="GragasE", killTime=0},
["GragasR"]= {charName="Gragas", slot=3, type="Circle", delay=0.25, range=1050, radius=375, speed=1800, addHitbox=true, danger=5, dangerous=true, proj="GragasRBoom", killTime=0.3},
["GravesQLineSpell"]= {charName="Graves", slot=0, type="Line", delay=0.25, range=808, radius=40, speed=3000, addHitbox=true, danger=2, dangerous=false, proj="GravesQLineMis", killTime=0},
["GravesChargeShot"]= {charName="Graves", slot=3, type="Line", delay=0.25, range=1100, radius=100, speed=2100, addHitbox=true, danger=5, dangerous=true, proj="GravesChargeShotShot", killTime=0},
["Heimerdingerwm"]= {charName="Heimerdinger", slot=1, type="Line", delay=0.25, range=1500, radius=70, speed=1800, addHitbox=true, danger=2, dangerous=false, proj="HeimerdingerWAttack2", killTime=0},
["HeimerdingerE"]= {charName="Heimerdinger", slot=2, type="Circle", delay=0.25, range=925, radius=100, speed=1200, addHitbox=true, danger=2, dangerous=false, proj="heimerdingerespell", killTime=0.3},
["IllaoiQ"]= {charName="Illaoi", slot=0, type="Line", delay=0.75, range=850, radius=100, speed=999999999, addHitbox=true, danger=3, dangerous=true, proj="illaoiemis", killTime=0},
["IllaoiE"]= {charName="Illaoi", slot=2, type="Line", delay=0.25, range=950, radius=50, speed=1900, addHitbox=true, danger=3, dangerous=true, proj="illaoiemis", killTime=0},
["IreliaTranscendentBlades"]= {charName="Irelia", slot=3, type="Line", delay=0, range=1200, radius=65, speed=1600, addHitbox=true, danger=2, dangerous=false, proj="IreliaTranscendentBlades", killTime=0},
["JannaQ"]= {charName="Janna", slot=0, type="Line", delay=0.25, range=1700, radius=120, speed=900, addHitbox=true, danger=2, dangerous=false, proj="HowlingGaleSpell", killTime=0},
["JarvanIVDemacianStandard"]= {charName="JarvanIV", slot=2, type="Circle", delay=0.5, range=860, radius=175, speed=999999999, addHitbox=true, danger=2, dangerous=false, proj="JarvanIVDemacianStandard", killTime=1.5},
["jayceshockblast"]= {charName="Jayce", slot=0, type="Line", delay=0.25, range=1300, radius=70, speed=1450, addHitbox=true, danger=2, dangerous=false, proj="JayceShockBlastMis", killTime=0},
["JayceQAccel"]= {charName="Jayce", slot=0, type="Line", delay=0.25, range=1300, radius=70, speed=2350, addHitbox=true, danger=2, dangerous=false, proj="JayceShockBlastWallMis", killTime=0},
["JhinW"]= {charName="Jhin", slot=1, type="Line", delay=0.75, range=2550, radius=40, speed=5000, addHitbox=true, danger=3, dangerous=true, proj="JhinWMissile", killTime=0},
["JhinRShot"]= {charName="Jhin", slot=3, type="Line", delay=0.25, range=3500, radius=80, speed=5000, addHitbox=true, danger=3, dangerous=true, proj="JhinRShotMis", killTime=0},
["JinxW"]= {charName="Jinx", slot=1, type="Line", delay=0.6, range=1500, radius=60, speed=3300, addHitbox=true, danger=3, dangerous=true, proj="JinxWMissile", killTime=0},
["JinxR"]= {charName="Jinx", slot=3, type="Line", delay=0.6, range=20000, radius=140, speed=1700, addHitbox=true, danger=5, dangerous=true, proj="JinxR", killTime=0},
["KalistaMysticShot"]= {charName="Kalista", slot=0, type="Line", delay=0.25, range=1200, radius=40, speed=1700, addHitbox=true, danger=2, dangerous=false, proj="kalistamysticshotmis", killTime=0},
["KarmaQ"]= {charName="Karma", slot=0, type="Line", delay=0.25, range=1050, radius=60, speed=1700, addHitbox=true, danger=2, dangerous=false, proj="KarmaQMissile", killTime=0},
["KarmaQMantra"]= {charName="Karma", slot=0, type="Line", delay=0.25, range=950, radius=80, speed=1700, addHitbox=true, danger=2, dangerous=false, proj="KarmaQMissileMantra", killTime=0},
["RiftWalk"]= {charName="Kassadin", slot=3, type="Circle", delay=0.25, range=450, radius=270, speed=999999999, addHitbox=true, danger=2, dangerous=false, proj="RiftWalk", killTime=0.3},
["KennenShurikenHurlMissile1"]= {charName="Kennen", slot=0, type="Line", delay=0.125, range=1050, radius=50, speed=1700, addHitbox=true, danger=2, dangerous=false, proj="KennenShurikenHurlMissile1", killTime=0},
["KhazixW"]= {charName="Khazix", slot=1, type="Line", delay=0.25, range=1025, radius=73, speed=1700, addHitbox=true, danger=2, dangerous=false, proj="KhazixWMissile", killTime=0},
["KhazixE"]= {charName="Khazix", slot=2, type="Circle", delay=0.25, range=600, radius=300, speed=1500, addHitbox=true, danger=2, dangerous=false, proj="KhazixE", killTime=0.2},
["KogMawQ"]= {charName="Kogmaw", slot=0, type="Line", delay=0.25, range=1200, radius=70, speed=1650, addHitbox=true, danger=2, dangerous=false, proj="KogMawQ", killTime=0},
["KogMawVoidOoze"]= {charName="Kogmaw", slot=2, type="Line", delay=0.25, range=1360, radius=120, speed=1400, addHitbox=true, danger=2, dangerous=false, proj="KogMawVoidOozeMissile", killTime=0},
["KogMawLivingArtillery"]= {charName="Kogmaw", slot=3, type="Circle", delay=1.2, range=1800, radius=225, speed=999999999, addHitbox=true, danger=2, dangerous=false, proj="KogMawLivingArtillery", killTime=0.5},
["LeblancSlide"]= {charName="Leblanc", slot=1, type="Circle", delay=0, range=600, radius=220, speed=1450, addHitbox=true, danger=2, dangerous=false, proj="LeblancSlide", killTime=0.2},
["LeblancSlideM"]= {charName="Leblanc", slot=3, type="Circle", delay=0, range=600, radius=220, speed=1450, addHitbox=true, danger=2, dangerous=false, proj="LeblancSlideM", killTime=0.2},
["LeblancSoulShackle"]= {charName="Leblanc", slot=2, type="Line", delay=0.25, range=950, radius=70, speed=1750, addHitbox=true, danger=3, dangerous=true, proj="LeblancSoulShackle", killTime=0},
["LeblancSoulShackleM"]= {charName="Leblanc", slot=3, type="Line", delay=0.25, range=950, radius=70, speed=1750, addHitbox=true, danger=3, dangerous=true, proj="LeblancSoulShackleM", killTime=0},
["BlindMonkQOne"]= {charName="LeeSin", slot=0, type="Line", delay=0.25, range=1100, radius=65, speed=1800, addHitbox=true, danger=3, dangerous=true, proj="BlindMonkQOne", killTime=0},
["LeonaZenithBlade"]= {charName="Leona", slot=2, type="Line", delay=0.25, range=905, radius=70, speed=2000, addHitbox=true, danger=3, dangerous=true, proj="LeonaZenithBladeMissile", killTime=0},
["LeonaSolarFlare"]= {charName="Leona", slot=3, type="Circle", delay=1, range=1200, radius=300, speed=999999999, addHitbox=true, danger=5, dangerous=true, proj="LeonaSolarFlare", killTime=0.5},
["LissandraQ"]= {charName="Lissandra", slot=0, type="Line", delay=0.25, range=700, radius=75, speed=2200, addHitbox=true, danger=2, dangerous=false, proj="LissandraQMissile", killTime=0},
["LissandraQShards"]= {charName="Lissandra", slot=0, type="Line", delay=0.25, range=700, radius=90, speed=2200, addHitbox=true, danger=2, dangerous=false, proj="lissandraqshards", killTime=0},
["LissandraE"]= {charName="Lissandra", slot=2, type="Line", delay=0.25, range=1025, radius=125, speed=850, addHitbox=true, danger=2, dangerous=false, proj="LissandraEMissile", killTime=0},
["LucianQ"]= {charName="Lucian", slot=0, type="Line", delay=0.5, range=1300, radius=65, speed=999999999, addHitbox=true, danger=2, dangerous=false, proj="LucianQ", killTime=0},
["LucianW"]= {charName="Lucian", slot=1, type="Line", delay=0.25, range=1000, radius=55, speed=1600, addHitbox=true, danger=2, dangerous=false, proj="lucianwmissile", killTime=0},
["LucianRMis"]= {charName="Lucian", slot=3, type="Line", delay=0.5, range=1400, radius=110, speed=2800, addHitbox=true, danger=2, dangerous=false, proj="lucianrmissileoffhand", killTime=0},
["LuluQ"]= {charName="Lulu", slot=0, type="Line", delay=0.25, range=950, radius=60, speed=1450, addHitbox=true, danger=2, dangerous=false, proj="LuluQMissile", killTime=0},
["LuluQPix"]= {charName="Lulu", slot=0, type="Line", delay=0.25, range=950, radius=60, speed=1450, addHitbox=true, danger=2, dangerous=false, proj="LuluQMissileTwo", killTime=0},
["LuxLightBinding"]= {charName="Lux", slot=0, type="Line", delay=0.25, range=1300, radius=70, speed=1200, addHitbox=true, danger=3, dangerous=true, proj="LuxLightBindingMis", killTime=0},
["LuxLightStrikeKugel"]= {charName="Lux", slot=2, type="Circle", delay=0.25, range=1100, radius=275, speed=1300, addHitbox=true, danger=2, dangerous=false, proj="LuxLightStrikeKugel", killTime=5.25},
["LuxMaliceCannon"]= {charName="Lux", slot=3, type="Line", delay=1, range=3500, radius=190, speed=999999999, addHitbox=true, danger=5, dangerous=true, proj="LuxMaliceCannon", killTime=0},
["UFSlash"]= {charName="Malphite", slot=3, type="Circle", delay=0, range=1000, radius=270, speed=1500, addHitbox=true, danger=5, dangerous=true, proj="UFSlash", killTime=0.4},
["MalzaharQ"]= {charName="Malzahar", slot=0, type="Line", delay=0.75, range=900, radius=85, speed=999999999, addHitbox=true, danger=2, dangerous=false, proj="MalzaharQ", killTime=0},
["DarkBindingMissile"]= {charName="Morgana", slot=0, type="Line", delay=0.25, range=1300, radius=80, speed=1200, addHitbox=true, danger=3, dangerous=true, proj="DarkBindingMissile", killTime=0},
["NamiQ"]= {charName="Nami", slot=0, type="Circle", delay=0.95, range=1625, radius=150, speed=999999999, addHitbox=true, danger=3, dangerous=true, proj="namiqmissile", killTime=0.35},
["NamiR"]= {charName="Nami", slot=3, type="Line", delay=0.5, range=2750, radius=260, speed=850, addHitbox=true, danger=2, dangerous=false, proj="NamiRMissile", killTime=0},
["NautilusAnchorDrag"]= {charName="Nautilus", slot=0, type="Line", delay=0.25, range=1250, radius=90, speed=2000, addHitbox=true, danger=3, dangerous=true, proj="NautilusAnchorDragMissile", killTime=0},
["NocturneDuskbringer"]= {charName="Nocturne", slot=0, type="Line", delay=0.25, range=1125, radius=60, speed=1400, addHitbox=true, danger=2, dangerous=false, proj="NocturneDuskbringer", killTime=0},
["JavelinToss"]= {charName="Nidalee", slot=0, type="Line", delay=0.25, range=1500, radius=40, speed=1300, addHitbox=true, danger=3, dangerous=true, proj="JavelinToss", killTime=0},
["OlafAxeThrowCast"]= {charName="Olaf", slot=0, type="Line", delay=0.25, range=1000, radius=105, speed=1600, addHitbox=true, danger=2, dangerous=false, proj="olafaxethrow", killTime=0},
["OriannasQ"]= {charName="Orianna", slot=0, type="Line", delay=0, range=1500, radius=80, speed=1200, addHitbox=true, danger=2, dangerous=false, proj="orianaizuna", killTime=0},
["OrianaDissonanceCommand-"]= {charName="Orianna", slot=1, type="Circle", delay=0.25, range=0, radius=255, speed=999999999, addHitbox=true, danger=2, dangerous=false, proj="OrianaDissonanceCommand-", killTime=0.3},
["OriannasE"]= {charName="Orianna", slot=2, type="Line", delay=0, range=1500, radius=85, speed=1850, addHitbox=true, danger=2, dangerous=false, proj="orianaredact", killTime=0},
["OrianaDetonateCommand-"]= {charName="Orianna", slot=3, type="Circle", delay=0.7, range=0, radius=410, speed=999999999, addHitbox=true, danger=5, dangerous=true, proj="OrianaDetonateCommand-", killTime=0.5},
["QuinnQ"]= {charName="Quinn", slot=0, type="Line", delay=0.313, range=1050, radius=60, speed=1550, addHitbox=true, danger=2, dangerous=false, proj="QuinnQ", killTime=0},
["PoppyQ"]= {charName="Poppy", slot=0, type="Line", delay=0.5, range=430, radius=100, speed=999999999, addHitbox=true, danger=2, dangerous=false, proj="PoppyQ", killTime=0},
["PoppyRSpell"]= {charName="Poppy", slot=3, type="Line", delay=0.3, range=1200, radius=100, speed=1600, addHitbox=true, danger=3, dangerous=true, proj="PoppyRMissile", killTime=0},
["RengarE"]= {charName="Rengar", slot=2, type="Line", delay=0.25, range=1000, radius=70, speed=1500, addHitbox=true, danger=3, dangerous=true, proj="RengarEFinal", killTime=0},
["reksaiqburrowed"]= {charName="RekSai", slot=0, type="Line", delay=0.5, range=1625, radius=60, speed=1950, addHitbox=true, danger=3, dangerous=false, proj="RekSaiQBurrowedMis", killTime=0},
["rivenizunablade"]= {charName="Riven", slot=3, type="Line", delay=0.25, range=1100, radius=125, speed=1600, addHitbox=false, danger=5, dangerous=true, proj="RivenLightsaberMissile", killTime=0},
["RumbleGrenade"]= {charName="Rumble", slot=2, type="Line", delay=0.25, range=950, radius=60, speed=2000, addHitbox=true, danger=2, dangerous=false, proj="RumbleGrenade", killTime=0},
["RumbleCarpetBombM"]= {charName="Rumble", slot=3, type="Line", delay=0.4, range=1200, radius=200, speed=1600, addHitbox=true, danger=4, dangerous=false, proj="RumbleCarpetBombMissile", killTime=0},
["RyzeQ"]= {charName="Ryze", slot=0, type="Line", delay=0.25, range=900, radius=50, speed=1700, addHitbox=true, danger=2, dangerous=false, proj="RyzeQ", killTime=0},
["ryzerq"]= {charName="Ryze", slot=0, type="Line", delay=0.25, range=900, radius=50, speed=1700, addHitbox=true, danger=2, dangerous=false, proj="ryzerq", killTime=0},
["SejuaniGlacialPrisonStart"]= {charName="Sejuani", slot=3, type="Line", delay=0.25, range=1100, radius=110, speed=1600, addHitbox=true, danger=3, dangerous=true, proj="sejuaniglacialprison", killTime=0},
["SionE"]= {charName="Sion", slot=2, type="Line", delay=0.25, range=800, radius=80, speed=1800, addHitbox=true, danger=3, dangerous=true, proj="SionEMissile", killTime=0},
["ShenE"]= {charName="Shen", slot=2, type="Line", delay=0, range=650, radius=50, speed=1600, addHitbox=true, danger=3, dangerous=true, proj="ShenE", killTime=0},
["ShyvanaFireball"]= {charName="Shyvana", slot=2, type="Line", delay=0.25, range=950, radius=60, speed=1700, addHitbox=true, danger=2, dangerous=false, proj="ShyvanaFireballMissile", killTime=0},
["ShyvanaTransformCast"]= {charName="Shyvana", slot=3, type="Line", delay=0.25, range=1000, radius=150, speed=1500, addHitbox=true, danger=3, dangerous=true, proj="ShyvanaTransformCast", killTime=0},
["shyvanafireballdragon2"]= {charName="Shyvana", slot=3, type="Line", delay=0.25, range=850, radius=70, speed=2000, addHitbox=true, danger=3, dangerous=false, proj="ShyvanaFireballDragonFxMissile", killTime=0},
["SivirQReturn"]= {charName="Sivir", slot=0, type="Line", delay=0, range=1250, radius=100, speed=1350, addHitbox=true, danger=2, dangerous=false, proj="SivirQMissileReturn", killTime=0},
["SivirQ"]= {charName="Sivir", slot=0, type="Line", delay=0.25, range=1250, radius=90, speed=1350, addHitbox=true, danger=2, dangerous=false, proj="SivirQMissile", killTime=0},
["SkarnerFracture"]= {charName="Skarner", slot=2, type="Line", delay=0.25, range=1000, radius=70, speed=1500, addHitbox=true, danger=2, dangerous=false, proj="SkarnerFractureMissile", killTime=0},
["SonaR"]= {charName="Sona", slot=3, type="Line", delay=0.25, range=1000, radius=140, speed=2400, addHitbox=true, danger=5, dangerous=true, proj="SonaR", killTime=0},
["SwainShadowGrasp"]= {charName="Swain", slot=1, type="Circle", delay=1.1, range=900, radius=180, speed=999999999, addHitbox=true, danger=3, dangerous=true, proj="SwainShadowGrasp", killTime=0.5},
["SyndraQ"]= {charName="Syndra", slot=0, type="Circle", delay=0.6, range=800, radius=150, speed=999999999, addHitbox=true, danger=2, dangerous=false, proj="SyndraQ", killTime=0.2},
["syndrawcast"]= {charName="Syndra", slot=1, type="Circle", delay=0.25, range=950, radius=210, speed=1450, addHitbox=true, danger=2, dangerous=false, proj="syndrawcast", killTime=0.2},
["syndrae5"]= {charName="Syndra", slot=2, type="Line", delay=0, range=950, radius=100, speed=2000, addHitbox=true, danger=2, dangerous=false, proj="syndrae5", killTime=0},
["SyndraE"]= {charName="Syndra", slot=2, type="Line", delay=0, range=950, radius=100, speed=2000, addHitbox=true, danger=2, dangerous=false, proj="SyndraE", killTime=0},
["TalonRake"]= {charName="Talon", slot=1, type="Line", delay=0.25, range=800, radius=80, speed=2300, addHitbox=true, danger=2, dangerous=true, proj="talonrakemissileone", killTime=0},
["TalonRakeReturn"]= {charName="Talon", slot=1, type="Line", delay=0.25, range=800, radius=80, speed=1850, addHitbox=true, danger=2, dangerous=true, proj="talonrakemissiletwo", killTime=0},
["TahmKenchQ"]= {charName="TahmKench", slot=0, type="Line", delay=0.25, range=951, radius=90, speed=2800, addHitbox=true, danger=3, dangerous=true, proj="tahmkenchqmissile", killTime=0},
["TaricE"]= {charName="Taric", slot=2, type="Line", delay=1, range=750, radius=100, speed=999999999, addHitbox=true, danger=3, dangerous=true, proj="TaricE", killTime=0},
["ThreshQ"]= {charName="Thresh", slot=0, type="Line", delay=0.5, range=1100, radius=70, speed=1900, addHitbox=true, danger=3, dangerous=true, proj="ThreshQMissile", killTime=0},
["ThreshEFlay"]= {charName="Thresh", slot=2, type="Line", delay=0.125, range=1075, radius=110, speed=2000, addHitbox=true, danger=3, dangerous=true, proj="ThreshEMissile1", killTime=0},
["RocketJump"]= {charName="Tristana", slot=1, type="Circle", delay=0.5, range=900, radius=270, speed=1500, addHitbox=true, danger=2, dangerous=false, proj="RocketJump", killTime=0.3},
["slashCast"]= {charName="Tryndamere", slot=2, type="Line", delay=0, range=660, radius=93, speed=1300, addHitbox=true, danger=2, dangerous=false, proj="slashCast", killTime=0},
["WildCards"]= {charName="TwistedFate", slot=0, type="Line", delay=0.25, range=1450, radius=40, speed=1000, addHitbox=true, danger=2, dangerous=false, proj="SealFateMissile", killTime=0},
["TwitchVenomCask"]= {charName="Twitch", slot=1, type="Circle", delay=0.25, range=900, radius=275, speed=1400, addHitbox=true, danger=2, dangerous=false, proj="TwitchVenomCaskMissile", killTime=0.3},
["UrgotHeatseekingLineMissile"]={charName="Urgot", slot=0, type="Line", delay=0.125, range=1000, radius=60, speed=1600, addHitbox=true, danger=2, dangerous=false, proj="UrgotHeatseekingLineMissile", killTime=0},
["UrgotPlasmaGrenade"]= {charName="Urgot", slot=2, type="Circle", delay=0.25, range=1100, radius=210, speed=1500, addHitbox=true, danger=2, dangerous=false, proj="UrgotPlasmaGrenadeBoom", killTime=0.3},
["VarusQMissilee"]= {charName="Varus", slot=0, type="Line", delay=0.25, range=1800, radius=70, speed=1900, addHitbox=true, danger=2, dangerous=false, proj="VarusQMissile", killTime=0},
["VarusE"]= {charName="Varus", slot=2, type="Circle", delay=1, range=925, radius=235, speed=1500, addHitbox=true, danger=2, dangerous=false, proj="VarusE", killTime=1.5},
["VarusR"]= {charName="Varus", slot=3, type="Line", delay=0.25, range=1200, radius=120, speed=1950, addHitbox=true, danger=3, dangerous=true, proj="VarusRMissile", killTime=0},
["VeigarBalefulStrike"]= {charName="Veigar", slot=0, type="Line", delay=0.25, range=950, radius=70, speed=2000, addHitbox=true, danger=2, dangerous=false, proj="VeigarBalefulStrikeMis", killTime=0},
["VelkozQ"]= {charName="Velkoz", slot=0, type="Line", delay=0.25, range=1100, radius=50, speed=1300, addHitbox=true, danger=2, dangerous=false, proj="VelkozQMissile", killTime=0},
["VelkozQSplit"]= {charName="Velkoz", slot=0, type="Line", delay=0.25, range=1100, radius=55, speed=2100, addHitbox=true, danger=2, dangerous=false, proj="VelkozQMissileSplit", killTime=0},
["VelkozW"]= {charName="Velkoz", slot=1, type="Line", delay=0.25, range=1200, radius=88, speed=1700, addHitbox=true, danger=2, dangerous=false, proj="VelkozWMissile", killTime=0},
["VelkozE"]= {charName="Velkoz", slot=2, type="Circle", delay=0.5, range=800, radius=225, speed=1500, addHitbox=false, danger=2, dangerous=false, proj="VelkozEMissile", killTime=0.5},
["Vi-q"]= {charName="Vi", slot=0, type="Line", delay=0.25, range=1000, radius=90, speed=1500, addHitbox=true, danger=3, dangerous=true, proj="ViQMissile", killTime=0},
["Laser"]= {charName="Viktor", slot=2, type="Line", delay=0.25, range=1500, radius=80, speed=1050, addHitbox=true, danger=2, dangerous=false, proj="ViktorDeathRayMissile", killTime=0},
["xeratharcanopulse2"]= {charName="Xerath", slot=0, type="Line", delay=0.6, range=1600, radius=95, speed=999999999, addHitbox=true, danger=2, dangerous=false, proj="xeratharcanopulse2", killTime=0},
["XerathArcaneBarrage2"]= {charName="Xerath", slot=1, type="Circle", delay=0.7, range=1000, radius=200, speed=999999999, addHitbox=true, danger=2, dangerous=false, proj="XerathArcaneBarrage2", killTime=0.3},
["XerathMageSpear"]= {charName="Xerath", slot=2, type="Line", delay=0.2, range=1150, radius=60, speed=1400, addHitbox=true, danger=2, dangerous=true, proj="XerathMageSpearMissile", killTime=0},
["xerathrmissilewrapper"]= {charName="Xerath", slot=3, type="Circle", delay=0.7, range=5600, radius=130, speed=999999999, addHitbox=true, danger=3, dangerous=true, proj="xerathrmissilewrapper", killTime=0.4},
["YasuoQ3W"]= {charName="Yasuo", slot=0, type="Line", delay=0.5, range=1150, radius=90, speed=1500, addHitbox=true, danger=3, dangerous=true, proj="yasuoq3w", killTime=0},
["ZacQ"]= {charName="Zac", slot=0, type="Line", delay=0.5, range=550, radius=120, speed=999999999, addHitbox=true, danger=2, dangerous=false, proj="ZacQ", killTime=0},
["ZedQ"]= {charName="Zed", slot=0, type="Line", delay=0.25, range=925, radius=50, speed=1700, addHitbox=true, danger=2, dangerous=false, proj="ZedQMissile", killTime=0},
["ZiggsQ"]= {charName="Ziggs", slot=0, type="Circle", delay=0.25, range=850, radius=140, speed=1700, addHitbox=true, danger=2, dangerous=false, proj="ZiggsQSpell", killTime=0.2},
["ZiggsQBounce1"]= {charName="Ziggs", slot=0, type="Circle", delay=0.25, range=850, radius=140, speed=1700, addHitbox=true, danger=2, dangerous=false, proj="ZiggsQSpell2", killTime=0.2},
["ZiggsQBounce2"]= {charName="Ziggs", slot=0, type="Circle", delay=0.25, range=850, radius=160, speed=1700, addHitbox=true, danger=2, dangerous=false, proj="ZiggsQSpell3", killTime=0.2},
["ZiggsW"]= {charName="Ziggs", slot=1, type="Circle", delay=0.25, range=1000, radius=275, speed=1750, addHitbox=true, danger=2, dangerous=false, proj="ZiggsW", killTime=2.25},
["ZiggsE"]= {charName="Ziggs", slot=2, type="Circle", delay=0.5, range=900, radius=235, speed=1750, addHitbox=true, danger=2, dangerous=false, proj="ZiggsE", killTime=2.5},
["ZiggsR"]= {charName="Ziggs", slot=3, type="Circle", delay=0, range=5300, radius=500, speed=999999999, addHitbox=true, danger=2, dangerous=false, proj="ZiggsR", killTime=1.25},
["ZileanQ"]= {charName="Zilean", slot=0, type="Circle", delay=0.3, range=900, radius=210, speed=2000, addHitbox=true, danger=2, dangerous=false, proj="ZileanQMissile", killTime=1.5},
["ZyraE"]= {charName="Zyra", slot=2, type="Line", delay=0.25, range=1150, radius=70, speed=1150, addHitbox=true, danger=3, dangerous=true, proj="ZyraE", killTime=0},
}]]
self.Color = ARGB(255,255,255,255)
self.abc = false
self.Point = nil
self.Dick =
{
[0] =
{
[true] = function(Unit) if self.abc then
if ConfigMenu.Champ.D.S.H:Value() then
DrawSprite(self.Sprite[1].Sprite ,self.Sprite[1].PosX(Unit) + ConfigMenu.Champ.D.S.X.QX:Value(), self.Sprite[1].PosY(Unit) + ConfigMenu.Champ.D.S.Y.QY:Value(), 0, 0, 0, 0, self.Color)
else
DrawSprite(self.Sprite[1].Sprite ,self.Sprite[1].PosX(Unit) + ConfigMenu.Champ.D.S.X.QX:Value(), self.Sprite[1].PosY(Unit) + ConfigMenu.Champ.D.S.Y.QY:Value(), 0, 0, 0, 0, self.Color)
end
end end,
[false] = function(Unit) if self.abc then
if ConfigMenu.Champ.D.S.H:Value() then
DrawSprite(self.Sprite[5].Sprite ,self.Sprite[5].PosX(Unit) + ConfigMenu.Champ.D.S.X.QX:Value(), self.Sprite[5].PosY(Unit) + ConfigMenu.Champ.D.S.Y.QY:Value(), 0, 0, 0, 0, self.Color)
DrawText(string.format("%.2f", self.Spells[0].Timer), 25, self.Sprite[1].PosX(Unit)+12.5 + ConfigMenu.Champ.D.S.X.QX:Value(), self.Sprite[1].PosY(Unit)+20 + ConfigMenu.Champ.D.S.Y.QY:Value() + ConfigMenu.Champ.D.S.T:Value())
else
DrawSprite(self.Sprite[5].Sprite ,self.Sprite[5].PosX(Unit) + ConfigMenu.Champ.D.S.X.QX:Value(), self.Sprite[5].PosY(Unit) + ConfigMenu.Champ.D.S.Y.QY:Value(), 0, 0, 0, 0, self.Color)
DrawText(string.format("%.2f", self.Spells[0].Timer), 25, self.Sprite[1].PosX(Unit)+12.5 - ConfigMenu.Champ.D.S.T:Value() + ConfigMenu.Champ.D.S.X.QX:Value(), self.Sprite[1].PosY(Unit)+15 + (ConfigMenu.Champ.D.S.Y.QY:Value()*1.25))
end
end end,
},
[1] =
{
[true] = function(Unit) if self.abc then
if ConfigMenu.Champ.D.S.H:Value() then
DrawSprite(self.Sprite[2].Sprite ,self.Sprite[2].PosX(Unit) + ConfigMenu.Champ.D.S.X.QX:Value(), self.Sprite[2].PosY(Unit) + ConfigMenu.Champ.D.S.Y.QY:Value(), 0, 0, 0, 0, self.Color)
else
DrawSprite(self.Sprite[2].Sprite ,self.Sprite[2].PosX(Unit) + ConfigMenu.Champ.D.S.X.QX:Value(), self.Sprite[2].PosY(Unit) + ConfigMenu.Champ.D.S.Y.QY:Value(), 0, 0, 0, 0, self.Color)
end
end end,
[false] = function(Unit) if self.abc then
if ConfigMenu.Champ.D.S.H:Value() then
DrawSprite(self.Sprite[6].Sprite ,self.Sprite[6].PosX(Unit) + ConfigMenu.Champ.D.S.X.QX:Value(), self.Sprite[6].PosY(Unit) + ConfigMenu.Champ.D.S.Y.QY:Value(), 0, 0, 0, 0, self.Color)
DrawText(string.format("%.2f", self.Spells[1].Timer), 25, self.Sprite[2].PosX(Unit)+12.5 + ConfigMenu.Champ.D.S.X.QX:Value(), self.Sprite[2].PosY(Unit)+20 + ConfigMenu.Champ.D.S.Y.QY:Value() + ConfigMenu.Champ.D.S.T:Value())
else
DrawSprite(self.Sprite[6].Sprite ,self.Sprite[6].PosX(Unit) + ConfigMenu.Champ.D.S.X.QX:Value(), self.Sprite[6].PosY(Unit) + ConfigMenu.Champ.D.S.Y.QY:Value(), 0, 0, 0, 0, self.Color)
DrawText(string.format("%.2f", self.Spells[1].Timer), 25, self.Sprite[2].PosX(Unit)+12.5 - ConfigMenu.Champ.D.S.T:Value() + ConfigMenu.Champ.D.S.X.QX:Value(), self.Sprite[2].PosY(Unit)+15 + (ConfigMenu.Champ.D.S.Y.QY:Value()*1.25))
end
end end,
},
[2] =
{
[true] = function(Unit) if self.abc then
if ConfigMenu.Champ.D.S.H:Value() then
DrawSprite(self.Sprite[3].Sprite ,self.Sprite[3].PosX(Unit) + ConfigMenu.Champ.D.S.X.QX:Value(), self.Sprite[3].PosY(Unit) + ConfigMenu.Champ.D.S.Y.QY:Value(), 0, 0, 0, 0, self.Color)
else
DrawSprite(self.Sprite[3].Sprite ,self.Sprite[3].PosX(Unit) + ConfigMenu.Champ.D.S.X.QX:Value(), self.Sprite[3].PosY(Unit) + ConfigMenu.Champ.D.S.Y.QY:Value(), 0, 0, 0, 0, self.Color)
end
end end,
[false] = function(Unit) if self.abc then
if ConfigMenu.Champ.D.S.H:Value() then
DrawSprite(self.Sprite[7].Sprite ,self.Sprite[7].PosX(Unit) + ConfigMenu.Champ.D.S.X.QX:Value(), self.Sprite[7].PosY(Unit) + ConfigMenu.Champ.D.S.Y.QY:Value(), 0, 0, 0, 0, self.Color)
DrawText(string.format("%.2f", self.Spells[2].Timer), 25, self.Sprite[3].PosX(Unit)+12.5 + ConfigMenu.Champ.D.S.X.QX:Value(), self.Sprite[3].PosY(Unit)+20 + ConfigMenu.Champ.D.S.Y.QY:Value() + ConfigMenu.Champ.D.S.T:Value())
else
DrawSprite(self.Sprite[7].Sprite ,self.Sprite[7].PosX(Unit) + ConfigMenu.Champ.D.S.X.QX:Value(), self.Sprite[7].PosY(Unit) + ConfigMenu.Champ.D.S.Y.QY:Value(), 0, 0, 0, 0, self.Color)
DrawText(string.format("%.2f", self.Spells[2].Timer), 25, self.Sprite[3].PosX(Unit)+12.5 - ConfigMenu.Champ.D.S.T:Value() + ConfigMenu.Champ.D.S.X.QX:Value(), self.Sprite[3].PosY(Unit)+15 + (ConfigMenu.Champ.D.S.Y.QY:Value()*1.25))
end
end end,
},
[3] =
{
[true] = function(Unit) if self.abc then
if ConfigMenu.Champ.D.S.H:Value() then
DrawSprite(self.Sprite[4].Sprite ,self.Sprite[4].PosX(Unit) + ConfigMenu.Champ.D.S.X.QX:Value(), self.Sprite[4].PosY(Unit) + ConfigMenu.Champ.D.S.Y.QY:Value(), 0, 0, 0, 0, self.Color)
else
DrawSprite(self.Sprite[4].Sprite ,self.Sprite[4].PosX(Unit) + ConfigMenu.Champ.D.S.X.QX:Value(), self.Sprite[4].PosY(Unit) + ConfigMenu.Champ.D.S.Y.QY:Value(), 0, 0, 0, 0, self.Color)
end
end end,
[false] = function(Unit) if self.abc then
if ConfigMenu.Champ.D.S.H:Value() then
DrawSprite(self.Sprite[8].Sprite ,self.Sprite[8].PosX(Unit) + ConfigMenu.Champ.D.S.X.QX:Value(), self.Sprite[8].PosY(Unit) + ConfigMenu.Champ.D.S.Y.QY:Value(), 0, 0, 0, 0, self.Color)
DrawText(string.format("%.2f", self.Spells[3].Timer), 25, self.Sprite[4].PosX(Unit)+12.5 + ConfigMenu.Champ.D.S.X.QX:Value(), self.Sprite[4].PosY(Unit)+20 + ConfigMenu.Champ.D.S.Y.QY:Value() + ConfigMenu.Champ.D.S.T:Value())
else
DrawSprite(self.Sprite[8].Sprite ,self.Sprite[8].PosX(Unit) + ConfigMenu.Champ.D.S.X.QX:Value(), self.Sprite[8].PosY(Unit) + ConfigMenu.Champ.D.S.Y.QY:Value(), 0, 0, 0, 0, self.Color)
DrawText(string.format("%.2f", self.Spells[3].Timer), 25, self.Sprite[4].PosX(Unit)+12.5 - ConfigMenu.Champ.D.S.T:Value() + ConfigMenu.Champ.D.S.X.QX:Value(), self.Sprite[4].PosY(Unit)+15 + (ConfigMenu.Champ.D.S.Y.QY:Value()*1.25))
end
end end,
},
}
self.Dick2 =
{
[0] =
{
[true] = function(Unit) if self.abc then
if ConfigMenu.Champ.D.S.H:Value() then
DrawSprite(self.Sprite[9].Sprite ,self.Sprite[9].PosX(Unit) + ConfigMenu.Champ.D.S.X.QX:Value(), self.Sprite[9].PosY(Unit) + ConfigMenu.Champ.D.S.Y.QY:Value(), 0, 0, 0, 0, self.Color)
else
DrawSprite(self.Sprite[9].Sprite ,self.Sprite[9].PosX(Unit) + ConfigMenu.Champ.D.S.X.QX:Value(), self.Sprite[9].PosY(Unit) + ConfigMenu.Champ.D.S.Y.QY:Value(), 0, 0, 0, 0, self.Color)
end
end end,
[false] = function(Unit) if self.abc then
if ConfigMenu.Champ.D.S.H:Value() then
DrawSprite(self.Sprite[13].Sprite ,self.Sprite[13].PosX(Unit) + ConfigMenu.Champ.D.S.X.QX:Value(), self.Sprite[13].PosY(Unit) + ConfigMenu.Champ.D.S.Y.QY:Value(), 0, 0, 0, 0, self.Color)
DrawText(string.format("%.2f", self.Spells2[0].Timer), 25, self.Sprite[9].PosX(Unit)+12.5 + ConfigMenu.Champ.D.S.X.QX:Value(), self.Sprite[9].PosY(Unit)+20 + ConfigMenu.Champ.D.S.Y.QY:Value() + ConfigMenu.Champ.D.S.T:Value())
else
DrawSprite(self.Sprite[13].Sprite ,self.Sprite[13].PosX(Unit) + ConfigMenu.Champ.D.S.X.QX:Value(), self.Sprite[13].PosY(Unit) + ConfigMenu.Champ.D.S.Y.QY:Value(), 0, 0, 0, 0, self.Color)
DrawText(string.format("%.2f", self.Spells2[0].Timer), 25, self.Sprite[9].PosX(Unit)+12.5 - ConfigMenu.Champ.D.S.T:Value() + ConfigMenu.Champ.D.S.X.QX:Value(), self.Sprite[9].PosY(Unit)+15 + (ConfigMenu.Champ.D.S.Y.QY:Value()*1.25))
end
end end,
},
[1] =
{
[true] = function(Unit) if self.abc then
if ConfigMenu.Champ.D.S.H:Value() then
DrawSprite(self.Sprite[10].Sprite ,self.Sprite[10].PosX(Unit) + ConfigMenu.Champ.D.S.X.QX:Value(), self.Sprite[10].PosY(Unit) + ConfigMenu.Champ.D.S.Y.QY:Value(), 0, 0, 0, 0, self.Color)
else
DrawSprite(self.Sprite[10].Sprite ,self.Sprite[10].PosX(Unit) + ConfigMenu.Champ.D.S.X.QX:Value(), self.Sprite[10].PosY(Unit) + ConfigMenu.Champ.D.S.Y.QY:Value(), 0, 0, 0, 0, self.Color)
end
end end,
[false] = function(Unit) if self.abc then
if ConfigMenu.Champ.D.S.H:Value() then
DrawSprite(self.Sprite[14].Sprite ,self.Sprite[14].PosX(Unit) + ConfigMenu.Champ.D.S.X.QX:Value(), self.Sprite[14].PosY(Unit) + ConfigMenu.Champ.D.S.Y.QY:Value(), 0, 0, 0, 0, self.Color)
DrawText(string.format("%.2f", self.Spells2[1].Timer), 25, self.Sprite[10].PosX(Unit)+12.5 + ConfigMenu.Champ.D.S.X.QX:Value(), self.Sprite[10].PosY(Unit)+20 + ConfigMenu.Champ.D.S.Y.QY:Value() + ConfigMenu.Champ.D.S.T:Value())
else
DrawSprite(self.Sprite[14].Sprite ,self.Sprite[14].PosX(Unit) + ConfigMenu.Champ.D.S.X.QX:Value(), self.Sprite[14].PosY(Unit) + ConfigMenu.Champ.D.S.Y.QY:Value(), 0, 0, 0, 0, self.Color)
DrawText(string.format("%.2f", self.Spells2[1].Timer), 25, self.Sprite[10].PosX(Unit)+12.5 - ConfigMenu.Champ.D.S.T:Value() + ConfigMenu.Champ.D.S.X.QX:Value(), self.Sprite[10].PosY(Unit)+15 + (ConfigMenu.Champ.D.S.Y.QY:Value()*1.25))
end
end end,
},
[2] =
{
[true] = function(Unit) if self.abc then
if ConfigMenu.Champ.D.S.H:Value() then
DrawSprite(self.Sprite[11].Sprite ,self.Sprite[11].PosX(Unit) + ConfigMenu.Champ.D.S.X.QX:Value(), self.Sprite[11].PosY(Unit) + ConfigMenu.Champ.D.S.Y.QY:Value(), 0, 0, 0, 0, self.Color)
else
DrawSprite(self.Sprite[11].Sprite ,self.Sprite[11].PosX(Unit) + ConfigMenu.Champ.D.S.X.QX:Value(), self.Sprite[11].PosY(Unit) + ConfigMenu.Champ.D.S.Y.QY:Value(), 0, 0, 0, 0, self.Color)
end
end end,
[false] = function(Unit) if self.abc then
if ConfigMenu.Champ.D.S.H:Value() then
DrawSprite(self.Sprite[15].Sprite ,self.Sprite[15].PosX(Unit) + ConfigMenu.Champ.D.S.X.QX:Value(), self.Sprite[15].PosY(Unit) + ConfigMenu.Champ.D.S.Y.QY:Value(), 0, 0, 0, 0, self.Color)
DrawText(string.format("%.2f", self.Spells2[2].Timer), 25, self.Sprite[11].PosX(Unit)+12.5 + ConfigMenu.Champ.D.S.X.QX:Value(), self.Sprite[11].PosY(Unit)+20 + ConfigMenu.Champ.D.S.Y.QY:Value() + ConfigMenu.Champ.D.S.T:Value())
else
DrawSprite(self.Sprite[15].Sprite ,self.Sprite[15].PosX(Unit) + ConfigMenu.Champ.D.S.X.QX:Value(), self.Sprite[15].PosY(Unit) + ConfigMenu.Champ.D.S.Y.QY:Value(), 0, 0, 0, 0, self.Color)
DrawText(string.format("%.2f", self.Spells2[2].Timer), 25, self.Sprite[11].PosX(Unit)+12.5 - ConfigMenu.Champ.D.S.T:Value() + ConfigMenu.Champ.D.S.X.QX:Value(), self.Sprite[11].PosY(Unit)+15 + (ConfigMenu.Champ.D.S.Y.QY:Value()*1.25))
end
end end,
},
[3] =
{
[true] = function(Unit) if self.abc then
if ConfigMenu.Champ.D.S.H:Value() then
DrawSprite(self.Sprite[12].Sprite ,self.Sprite[12].PosX(Unit) + ConfigMenu.Champ.D.S.X.QX:Value(), self.Sprite[12].PosY(Unit) + ConfigMenu.Champ.D.S.Y.QY:Value(), 0, 0, 0, 0, self.Color)
else
DrawSprite(self.Sprite[12].Sprite ,self.Sprite[12].PosX(Unit) + ConfigMenu.Champ.D.S.X.QX:Value(), self.Sprite[12].PosY(Unit) + ConfigMenu.Champ.D.S.Y.QY:Value(), 0, 0, 0, 0, self.Color)
end
end end,
[false] = function(Unit) if self.abc then
if ConfigMenu.Champ.D.S.H:Value() then
DrawSprite(self.Sprite[16].Sprite ,self.Sprite[16].PosX(Unit) + ConfigMenu.Champ.D.S.X.QX:Value(), self.Sprite[16].PosY(Unit) + ConfigMenu.Champ.D.S.Y.QY:Value(), 0, 0, 0, 0, self.Color)
DrawText(string.format("%.2f", self.Spells2[3].Timer), 25, self.Sprite[12].PosX(Unit)+12.5 + ConfigMenu.Champ.D.S.X.QX:Value(), self.Sprite[12].PosY(Unit)+20 + ConfigMenu.Champ.D.S.Y.QY:Value() + ConfigMenu.Champ.D.S.T:Value())
else
DrawSprite(self.Sprite[16].Sprite ,self.Sprite[16].PosX(Unit) + ConfigMenu.Champ.D.S.X.QX:Value(), self.Sprite[16].PosY(Unit) + ConfigMenu.Champ.D.S.Y.QY:Value(), 0, 0, 0, 0, self.Color)
DrawText(string.format("%.2f", self.Spells2[3].Timer), 25, self.Sprite[12].PosX(Unit)+12.5 - ConfigMenu.Champ.D.S.T:Value() + ConfigMenu.Champ.D.S.X.QX:Value(), self.Sprite[12].PosY(Unit)+15 + (ConfigMenu.Champ.D.S.Y.QY:Value()*1.25))
end
end end,
},
}
self.Stuff =
{
["Combo"] =
{
[1] =
{
[true] = function(Unit)
if ConfigMenu.Champ.C.H.Q:Value() then
self:CastQ(Unit)
end
if ConfigMenu.Champ.C.H.W:Value() then
self:CastW(Unit)
end
if ConfigMenu.Champ.C.H.E:Value() then
self:CastE(Unit)
end
end,
[false] = function(Unit)
if not self.Spells[3].Ready then
if ConfigMenu.Champ.C.S.Q:Value() then
self:CastSQ(Unit)
end
if ConfigMenu.Champ.C.S.W:Value() then
self:CastSW(Unit)
end
else
CastSpell(3)
end
end,
},
[2] =
{
[true] = function(Unit)
if not self.Spells2[3].Ready then
if ConfigMenu.Champ.C.H.Q:Value() then
self:CastQ(Unit)
end
if ConfigMenu.Champ.C.H.W:Value() then
self:CastW(Unit)
end
self:CastE(Unit)
else
CastSpell(3)
end
end,
[false] = function(Unit)
if ConfigMenu.Champ.C.S.Q:Value() then
self:CastSQ(Unit)
end
if ConfigMenu.Champ.C.S.W:Value() then
self:CastSW(Unit)
end
end,
},
[3] =
{
[true] = function(Unit)
if ConfigMenu.Champ.C.H.Q:Value() then
self:CastQ(Unit)
end
if ConfigMenu.Champ.C.H.W:Value() then
self:CastW(Unit)
end
if ConfigMenu.Champ.C.H.E:Value() then
self:CastE(Unit)
end
if not self.Spells[3].Ready then
self:CastE(Unit)
else
if not self.Spells[0].Ready and not self.Spells[1].Ready and not self.Spells[2].Ready then
CastSpell(3)
end
end
end,
[false] = function(Unit)
if ConfigMenu.Champ.C.S.Q:Value() then
self:CastSQ(Unit)
end
if ConfigMenu.Champ.C.S.W:Value() then
self:CastSW(Unit)
end
if self.Spells2[3].Ready then
if not self.Spells2[0].Ready and self.Spells[0].Ready then
CastSpell(3)
end
end
end,
},
},
}
Human = true
self.WBuff = nil
self.WTable = {}
self.Point = nil
self.Unit = nil
self.aaTimer = 0
self.aaTimeReady = 0
self.windUP = 0
self.baseAS = GetBaseAttackSpeed(myHero)
ConfigMenu.Champ:Menu("C", "Combo")
ConfigMenu.Champ.C:SubMenu("H", "Human Combo")
ConfigMenu.Champ.C.H:Boolean("Q", "Use Q", true)
ConfigMenu.Champ.C.H:Boolean("W", "Use W", true)
ConfigMenu.Champ.C.H:Boolean("E", "Use W", true)
ConfigMenu.Champ.C:SubMenu("S", "Spider Combo")
ConfigMenu.Champ.C.S:Boolean("Q", "Use Q", true)
ConfigMenu.Champ.C.S:Boolean("W", "Use W", true)
ConfigMenu.Champ.C:DropDown("F", "Choose ur form", 3, {"Human", "Spider", "Both"})
ConfigMenu.Champ:Menu("JC", "JunglerClear")
ConfigMenu.Champ.JC:SubMenu("H", "Human Combo")
ConfigMenu.Champ.JC.H:Boolean("Q", "Use Q", true)
ConfigMenu.Champ.JC.H:Boolean("W", "Use W", true)
ConfigMenu.Champ.JC:SubMenu("S", "Spider Combo")
ConfigMenu.Champ.JC.S:Boolean("Q", "Use Q", true)
ConfigMenu.Champ.JC.S:Boolean("W", "Use W", true)
ConfigMenu.Champ:Menu("LC", "LaneClear")
ConfigMenu.Champ.LC:SubMenu("H", "Human Combo")
ConfigMenu.Champ.LC.H:Boolean("Q", "Use Q", true)
ConfigMenu.Champ.LC.H:Boolean("W", "Use W", true)
ConfigMenu.Champ.LC:SubMenu("S", "Spider Combo")
ConfigMenu.Champ.LC.S:Boolean("Q", "Use Q", true)
ConfigMenu.Champ.LC.S:Boolean("W", "Use W", true)
ConfigMenu.Champ:Menu("KS", "KillSteal")
ConfigMenu.Champ.KS:Boolean("Q", "Use Human Q in KillSteal", true)
ConfigMenu.Champ.KS:Boolean("W", "Use Human W in KillSteal", true)
ConfigMenu.Champ.KS:Boolean("SQ", "Use Spider Q in KillSteal", true)
ConfigMenu.Champ.KS:Boolean("SW", "Use Spider W in KillSteal", true)
ConfigMenu.Champ:Menu("D", "Draws")
ConfigMenu.Champ.D:Boolean("F", "Draw different form CD?", true)
ConfigMenu.Champ.D:SubMenu("HD", "Human Draws")
ConfigMenu.Champ.D.HD:Boolean("Q", "Draw Q range", true)
ConfigMenu.Champ.D.HD:Boolean("W", "Draw W range", true)
ConfigMenu.Champ.D.HD:Boolean("E", "Draw E range", true)
ConfigMenu.Champ.D:SubMenu("SD", "Spider Draws")
ConfigMenu.Champ.D.SD:Boolean("Q", "Draw Q range", true)
ConfigMenu.Champ.D.SD:Boolean("E", "Draw E range", true)
ConfigMenu.Champ.D:Slider("Q", "Quality", 155, 1, 255)
ConfigMenu.Champ.D:Boolean("DD", "Draw Total Dmg?", true)
ConfigMenu.Champ.D:SubMenu("S", "Sprites")
ConfigMenu.Champ.D.S:SubMenu("X", "X Pos")
ConfigMenu.Champ.D.S.X:Slider("QX", "PosX", 0, -1000, 1000)
ConfigMenu.Champ.D.S:SubMenu("Y", "Y Pos")
ConfigMenu.Champ.D.S.Y:Slider("QY", "PosX", 0, -1000, 1000)
ConfigMenu.Champ.D.S:Boolean("H", "Horizontal?", true)
ConfigMenu.Champ.D.S:Slider("T", "Move ur time", 0, -50, 50)
ConfigMenu.Champ:Menu("Orb", "Hotkeys")
ConfigMenu.Champ.Orb:KeyBinding("C", "Combo", string.byte(" "), false)
ConfigMenu.Champ.Orb:KeyBinding("LC", "LaneClear", string.byte("V"), false)
--ConfigMenu.Champ:Menu("E", "E Options")
--ConfigMenu.Champ.E:SubMenu("SE", "Spider E")
ConfigMenu.Champ:Menu("HC", "HitChance")
ConfigMenu.Champ.HC:Slider("E", "E HitChance", 20, 1, 100)
self:Sprites()
self:Download()
--[[DelayAction(function()
for k, v in pairs(self.SpellsTable) do
if ConfigMenu.Champ.E.SE[v.charName] then
local wow = {[0] = "Q", [1] = "W", [2] = "E", [3] = "R"}
ConfigMenu.Champ.E.SE[v.charName]:Boolean(v.charName, "Evade "..wow[v.slot], true)
end
end
end, 0.001)]]
OnTick(function(myHero) self:Tick(myHero) end)
OnDraw(function(myHero) self:Draw(myHero) end)
OnProcessSpellCast(function(unit, spell) self:OnCast(unit, spell) end)
--OnProcessSpellComplete(function(Object, spellProc) self:OnProcComplete(Object, spellProc) end)
--[[OnCreateObj(function(Object) self:OnCreate(Object) end)
OnDeleteObj(function(Object) self:OnDelete(Object) end)]]
end
--><
function Elise:Sprites()
for i = 1,16,1 do
if FileExist(SPRITE_PATH..self.Sprite[i].FName) then
self.Sprite[i].Sprite = CreateSpriteFromFile(self.Sprite[i].FName, 1)
end
end
end
function Elise:Tick(myHero)
local target = DickSelector:Targets(1000)
self:Checks()
if target and ConfigMenu.Champ.Orb.C:Value() then
self.Stuff["Combo"][ConfigMenu.Champ.C.F:Value()][Human](target)
end
if ConfigMenu.Champ.Orb.LC:Value() then
self:LaneClear()
end
end
function Elise:LaneClear()
for k, Unit in ipairs(minionManager.objects) do
if GetTeam(Unit) == 200 then
if Human then
if ConfigMenu.Champ.LC.H.Q:Value() then
self:CastQ(Unit)
end
if ConfigMenu.Champ.LC.H.W:Value() then
self:CastW(Unit)
end
if self.Spells[3].Ready and not self.Spells[0].Ready and not self.Spells[1].Ready then
CastSpell(3)
end
else
if ConfigMenu.Champ.LC.H.Q:Value() then
self:CastSQ(Unit)
end
if ConfigMenu.Champ.LC.H.W:Value() then
self:CastSW(Unit)
end
if self.Spells2[3].Ready and not self.Spells2[0].Ready and not self.WBuff and self.Spells[0].Ready and self.Spells[1].Ready then
CastSpell(3)
end
end
elseif GetTeam(Unit) == 300 then
if Human then
if ConfigMenu.Champ.JC.H.Q:Value() then
self:CastQ(Unit)
end
if ConfigMenu.Champ.JC.H.W:Value() then
self:CastW(Unit)
end
if self.Spells[3].Ready and not self.Spells[0].Ready and not self.Spells[1].Ready then
CastSpell(3)
end
else
if ConfigMenu.Champ.JC.H.Q:Value() then
self:CastSQ(Unit)
end
if ConfigMenu.Champ.JC.H.W:Value() then
self:CastSW(Unit)
end
if self.Spells2[3].Ready and not self.Spells2[0].Ready and not self.WBuff and self.Spells[0].Ready and self.Spells[1].Ready then
CastSpell(3)
end
end
end
end
end
function Elise:Draw(myHero)
if FileExist(SPRITE_PATH..self.Sprite[16].FName) then
if ConfigMenu.Champ.D.F:Value() then
for k = 0, 3, 1 do
if Human then
self.Dick2[k][self.Spells2[k].Ready](Unit)
else
self.Dick[k][self.Spells[k].Ready](Unit)
end
end
end
end
end
function Elise:Checks()
if GetCastName(myHero, 0) == "EliseHumanQ" then
Human = true
else
Human = false
end
if self.aaTimeReady ~= nil then
self.aaTimer = self.aaTimeReady - GetGameTimer()
if self.aaTimer <= 0 then
self.aaTimer = 0
end
end
for i = 0, 3, 1 do
self.Spells[i].Timer = self.Spells[i].CDT + self.Spells[i].CD(myHero) - GetGameTimer()
self.Spells2[i].Timer = self.Spells2[i].CDT + self.Spells2[i].CD(myHero) - GetGameTimer()
if self.Spells[i].Timer <= 0 then
self.Spells[i].Ready = true
self.Spells[i].Timer = 0
else
self.Spells[i].Ready = false
end
if self.Spells2[i].Timer <= 0 then
self.Spells2[i].Ready = true
self.Spells2[i].Timer = 0
else
self.Spells2[i].Ready = false
end
if GetCastLevel(myHero, i) == 0 then
self.Spells[i].Ready = false
self.Spells2[i].Ready = false
end
end
end
function Elise:OnCast(unit, spell)
if unit == myHero then
for i = 0, 3, 1 do
if Human then
if spell.name == self.Spells[i].Name then
self.Spells[i].CDT = GetGameTimer()
end
else
if spell.name == self.Spells2[i].Name then
self.Spells2[i].CDT = GetGameTimer()
end
end
end
end
end
--[[function Elise:OnProcComplete(Object, spellProc)
local V1 = nil
local Unit = nil
if Object == myHero and not Human then
if spellProc.name:lower():find("attack") then
ASDelay = 1/(self.baseAS*GetAttackSpeed(myHero))
self.windUP = spellProc.windUpTime
self.aaTimeReady = ASDelay + GetGameTimer() - self.windUP/1000
--if ConfigMenu.Champ.Orb.LC:Value() then
self.Unit = spellProc.target
Unit = spellProc.target
if self.aaTimer ~= 0 then
V1 = Unit.pos + Vector(Vector(GetOrigin(myHero)) - Vector(Unit.pos)):normalized()*GetMoveSpeed(myHero)
self.Point = V1
else
V1 = Unit.pos + Vector(Vector(GetOrigin(myHero)) - Vector(Unit.pos)):normalized()*(GetMoveSpeed(myHero)*self.aaTimer)
self.Point = V1
end
self:Orb(false)
--MoveToXYZ(V1)
DelayAction(function() self:Orb(true) end, GetDistance(V1)/GetMoveSpeed(myHero))
--end
end
end
end]]
function Elise:KS()
for k, v in ipairs(GetEnemyHeroes()) do
if Human then
if GetCurrentHP(v) <= Dmg[0](v) then
self:CastQ(v)
end
if GetCurrentHP(v) <= Dmg[0](v) + Dmg[1](v) then
self:CastQ(v)
self:CastW(v)
end
if GetCurrentHP(v) <= Dmg[0](v) + Dmg[1](v) + Dmg[2](v) and self.Spells2[3].Ready then
self:CastQ(v)
self:CastW(v)
DelayAction(function() CastSpell(3) end, 0.1)
DelayAction(function() self:CastSQ(v) end, 0.2)
end
else
if GetCurrentHP(v) <= Dmg[0](v) then
self:CastSQ(v)
end
end
end
end
--[[function Elise:Orb(Boolean)
if _G.IOW then
IOW.attacksEnabled = Boolean
IOW.movementEnabled = Boolean
elseif _G.DAC_Loaded then
DAC:AttacksEnabled(Boolean)
DAC:movementEnabled(Boolean)
elseif _G.AutoCarry_Loaded then
DACR.attacksEnabled(Boolean)
DACR.movementEnabled(Boolean)
elseif _G.PW then
PW.attacksEnabled = Boolean
PW.movementEnabled = Boolean
elseif _G.GoSWalkLoaded then
GoSWalk:EnableAttack(Boolean)
GoSWalk:EnableMovement(Boolean)
end
end]]
function Elise:CastQ(Unit)
if not Human then return end
if ValidTarget(Unit, 626) and self.Spells[0].Ready then
CastTargetSpell(Unit, 0)
end
end
function Elise:CastW(Unit)
if not Human then return end
if ValidTarget(Unit, 950) and self.Spells[1].Ready then
CastSkillShot(1, GetOrigin(Unit))
end
end
function Elise:CastE(Unit)
if not Human then return end
local EPred = GetPrediction(Unit, self.Spells[2])
if ValidTarget(Unit, self.Spells[2].range) and self.Spells[2].Ready and EPred and EPred.hitChance >= (ConfigMenu.Champ.HC.E:Value()/100) and not EPred:mCollision(1) then
CastSkillShot(2, EPred.castPos)
end
end
function Elise:CastSQ(Unit)
if Human then return end
if ValidTarget(Unit, 425) and self.Spells2[0].Ready then
CastTargetSpell(Unit, 0)
end
end
function Elise:CastSW(Unit)
if Human then return end
if ValidTarget(Unit, 425) and self.Spells2[1].Ready then
CastSpell(1)
end
end
function Elise:Download()
for i = 1,16,1 do
if FileExist(SPRITE_PATH..self.Sprite[i].FName) then self.abc = true return end
if not DirExists(SPRITE_PATH.."Elise") then
CreateDir(SPRITE_PATH.."Elise")
end
if DirExists(SPRITE_PATH.."Elise") then
DownloadFileAsync("https://raw.githubusercontent.com/Hanndel/GoS/master/Sprites/Elise/"..self.Sprite[i].Web, SPRITE_PATH .. "Elise\\"..self.Sprite[i].Web, function() PrintChat("Downloading "..self.Sprite[i].Web.." F6x2!") return end)
end
end
end
class "Irelia"
function Irelia:__init()
Dmg =
{
[0] = function(Unit) return CalcDamage(myHero, Unit, -10+30*GetCastLevel(myHero, 0) + (GetBaseDamage(myHero) + GetBonusDmg(myHero))) end,
[1] = function(Unit) return 15*GetCastLevel(myHero, 1) end,
[2] = function(Unit) return CalcDamage(myHero, Unit, 0, 40+40*GetCastLevel(myHero, 2)*GetBonusAP(myHero)/2) end,
[3] = function(Unit) return CalcDamage(myHero, Unit, 40+40*GetCastLevel(myHero, 3) + GetBonusDmg(myHero)*0.6 + GetBonusAP(myHero)/2) end,
}
self.Spells =
{
[0] = {range = 650},
[1] = {duration = 6},
[2] = {range = 425},
[3] = {range = 1000, speed = 1700, delay = 0.250, width = 25},
}
self.WBuff = false
self.WEndBuff = 0
self.WTimer = nil
self.Trinity = false
self.aaTimer = 0
self.aaTimeReady = 0
self.windUP = 0
self.baseAS = GetBaseAttackSpeed(myHero)
self.Target = nil
ConfigMenu.Champ:Menu("C", "Combo")
ConfigMenu.Champ.C:Boolean("Q", "Use Q", true)
ConfigMenu.Champ.C:Boolean("QG", "Gapcloser?", true)
ConfigMenu.Champ.C:Slider("DG", "Distance after GP", 200, 300, 650)
ConfigMenu.Champ.C:Boolean("W", "Use W", true)
ConfigMenu.Champ.C:DropDown("E", "E Mode", 1, {"Always", "Only stun", "Off"})
ConfigMenu.Champ.C:Boolean("R", "Use R", true)
ConfigMenu.Champ.C:Slider("HPR", "Hp to spam R", 30, 1, 100)
ConfigMenu.Champ:Menu("H", "Harass")
ConfigMenu.Champ.H:Boolean("Q", "Use Q", true)
ConfigMenu.Champ.H:Boolean("QG", "Gapcloser?", true)
ConfigMenu.Champ.H:Boolean("W", "Use W", true)
ConfigMenu.Champ.H:DropDown("E", "E Mode", 1, {"Always", "Only stun", "Off"})
-- ConfigMenu.Champ.H:Slider("M", "Mana for Harass", 50, 1, 100)
ConfigMenu.Champ:Menu("HC", "Hitchance")
ConfigMenu.Champ.HC:Slider("R", "R HitChance", 20, 1, 100)
ConfigMenu.Champ:Menu("F", "Farm")
ConfigMenu.Champ.F:SubMenu("LH", "LastHit")
ConfigMenu.Champ.F.LH:Boolean("Q", "Use Q", true)
-- ConfigMenu.Champ.F.LH:Slider("M", "Mana for LH", 50, 1, 100)
ConfigMenu.Champ.F:SubMenu("LC", "LaneClear")
ConfigMenu.Champ.F.LC:Boolean("Q", "Use Q", true)
ConfigMenu.Champ.F.LC:Boolean("W", "Use W", true)
ConfigMenu.Champ.F.LC:Boolean("E", "Use E", true)
ConfigMenu.Champ.F.LC:Boolean("R", "Use R", true)
-- ConfigMenu.Champ.F.LC:Slider("M", "Mana for LC", 50, 1, 100)
ConfigMenu.Champ.F:SubMenu("JC", "JunglerClear")
ConfigMenu.Champ.F.JC:Boolean("Q", "Use Q", true)
ConfigMenu.Champ.F.JC:Boolean("W", "Use W", true)
ConfigMenu.Champ.F.JC:Boolean("E", "Use E", true)
-- ConfigMenu.Champ.F.JC:Slider("M", "Mana for JC", 50, 1, 100)
ConfigMenu.Champ:Menu("KS", "KillSteal")
ConfigMenu.Champ.KS:Boolean("Q", "Use Q", true)
ConfigMenu.Champ.KS:Boolean("W", "Use W", true)
ConfigMenu.Champ.KS:Boolean("R", "Use R", true)
ConfigMenu.Champ:Menu("I", "Items")
ConfigMenu.Champ.I:Boolean("TH", "Use Tiamat/Hydra", true)
ConfigMenu.Champ.I:Boolean("TI", "Use Titanic Hydra", true)
ConfigMenu.Champ.I:Boolean("BG", "Use Bilgewhater", true)
ConfigMenu.Champ.I:Boolean("BO", "Use Botkr", true)
ConfigMenu.Champ.I:Boolean("YO", "Use Youmu", true)
ConfigMenu.Champ.I:Boolean("HG", "Use Hextech Gunblade", true)
ConfigMenu.Champ:Menu("D", "Draws")
ConfigMenu.Champ.D:Boolean("Q", "Draw Q Range", true)
ConfigMenu.Champ.D:Boolean("E", "Draw E Range", true)
ConfigMenu.Champ.D:Boolean("R", "Draw R Range", true)
ConfigMenu.Champ.D:Slider("DH", "Quality", 155, 1, 475)
ConfigMenu.Champ:Menu("Orb", "Hotkeys")
ConfigMenu.Champ.Orb:KeyBinding("C", "Combo", string.byte(" "), false)
ConfigMenu.Champ.Orb:KeyBinding("H", "Harass", string.byte("C"), false)
ConfigMenu.Champ.Orb:KeyBinding("LC", "LaneClear", string.byte("V"), false)
ConfigMenu.Champ.Orb:KeyBinding("LH", "LastHit", string.byte("X"), false)
ConfigMenu.Champ.Orb:KeyBinding("Q", "LastHit Q", string.byte("T"), false)
--ConfigMenu.Champ.Orb:KeyBinding("F", "Flee", string.byte("T"), false)
OnTick(function(myHero) self:Tick(myHero) end)
OnDraw(function(myHero) self:Draw(myHero) end)
OnProcessSpellComplete(function(Object, spellProc) self:OnProcComplete(Object, spellProc) end)
OnProcessSpell(function(Object, spellProc) self:OnProc(Object, spellProc) end)
OnUpdateBuff(function(Object, buff) self:OnUpdate(Object, buff) end)
OnRemoveBuff(function(Object, buff) self:OnRemove(Object, buff) end)
end
function Irelia:Tick(myHero)
self.WTimer = self.WEndBuff - GetGameTimer()
self.Target = DickSelector:Targets(1000)
if self.aaTimeReady ~= nil then
self.aaTimer = self.aaTimeReady - GetGameTimer()
if self.aaTimer <= 0 then
self.aaTimer = 0
end
end
if self.Target ~= nil then
if ConfigMenu.Champ.Orb.C:Value() then
self:Combo(self.Target)
end
if ConfigMenu.Champ.Orb.H:Value() then
self:Harass(self.Target)
end
end
if ConfigMenu.Champ.Orb.LC:Value() then
self:LaneClear()
end
if ConfigMenu.Champ.Orb.LH:Value() then
self:LastHit()
end
end
function Irelia:Draw(myHero)
if Ready(0) and ConfigMenu.Champ.D.Q:Value() then
DrawCircle(GetOrigin(myHero), self.Spells[0].range, 1, ConfigMenu.Champ.D.DH:Value(), GoS.Red)
end
if Ready(2) and ConfigMenu.Champ.D.E:Value() then
DrawCircle(GetOrigin(myHero), self.Spells[2].range, 1, ConfigMenu.Champ.D.DH:Value(), GoS.Blue)
end
if Ready(3) and ConfigMenu.Champ.D.R:Value() then
DrawCircle(GetOrigin(myHero), self.Spells[3].range, 1, ConfigMenu.Champ.D.DH:Value(), GoS.Green)
end
end
function Irelia:Gapcloser(Unit)
if ValidTarget(Unit, 1000) then
for k, v in ipairs(minionManager.objects) do
if ValidTarget(v, self.Spells[0].range) and GetDistance(v, Unit) <= ConfigMenu.Champ.C.DG:Value() then
if ConfigMenu.Champ.Orb.C:Value() and ConfigMenu.Champ.C.QG:Value() then
if GetCurrentHP(v) < Dmg[0](v) and Ready(0) then
CastTargetSpell(v, 0)
end
if GetCurrentHP(v) < Dmg[0](v) + Dmg[1] and Ready(0) and Ready(1) then
CastSpell(1)
DelayAction(function() CastTargetSpell(v, 0) end, 0.1)
end
if GetCurrentHP(v) < Dmg[0](v) + Dmg[1] and Ready(0) and self.WBuff then
CastTargetSpell(v, 0)
end
if GetCurrentHP(v) < Dmg[0](v) + Dmg[3](v) and Ready(0) and Ready(3) then
CastSkillShot(3, GetOrigin(v))
DelayAction(function() CastTargetSpell(v, 0) end, GetDistance(v)/self.Spells[3].speed)
end
if GetCurrentHP(v) < Dmg[0](v) + Dmg[3](v) + Dmg[1] and Ready(0) and Ready(3) and Ready(1) then
CastSpell(1)
CastSkillShot(3, GetOrigin(v))
DelayAction(function() CastTargetSpell(v, 0) end, GetDistance(v)/self.Spells[3].speed)
end
if GetCurrentHP(v) < Dmg[0](v) + Dmg[3](v) + Dmg[1] and Ready(0) and Ready(3) and self.Wbuff then
CastSkillShot(3, GetOrigin(v))
DelayAction(function() CastTargetSpell(v, 0) end, GetDistance(v)/self.Spells[3].speed)
end
end
if ConfigMenu.Champ.Orb.H:Value() and ConfigMenu.Champ.H.QG:Value() then
if GetCurrentHP(v) < Dmg[0](v) and Ready(0) then
CastTargetSpell(v, 0)
end
if GetCurrentHP(v) < Dmg[0](v) + Dmg[1] and Ready(0) and Ready(1) then
CastSpell(1)
DelayAction(function() CastTargetSpell(v, 0) end, 0.1)
end
if GetCurrentHP(v) < Dmg[0](v) + Dmg[1] and Ready(0) and self.WBuff then
CastTargetSpell(v, 0)
end
if GetCurrentHP(v) < Dmg[0](v) + Dmg[3](v) and Ready(0) and Ready(3) then
CastSkillShot(3, GetOrigin(v))
DelayAction(function() CastTargetSpell(v, 0) end, GetDistance(v)/self.Spells[3].speed)
end
end
else
return false
end
end
end
end
function Irelia:Combo(Unit)
self:Gapcloser(Unit)
if not self:Gapcloser(Unit) and ValidTarget(Unit, self.Spells[0].range) and Ready(0) and ConfigMenu.Champ.C.Q:Value() then
CastTargetSpell(Unit, 0)
end
if Ready(1) and ValidTarget(Unit, self.Spells[2].range) and ConfigMenu.Champ.C.W:Value() then
CastSpell(1)
end
if Ready(3) and ValidTarget(Unit, self.Spells[3].range) and (GetPercentHP(myHero) > ConfigMenu.Champ.C.HPR:Value() and not self.Trinity or GetPercentHP(myHero) < ConfigMenu.Champ.C.HPR:Value()) and ConfigMenu.Champ.C.R:Value() then
local RPred = GetPrediction(Unit, self.Spells[3])
if RPred and RPred.hitChance >= ConfigMenu.Champ.HC.R:Value()/100 then
CastSkillShot(3, RPred.castPos)
end
end
end
function Irelia:Harass(Unit)
self: