ChallengerAntiBaseUltVersion = "0.04"
function ChallengerAntiBaseUltUpdaterino(data)
if tonumber(data) > tonumber(ChallengerAntiBaseUltVersion) then
PrintChat("Challenger AntiBaseUlt - New version found! " ..tonumber(data).." Downloading update, please wait...")
DownloadFileAsync("https://raw.githubusercontent.com/D3ftsu/GoS/master/ChallengerAntiBaseUlt.lua", SCRIPT_PATH .. "ChallengerAntiBaseUlt.lua", function() PrintChat("Challenger AntiBaseUlt - Updated from v"..tonumber(ChallengerAntiBaseUltVersion).." to v"..tonumber(data)..". Please press F6 twice to reload.") return end)
end
end
class "ChallengerAntiBaseUlt"
function ChallengerAntiBaseUlt:__init()
PrintChat("Challenger Anti-BaseUlt - Loaded v" ..ChallengerAntiBaseUltVersion)
self.cfg = MenuConfig("AntiBaseUlt", "Anti-BaseUlt")
self.cfg:Boolean("Enabled", "Enabled", true)
self.SpellData = {
["Ashe"] = {
MissileName = "EnchantedCrystalArrow",
MissileSpeed = 1600,
},
["Draven"] = {
MissileName = "DravenDoubleShotMissile",
MissileSpeed = 2000,
},
["Ezreal"] = {
MissileName = "EzrealTrueshotBarrage",
MissileSpeed = 2000,
},
["Jinx"] = {
MissileName = "JinxR",
MissileSpeed = 1700,
}
}
self.missiles = {}
self.RecallingTime = 0
self.LastPrint = 0
self.fountain = nil
self.fountainRange = mapID == SUMMONERS_RIFT and 1050 or 750
Callback.Add("ObjectLoad", function(Object) self:CreateObj(Object) end)
Callback.Add("CreateObj", function(Object) self:CreateObj(Object) end)
Callback.Add("ProcessRecall", function(unit, recall) self:ProcessRecall(unit, recall) end)
Callback.Add("Tick", function() self:Tick() end)
end
function ChallengerAntiBaseUlt:CreateObj(Object)
if GetObjectType(Object) == Obj_AI_SpawnPoint and GetTeam(Object) == GetTeam(myHero) then
self.fountain = Object
end
if self.SpellData[GetObjectSpellOwner(Object)] and self.SpellData[GetObjectSpellOwner(Object)].MissileName == GetObjectSpellName(Object) and GetTeam(GetObjectSpellOwner(Object)) == MINION_ENEMY then
table.insert(self.missiles, Object)
end
end
function ChallengerAntiBaseUlt:ProcessRecall(unit, recall)
if unit == myHero and recall.isStart then
self.RecallingTime = GetTickCount() + recall.totalTime
end
end
function ChallengerAntiBaseUlt:Tick()
if not IsRecalling(myHero) or IsDead(myHero) then return end
for i, missile in pairs(self.missiles) do
if getdmg("R", GetObjectSpellOwner(missile), myHero, 3) > GetCurrentHP(myHero) and self:InFountain(GetObjectSpellEndPos(missile)) and self.RecallingTime > (GetDistance(missile, self.fountain) / self.SpellData[GetObjectSpellOwner(missile)].MissileSpeed * 1000) then
MoveToXYZ(myHero.x+100,myHero.y, myHero.z+100)
if GetTickCount()-self.LastPrint > 1000 then
PrintChat("Challenger Anti-BaseUlt - Prevented A Baseult From "..GetObjectName(GetObjectSpellOwner(missile))" ")
self.LastPrint = GetTickCount()
end
end
end
end
function ChallengerAntiBaseUlt:InFountain(pos)
return GetDistance(self.fountain, pos) < self.fountainRange
end
GetWebResultAsync("https://raw.githubusercontent.com/D3ftsu/GoS/master/ChallengerAntiBaseUlt.version", ChallengerAntiBaseUltUpdaterino)
ChallengerAntiBaseUlt()