if GetObjectName(GetMyHero()) ~= "TwistedFate" then return end --MonTour TwistedFate:V0.1.1.2 Beta - updated GoS:myHeroPos() to GetOrigin(myHero) PrintChat(string.format("MonTour Nasus: loaded by MarCiii!")) PrintChat(string.format("Version: 0.1.1.2 Beta")) PrintChat(string.format("Credits to: Deftsu for ItemsUse Code")) local MonTourMenu = Menu("TwistedFate", "Twisted Fate") MonTourMenu:SubMenu("Combo", "Combo") MonTourMenu.Combo:Boolean("Q", "Use Q", true) MonTourMenu.Combo:Info("TwistedFate", "Use Q only in AA") MonTourMenu.Combo:List("QR", "Range with Active Card?", 1, {"Yes", "No"}) MonTourMenu.Combo:List("QR2", "Use Q if Cards on CD?", 1, {"Yes", "No, At Any Time"}) MonTourMenu.Combo:Boolean("Card", "Use Cards in Combo?", true) MonTourMenu.Combo:List("prio", "Which Card in Combo?", 1, {"Yellow", "Blue", "Red"}) MonTourMenu.Combo:Slider("Mana", "Use Blue Card if Mana < x%", 40, 1, 90, 1) MonTourMenu.Combo:Key("Yellow", "Yellow Card", string.byte("A")) MonTourMenu.Combo:Key("Blue", "Blue Card", string.byte("E")) MonTourMenu.Combo:Key("Red", "Red Card", string.byte("T")) MonTourMenu.Combo:Info("TwistedFate", "If manually pressing R") MonTourMenu.Combo:Boolean("R", "then Auto use StunCard?", true) MonTourMenu:SubMenu("Harass", "Harass") MonTourMenu.Harass:Boolean("Q", "Use Q", true) MonTourMenu.Harass:Info("TwistedFate", "Use Q only in AA") MonTourMenu.Harass:List("QR", "Range with Active Card?", 2, {"Yes", "No"}) MonTourMenu.Harass:List("QR2", "Use Q if Cards on CD?", 2, {"Yes", "No, At Any Time"}) MonTourMenu.Harass:Boolean("Card", "Use Cards in Combo?", true) MonTourMenu.Harass:List("prio", "Which Card in Combo?", 1, {"Yellow", "Blue", "Red"}) MonTourMenu.Harass:Slider("Mana", "Use Blue Card if Mana < x%", 40, 1, 90, 1) MonTourMenu:SubMenu("Farm", "LastHit") MonTourMenu.Farm:Boolean("Card", "LastHit with Cards?", true) MonTourMenu.Farm:List("prio", "Which Card in LastHit?", 2, {"Yellow", "Blue", "Red"}) MonTourMenu.Farm:Slider("Mana", "Blue Card if Mana < x%", 60, 1, 90, 1) MonTourMenu:SubMenu("Farm2", "LaneClear") MonTourMenu.Farm2:Boolean("Card", "LaneClear with Cards?", true) MonTourMenu.Farm2:List("prio", "Which Card in LaneClear?", 3, {"Yellow", "Blue", "Red"}) MonTourMenu.Farm2:Slider("Mana", "Blue Card if Mana < x%", 60, 1, 90, 1) MonTourMenu:SubMenu("Items", "Items&Ignite") MonTourMenu.Items:Boolean("Ignite", "Use Ignite", true) MonTourMenu.Items:Boolean("QSS", "Always Use QSS", true) MonTourMenu.Items:Slider("QSSHP", "if My Health < x% (Def.75)", 75, 0, 100, 1) MonTourMenu.Items:Boolean("Zhonya", "Always Use Zhonyas", true) MonTourMenu.Items:Slider("ZhonyaHP", "if My Health < x% (Def.30)", 30, 0, 90, 1) MonTourMenu:SubMenu("Int", "Interrupt Spells") MonTourMenu.Int:Boolean("Int", "Interrupt Spells", true) MonTourMenu:SubMenu("Misc", "Misc") MonTourMenu.Misc:Boolean("DOH", "Draw DmgOverHPBars", true) MonTourMenu.Misc:Boolean("DKS", "Draw Killable Text", true) --myHero = GetMyHero() tick = 0 ultimateused = false tickwarn = 0 selectedcard = "" target = GetCurrentTarget() unit = GetCurrentTarget() CHANELLING_SPELLS = { ["Caitlyn"] = {_R}, ["Katarina"] = {_R}, ["MasterYi"] = {_W}, ["FiddleSticks"] = {_W, _R}, ["Galio"] = {_R}, ["Lucian"] = {_R}, ["MissFortune"] = {_R}, ["VelKoz"] = {_R}, ["Nunu"] = {_R}, ["Shen"] = {_R}, ["Karthus"] = {_R}, ["Malzahar"] = {_R}, ["Pantheon"] = {_R}, ["Warwick"] = {_R}, ["Xerath"] = {_Q, _R}, ["Varus"] = {_Q}, ["TahmKench"] = {_R}, ["TwistedFate"] = {_R}, ["Janna"] = {_R} } local callback = nil OnProcessSpell(function(unit, spell) if not callback or not unit or GetObjectType(unit) ~= Obj_AI_Hero or GetTeam(unit) == GetTeam(GetMyHero()) then return end local unitChanellingSpells = CHANELLING_SPELLS[GetObjectName(unit)] if unitChanellingSpells then for _, spellSlot in pairs(unitChanellingSpells) do if spell.name == GetCastName(unit, spellSlot) then callback(unit, CHANELLING_SPELLS) end end end end) function addInterrupterCallback( callback0 ) callback = callback0 end OnLoop(function(myHero) Items() if MonTourMenu.Misc.DOH:Value() then DMGoHP() end if MonTourMenu.Items.Ignite:Value() then Ignite() end if selectedcard ~= "" then SelectCard() end if MonTourMenu.Misc.DKS:Value() then Killable() end if MonTourMenu.Farm.Card:Value() and IOW:Mode() == "LastHit" and GetTickCount() > tick then LastHit() end if MonTourMenu.Farm2.Card:Value() and IOW:Mode() == "LaneClear" and GetTickCount() > tick then IOW:EnableAutoAttacks() LaneClear() end if MonTourMenu.Combo.Blue:Value() and GetTickCount() > tick then if CanUseSpell(myHero,_W) == READY and GetCastName(myHero,_W) == "PickACard" then selectedcard = "bluecardlock" tick = GetTickCount() + 3000 CastSpell(_W) end end if MonTourMenu.Combo.Yellow:Value() and GetTickCount() > tick then if CanUseSpell(myHero,_W) == READY and GetCastName(myHero,_W) == "PickACard" then selectedcard = "goldcardlock" tick = GetTickCount() + 3000 CastSpell(_W) end end if MonTourMenu.Combo.Red:Value() and GetTickCount() > tick then if CanUseSpell(myHero,_W) == READY and GetCastName(myHero,_W) == "PickACard" then selectedcard = "redcardlock" tick = GetTickCount() + 3000 CastSpell(_W) end end if IOW:Mode() == "Combo" then Combo() end if IOW:Mode() == "Harass" then Harass() end end) OnProcessSpell(function(Object,spellProc) if not MonTourMenu.Combo.R:Value() then return end if Object and Object == myHero then local name = spellProc.name:lower() if name == "destiny" then ultimateused = true end if name == "gate" then ultimateused = false selectedcard = "goldcardlock" if CanUseSpell(myHero,_W) == READY and GetCastName(myHero,_W) == "PickACard" then CastSpell(_W) end end end end) function DMGoHP() local ad = GetBonusDmg(myHero) + GetBaseDamage(myHero) local Wlevel = GetCastLevel(myHero,_W) - 1 local Qlevel = GetCastLevel(myHero,_Q) - 1 local Elevel = GetCastLevel(myHero,_E) - 1 local EPassive = 0 local lichbane = 0 local sheendmg = 0 local Ludens = 0 local bcard = (40 + (20 * Wlevel) + (ad) + (GetBonusAP(myHero) * 0.5 )) local ycard = (15 + (7.5 * Wlevel) + (ad) + (GetBonusAP(myHero) * 0.5 )) local rcard = (30 + (15 * Wlevel) + ad + (GetBonusAP(myHero) * 0.5)) local qdmg = (60 + (50 * Qlevel) + (GetBonusAP(myHero) * 0.65 )) if GotBuff(myHero, "lichbane") >= 1 and GetItemSlot(myHero,3100) then lichbane = lichbane + GetBaseDamage(myHero)*0.75 + GetBonusAP(myHero)*0.5 end if GotBuff(myHero, "sheen") >= 1 and GetItemSlot(myHero,3057) then sheendmg = sheendmg + GetBaseDamage(myHero) end if GotBuff(myHero, "cardmasterstackparticle") == 1 then EPassive = EPassive + 55 + (25 * Elevel) + (GetBonusAP(myHero) * 0.5 ) end if GotBuff(myHero, "itemmagicshankcharge") > 99 then Ludens = Ludens + 0.1*GetBonusAP(myHero) + 100 end for _,unit in pairs(GoS:GetEnemyHeroes()) do if not IsDead(unit) and GoS:ValidTarget(unit,20000) then local hp = GetCurrentHP(unit) + GetMagicShield(unit) + GetDmgShield(unit) local Qdmg = GoS:CalcDamage(myHero, unit, sheendmg, qdmg + Ludens) or 0 local Ydmg = GoS:CalcDamage(myHero, unit, sheendmg, ycard + qdmg + lichbane + EPassive + Ludens) or 0 local ALLdmg = GoS:CalcDamage(myHero, unit, ad, EPassive) or 0 local Bdmg = GoS:CalcDamage(myHero, unit, sheendmg, bcard + qdmg + lichbane + EPassive + Ludens) or 0 local Rdmg = GoS:CalcDamage(myHero, unit, sheendmg, rcard + qdmg + lichbane + EPassive + Ludens) or 0 local YBRdmg = GoS:CalcDamage(myHero, unit, sheendmg, ((rcard + bcard + ycard)/3) + qdmg + lichbane + EPassive + Ludens) or 0 local YdmgmQ = GoS:CalcDamage(myHero, unit, sheendmg, ycard + lichbane + EPassive + Ludens) or 0 local BdmgmQ = GoS:CalcDamage(myHero, unit, sheendmg, bcard + lichbane + EPassive + Ludens) or 0 local RdmgmQ = GoS:CalcDamage(myHero, unit, sheendmg, rcard + lichbane + EPassive + Ludens) or 0 local YBRdmgmQ = GoS:CalcDamage(myHero, unit, sheendmg, ((rcard + bcard + ycard)/3) + lichbane + EPassive + Ludens) or 0 if CanUseSpell(myHero,_Q) == READY and GetCastName(myHero,_W) == "goldcardlock" then DrawDmgOverHpBar(unit,GetCurrentHP(unit),0,Ydmg,0xffffffff) --and GotBuff(myHero,"goldcardpreattack") == 1 end if CanUseSpell(myHero,_Q) == READY and GetCastName(myHero,_W) == "redcardlock" and GetCastLevel(myHero,_W) > 0 then DrawDmgOverHpBar(unit,GetCurrentHP(unit),0,Rdmg,0xffffffff) --and GotBuff(myHero,"redcardpreattack") == 1 end if CanUseSpell(myHero,_Q) == READY and GetCastName(myHero,_W) == "bluecardlock" and GetCastLevel(myHero,_W) > 0 then DrawDmgOverHpBar(unit,GetCurrentHP(unit),0,Bdmg,0xffffffff) --and GotBuff(myHero,"bluecardpreattack") == 1 end if CanUseSpell(myHero,_Q) == READY and GetCastName(myHero,_W) == "PickACard" and (GotBuff(myHero,"redcardpreattack") == 0 or GotBuff(myHero,"bluecardpreattack") == 0 or GotBuff(myHero,"goldcardpreattack") == 0) and GetCastLevel(myHero,_W) > 0 then DrawDmgOverHpBar(unit,GetCurrentHP(unit),0,YBRdmg,0xffffffff) end if (CanUseSpell(myHero,_Q) == ONCOOLDOWN or GetCastLevel(myHero,_Q) == 0) and GetCastName(myHero,_W) == "goldcardlock" and GetCastLevel(myHero,_W) > 0 then DrawDmgOverHpBar(unit,GetCurrentHP(unit),0,YdmgmQ,0xffffffff) end if (CanUseSpell(myHero,_Q) == ONCOOLDOWN or GetCastLevel(myHero,_Q) == 0) and GetCastName(myHero,_W) == "redcardlock" and GetCastLevel(myHero,_W) > 0 then DrawDmgOverHpBar(unit,GetCurrentHP(unit),0,RdmgmQ,0xffffffff) end if (CanUseSpell(myHero,_Q) == ONCOOLDOWN or GetCastLevel(myHero,_Q) == 0) and GetCastName(myHero,_W) == "bluecardlock" and GetCastLevel(myHero,_W) > 0 then DrawDmgOverHpBar(unit,GetCurrentHP(unit),0,BdmgmQ,0xffffffff) end if (CanUseSpell(myHero,_Q) == ONCOOLDOWN or GetCastLevel(myHero,_Q) == 0) and GetCastName(myHero,_W) == "PickACard" and (GotBuff(myHero,"redcardpreattack") == 0 or GotBuff(myHero,"bluecardpreattack") == 0 or GotBuff(myHero,"goldcardpreattack") == 0) and GetCastLevel(myHero,_W) > 0 then DrawDmgOverHpBar(unit,GetCurrentHP(unit),0,YBRdmgmQ,0xffffffff) end if CanUseSpell(myHero,_Q) == READY and GetCastLevel(myHero,_W) == 0 then DrawDmgOverHpBar(unit,GetCurrentHP(unit),0,Qdmg,0xffffffff) end if CanUseSpell(myHero,_Q) == ONCOOLDOWN and CanUseSpell(myHero,_Q) == ONCOOLDOWN then DrawDmgOverHpBar(unit,GetCurrentHP(unit),0,ALLdmg,0xffffffff) end end end end function Killable() local ad = GetBonusDmg(myHero) + GetBaseDamage(myHero) local Wlevel = GetCastLevel(myHero,_W) - 1 local Qlevel = GetCastLevel(myHero,_Q) - 1 local Elevel = GetCastLevel(myHero,_E) - 1 local EPassive = 0 local lichbane = 0 local sheendmg = 0 local Ludens = 0 local bcard = (40 + (20 * Wlevel) + (ad) + (GetBonusAP(myHero) * 0.5 )) local ycard = (15 + (7.5 * Wlevel) + (ad) + (GetBonusAP(myHero) * 0.5 )) local rcard = (30 + (15 * Wlevel) + ad + (GetBonusAP(myHero) * 0.5)) local qdmg = (60 + (50 * Qlevel) + (GetBonusAP(myHero) * 0.65 )) if GotBuff(myHero, "lichbane") >= 1 and GetItemSlot(myHero,3100) then lichbane = lichbane + GetBaseDamage(myHero)*0.75 + GetBonusAP(myHero)*0.5 end if GotBuff(myHero, "sheen") >= 1 and GetItemSlot(myHero,3057) then sheendmg = sheendmg + GetBaseDamage(myHero) end if GotBuff(myHero, "cardmasterstackparticle") == 1 then EPassive = EPassive + 55 + (25 * Elevel) + (GetBonusAP(myHero) * 0.5 ) end if GotBuff(myHero, "itemmagicshankcharge") > 99 then Ludens = Ludens + 0.1*GetBonusAP(myHero) + 100 end for _,unit in pairs(GoS:GetEnemyHeroes()) do if not IsDead(unit) and GoS:ValidTarget(unit,6500) then local hp = GetCurrentHP(unit) + GetMagicShield(unit) + GetDmgShield(unit) local Ydmg = GoS:CalcDamage(myHero, unit, sheendmg, ycard + qdmg + lichbane + EPassive + Ludens) or 0 local Bdmg = GoS:CalcDamage(myHero, unit, sheendmg, bcard + qdmg + lichbane + EPassive + Ludens) or 0 local Rdmg = GoS:CalcDamage(myHero, unit, sheendmg, rcard + qdmg + lichbane + EPassive + Ludens) or 0 if Ydmg > hp and tickwarn < GetTickCount() then local HPBARPOS = GetHPBarPos(myHero) if HPBARPOS.x > 0 then if HPBARPOS.y > 0 then DrawText(string.format("You can kill %s(Q+YellowCard)",GetObjectName(unit)),12,HPBARPOS.x,HPBARPOS.y - 30,0xffffff00) end end tickwarn = GetTickCount() + 5000 return elseif Bdmg > hp then local HPBARPOS = GetHPBarPos(myHero) if HPBARPOS.x > 0 then if HPBARPOS.y > 0 then DrawText(string.format("You can kill %s(Q+BlueCard)",GetObjectName(unit)),12,HPBARPOS.x,HPBARPOS.y - 30,0xffffff00) end end tickwarn = GetTickCount() + 5000 return elseif Rdmg > hp then local HPBARPOS = GetHPBarPos(myHero) if HPBARPOS.x > 0 then if HPBARPOS.y > 0 then DrawText(string.format("You can kill %s(Q+RedCard)",GetObjectName(unit)),12,HPBARPOS.x,HPBARPOS.y - 30,0xffffff00) end end tickwarn = GetTickCount() + 5000 return end end end -- DrawText(string.format("EPassive= %f", EPassive),25,478,256,0xffffffff); -- DrawText(string.format("lichbane= %f", lichbane),25,478,286,0xffffffff); -- DrawText(string.format("sheendmg= %f", sheendmg),25,478,316,0xffffffff); end function SelectCard() local name = GetCastName(myHero,_W):lower() if name == "goldcardlock" and selectedcard == name then CastSpell(_W) selectedcard = "" end if name == "redcardlock" and selectedcard == name then CastSpell(_W) selectedcard = "" end if name == "bluecardlock" and selectedcard == name then CastSpell(_W) selectedcard = "" end end function Combo() local currentmana = GetCurrentMana(myHero) local maxmana = GetMaxMana(myHero) local curdmax = currentmana/maxmana local ManaValue = MonTourMenu.Combo.Mana:Value()/100 local target = GetCurrentTarget() local QPred = GetPredictionForPlayer(GetOrigin(myHero),target,GetMoveSpeed(target),1000,250,1450,40,false,true) local unit = GetCurrentTarget() if target == nil or GetOrigin(target) == nil or IsImmune(target,myHero) or IsDead(target) or not IsVisible(target) or GetTeam(target) == GetTeam(myHero) then return false end if GoS:ValidTarget(target,1450) then if MonTourMenu.Combo.prio:Value() == 1 and curdmax > ManaValue and GetTickCount() > tick then if CanUseSpell(myHero,_W) == READY and GetCastName(myHero,_W) == "PickACard" then selectedcard = "goldcardlock" tick = GetTickCount() + 3000 CastSpell(_W) end end if MonTourMenu.Combo.prio:Value() == 2 and GetTickCount() > tick then if CanUseSpell(myHero,_W) == READY and GetCastName(myHero,_W) == "PickACard" then selectedcard = "bluecardlock" tick = GetTickCount() + 3000 CastSpell(_W) end end if MonTourMenu.Combo.prio:Value() == 3 and curdmax > ManaValue and GetTickCount() > tick then if CanUseSpell(myHero,_W) == READY and GetCastName(myHero,_W) == "PickACard" then selectedcard = "redcardlock" tick = GetTickCount() + 3000 CastSpell(_W) end end if (MonTourMenu.Combo.prio:Value() == 1 or MonTourMenu.Combo.prio:Value() == 3) and curdmax < ManaValue and GetTickCount() > tick then if CanUseSpell(myHero,_W) == READY and GetCastName(myHero,_W) == "PickACard" then selectedcard = "bluecardlock" tick = GetTickCount() + 3000 CastSpell(_W) end end if MonTourMenu.Combo.Q:Value() and MonTourMenu.Combo.QR:Value() == 1 then if CanUseSpell(myHero,_Q) == READY and GoS:GetDistance(myHero, target) <= 525 and (GotBuff(myHero,"redcardpreattack") == 1 or GotBuff(myHero,"bluecardpreattack") == 1 or GotBuff(myHero,"goldcardpreattack") == 1) and CanUseSpell(myHero,_W) ~= READY and QPred.HitChance == 1 then CastSkillShot(_Q,QPred.PredPos.x,QPred.PredPos.y,QPred.PredPos.z) end end if MonTourMenu.Combo.Q:Value() and MonTourMenu.Combo.QR:Value() == 2 then if CanUseSpell(myHero,_Q) == READY and (GotBuff(myHero,"redcardpreattack") == 1 or GotBuff(myHero,"bluecardpreattack") == 1 or GotBuff(myHero,"goldcardpreattack") == 1) and CanUseSpell(myHero,_W) ~= READY and QPred.HitChance == 1 then CastSkillShot(_Q,QPred.PredPos.x,QPred.PredPos.y,QPred.PredPos.z) end end if MonTourMenu.Combo.Q:Value() and MonTourMenu.Combo.QR2:Value() == 1 then if CanUseSpell(myHero,_Q) == READY and CanUseSpell(myHero,_W) == ONCOOLDOWN and GetCastName(myHero,_W) == "PickACard" and QPred.HitChance == 1 then CastSkillShot(_Q,QPred.PredPos.x,QPred.PredPos.y,QPred.PredPos.z) end end if MonTourMenu.Combo.Q:Value() and MonTourMenu.Combo.QR2:Value() == 2 then if CanUseSpell(myHero,_Q) == READY and QPred.HitChance == 1 then CastSkillShot(_Q,QPred.PredPos.x,QPred.PredPos.y,QPred.PredPos.z) end end end end function Harass() local currentmana = GetCurrentMana(myHero) local maxmana = GetMaxMana(myHero) local curdmax = currentmana/maxmana local ManaValue = MonTourMenu.Harass.Mana:Value()/100 local target = GetCurrentTarget() local QPred = GetPredictionForPlayer(GetOrigin(myHero),target,GetMoveSpeed(target),1000,250,1450,40,false,true) local unit = GetCurrentTarget() if target == nil or GetOrigin(target) == nil or IsImmune(target,myHero) or IsDead(target) or not IsVisible(target) or GetTeam(target) == GetTeam(myHero) then return false end if GoS:ValidTarget(target,1450) then if MonTourMenu.Harass.prio:Value() == 1 and curdmax > ManaValue and GetTickCount() > tick then if CanUseSpell(myHero,_W) == READY and GetCastName(myHero,_W) == "PickACard" then selectedcard = "goldcardlock" tick = GetTickCount() + 3000 CastSpell(_W) end end if MonTourMenu.Harass.prio:Value() == 2 and GetTickCount() > tick then if CanUseSpell(myHero,_W) == READY and GetCastName(myHero,_W) == "PickACard" then selectedcard = "bluecardlock" tick = GetTickCount() + 3000 CastSpell(_W) end end if MonTourMenu.Harass.prio:Value() == 3 and curdmax > ManaValue and GetTickCount() > tick then if CanUseSpell(myHero,_W) == READY and GetCastName(myHero,_W) == "PickACard" then selectedcard = "redcardlock" tick = GetTickCount() + 3000 CastSpell(_W) end end if (MonTourMenu.Harass.prio:Value() == 1 or MonTourMenu.Harass.prio:Value() == 3) and curdmax < ManaValue and GetTickCount() > tick then if CanUseSpell(myHero,_W) == READY and GetCastName(myHero,_W) == "PickACard" then selectedcard = "bluecardlock" tick = GetTickCount() + 3000 CastSpell(_W) end end if MonTourMenu.Harass.Q:Value() and MonTourMenu.Harass.QR:Value() == 1 then if CanUseSpell(myHero,_Q) == READY and GoS:GetDistance(myHero, target) <= 525 and (GotBuff(myHero,"redcardpreattack") == 1 or GotBuff(myHero,"bluecardpreattack") == 1 or GotBuff(myHero,"goldcardpreattack") == 1) and CanUseSpell(myHero,_W) ~= READY and QPred.HitChance == 1 then CastSkillShot(_Q,QPred.PredPos.x,QPred.PredPos.y,QPred.PredPos.z) end end if MonTourMenu.Harass.Q:Value() and MonTourMenu.Harass.QR:Value() == 2 then if CanUseSpell(myHero,_Q) == READY and (GotBuff(myHero,"redcardpreattack") == 1 or GotBuff(myHero,"bluecardpreattack") == 1 or GotBuff(myHero,"goldcardpreattack") == 1) and CanUseSpell(myHero,_W) ~= READY and QPred.HitChance == 1 then CastSkillShot(_Q,QPred.PredPos.x,QPred.PredPos.y,QPred.PredPos.z) end end if MonTourMenu.Harass.Q:Value() and MonTourMenu.Harass.QR2:Value() == 1 then if CanUseSpell(myHero,_Q) == READY and CanUseSpell(myHero,_W) == ONCOOLDOWN and GetCastName(myHero,_W) == "PickACard" and QPred.HitChance == 1 then CastSkillShot(_Q,QPred.PredPos.x,QPred.PredPos.y,QPred.PredPos.z) end end if MonTourMenu.Harass.Q:Value() and MonTourMenu.Harass.QR2:Value() == 2 then if CanUseSpell(myHero,_Q) == READY and QPred.HitChance == 1 then CastSkillShot(_Q,QPred.PredPos.x,QPred.PredPos.y,QPred.PredPos.z) end end end end function LastHit() for i,minion in pairs(GoS:GetAllMinions(MINION_ENEMY)) do local currentmana = GetCurrentMana(myHero) local maxmana = GetMaxMana(myHero) local curdmax = currentmana/maxmana local ManaValue = MonTourMenu.Farm.Mana:Value()/100 local ad = GetBonusDmg(myHero) + GetBaseDamage(myHero) local Wlevel = GetCastLevel(myHero,_W) - 1 local Qlevel = GetCastLevel(myHero,_Q) - 1 local Elevel = GetCastLevel(myHero,_E) - 1 local EPassive = 0 local lichbane = 0 local sheendmg = 0 local Ludens = 0 local qdmg = (60 + (50 * Qlevel) + (GetBonusAP(myHero) * 0.65 )) if GotBuff(myHero, "lichbane") >= 1 and GetItemSlot(myHero,3100) then lichbane = lichbane + GetBaseDamage(myHero)*0.75 + GetBonusAP(myHero)*0.5 end if GotBuff(myHero, "sheen") >= 1 and GetItemSlot(myHero,3057) then sheendmg = sheendmg + GetBaseDamage(myHero) end if GotBuff(myHero, "cardmasterstackparticle") == 1 then EPassive = EPassive + 55 + (25 * Elevel) + (GetBonusAP(myHero) * 0.5 ) end if GotBuff(myHero, "itemmagicshankcharge") > 99 then Ludens = Ludens + 0.1*GetBonusAP(myHero) + 100 end local bdmg = (40 + (20 * Wlevel) + ad + (GetBonusAP(myHero) * 0.5)) or 0 local ydmg = (15 + (7.5 * Wlevel) + ad + (GetBonusAP(myHero) * 0.5)) or 0 local rdmg = (30 + (15 * Wlevel) + ad + (GetBonusAP(myHero) * 0.5)) or 0 local bcard = GoS:CalcDamage(myHero, minion,sheendmg, bdmg + lichbane + EPassive + Ludens) local ycard = GoS:CalcDamage(myHero, minion,sheendmg, ydmg + lichbane + EPassive + Ludens) local rcard = GoS:CalcDamage(myHero, minion,sheendmg, rdmg + lichbane + EPassive + Ludens) local ncardpassive = GoS:CalcDamage(myHero, minion, sheendmg + ad ,lichbane + EPassive + Ludens) local ncard = GoS:CalcDamage(myHero, minion, sheendmg + ad ,lichbane + Ludens) local addmg = GoS:CalcDamage(myHero, minion, ad ,0) -- DrawText(string.format("EPassive= %f", EPassive),25,478,356,0xffffffff); -- DrawText(string.format("lichbane= %f", lichbane),25,478,386,0xffffffff); -- DrawText(string.format("sheendmg= %f", sheendmg),25,478,416,0xffffffff); if GoS:ValidTarget(minion, 525+250) then if MonTourMenu.Farm.prio:Value() == 1 and curdmax > ManaValue and GetTickCount() > tick then if CanUseSpell(myHero,_W) == READY and GetCastName(myHero,_W) == "PickACard" then selectedcard = "goldcardlock" tick = GetTickCount() + 3000 CastSpell(_W) end end if GotBuff(myHero,"goldcardpreattack") == 1 and GetCurrentHP(minion) < ycard then --GetCastName(myHero,_W) == "goldcardlock" AttackUnit(minion) end if MonTourMenu.Farm.prio:Value() == 2 and GetTickCount() > tick then if CanUseSpell(myHero,_W) == READY and GetCastName(myHero,_W) == "PickACard" then selectedcard = "bluecardlock" tick = GetTickCount() + 3000 CastSpell(_W) end end if GotBuff(myHero,"bluecardpreattack") == 1 and GetCurrentHP(minion) < bcard then --GetCastName(myHero,_W) == "bluecardlock" AttackUnit(minion) end if MonTourMenu.Farm.prio:Value() == 3 and curdmax > ManaValue and GetTickCount() > tick then if CanUseSpell(myHero,_W) == READY and GetCastName(myHero,_W) == "PickACard" then selectedcard = "redcardlock" tick = GetTickCount() + 3000 CastSpell(_W) end end if GotBuff(myHero,"redcardpreattack") == 1 and GetCurrentHP(minion) < rcard then AttackUnit(minion) end if (MonTourMenu.Farm.prio:Value() == 1 or MonTourMenu.Farm.prio:Value() == 3) and curdmax < ManaValue and GetTickCount() > tick then if CanUseSpell(myHero,_W) == READY and GetCastName(myHero,_W) == "PickACard" then selectedcard = "bluecardlock" tick = GetTickCount() + 3000 CastSpell(_W) end end if GotBuff(myHero, "cardmasterstackparticle") == 1 and (GotBuff(myHero,"redcardpreattack") == 0 or GotBuff(myHero,"bluecardpreattack") == 0 or GotBuff(myHero,"goldcardpreattack") == 0) and GetCurrentHP(minion) < ncardpassive then AttackUnit(minion) end end end end function LaneClear() for i,minion in pairs(GoS:GetAllMinions(MINION_ENEMY)) do local currentmana = GetCurrentMana(myHero) local maxmana = GetMaxMana(myHero) local curdmax = currentmana/maxmana local ManaValue = MonTourMenu.Farm2.Mana:Value()/100 if GoS:ValidTarget(minion, 525+250) then if MonTourMenu.Farm2.prio:Value() == 1 and curdmax > ManaValue and GetTickCount() > tick then if CanUseSpell(myHero,_W) == READY and GetCastName(myHero,_W) == "PickACard" then selectedcard = "goldcardlock" tick = GetTickCount() + 3000 CastSpell(_W) end end if MonTourMenu.Farm2.prio:Value() == 2 and curdmax > ManaValue and GetTickCount() > tick then if CanUseSpell(myHero,_W) == READY and GetCastName(myHero,_W) == "PickACard" then selectedcard = "bluecardlock" tick = GetTickCount() + 3000 CastSpell(_W) end end if MonTourMenu.Farm2.prio:Value() == 3 and curdmax > ManaValue and GetTickCount() > tick then --and MinionAround(minion, 250) > 3 if CanUseSpell(myHero,_W) == READY and GetCastName(myHero,_W) == "PickACard" then selectedcard = "redcardlock" tick = GetTickCount() + 3000 CastSpell(_W) end end if (MonTourMenu.Farm2.prio:Value() == 1 or MonTourMenu.Farm2.prio:Value() == 3) and curdmax < ManaValue and GetTickCount() > tick then if CanUseSpell(myHero,_W) == READY and GetCastName(myHero,_W) == "PickACard" then selectedcard = "bluecardlock" tick = GetTickCount() + 3000 CastSpell(_W) end end end end end function Ignite() local target = GetCurrentTarget() local unit = GetCurrentTarget() local Ignite = (GetCastName(GetMyHero(),SUMMONER_1):lower():find("summonerdot") and SUMMONER_1 or (GetCastName(GetMyHero(),SUMMONER_2):lower():find("summonerdot") and SUMMONER_2 or nil)) if GoS:ValidTarget(target, 700) and Ignite and CanUseSpell(myHero,_Q) ~= READY and GoS:GetDistance(target) > 525 then --and IsObjectAlive(unit) and not IsImmune(unit) and IsTargetable(unit) and for _, k in pairs(GoS:GetEnemyHeroes()) do if CanUseSpell(GetMyHero(), Ignite) == READY and (20*GetLevel(GetMyHero())+50) > GetCurrentHP(k)+GetHPRegen(k)*2.5 and GoS:GetDistanceSqr(GetOrigin(k)) < 600*600 then CastTargetSpell(k, Ignite) end end end end function Items() if GetItemSlot(myHero,3140) > 0 and MonTourMenu.Items.QSS:Value() and GotBuff(myHero, "rocketgrab2") > 0 or GotBuff(myHero, "charm") > 0 or GotBuff(myHero, "fear") > 0 or GotBuff(myHero, "flee") > 0 or GotBuff(myHero, "snare") > 0 or GotBuff(myHero, "taunt") > 0 or GotBuff(myHero, "suppression") > 0 or GotBuff(myHero, "stun") > 0 or GotBuff(myHero, "zedultexecute") > 0 or GotBuff(myHero, "summonerexhaust") > 0 and 100*GetCurrentHP(myHero)/GetMaxHP(myHero) < MonTourMenu.Items.QSSHP:Value() then CastTargetSpell(myHero, GetItemSlot(myHero,3140)) end if GetItemSlot(myHero,3139) > 0 and MonTourMenu.Items.QSS:Value() and GotBuff(myHero, "rocketgrab2") > 0 or GotBuff(myHero, "charm") > 0 or GotBuff(myHero, "fear") > 0 or GotBuff(myHero, "flee") > 0 or GotBuff(myHero, "snare") > 0 or GotBuff(myHero, "taunt") > 0 or GotBuff(myHero, "suppression") > 0 or GotBuff(myHero, "stun") > 0 or GotBuff(myHero, "zedultexecute") > 0 or GotBuff(myHero, "summonerexhaust") > 0 and 100*GetCurrentHP(myHero)/GetMaxHP(myHero) < MonTourMenu.Items.QSSHP:Value() then CastTargetSpell(myHero, GetItemSlot(myHero,3139)) end if MonTourMenu.Items.Zhonya:Value() and GetItemSlot(myHero,3157) > 0 and GoS:ValidTarget(target, 900) and 100*GetCurrentHP(myHero)/GetMaxHP(myHero) <= MonTourMenu.Items.ZhonyaHP:Value() then CastTargetSpell(myHero, GetItemSlot(myHero,3157)) end end addInterrupterCallback(function(unit, spellType) -- for _,unit in pairs(GoS:GetEnemyHeroes()) do local unit = GetCurrentTarget() if spellType == CHANELLING_SPELLS and GoS:ValidTarget(target, GetRange(myHero)+50) and GetTickCount() > tick and MonTourMenu.Int.Int:Value() then if CanUseSpell(myHero,_W) == READY and GetCastName(myHero,_W) == "PickACard" then selectedcard = "goldcardlock" tick = GetTickCount() + 3000 CastSpell(_W) GoS:DelayAction(function() AttackUnit(unit) end, 100) end end -- end end)