public Lulu() { Q = SpellManager.Q; W = SpellManager.W; E = SpellManager.E; R = SpellManager.R; Menu = MainMenu.AddMenu("Lulu", "Lulu"); pixMenu = Menu.AddSubMenu("Pix", "Pix"); pixMenu.AddGroupLabel("Q"); pixMenu.Add("QPixCombo", new CheckBox("Use in Combo", false)); pixMenu.Add("QPixHarass", new CheckBox("Use in Harass", false)); pixMenu.AddGroupLabel("EQ"); pixMenu.Add("EQPixCombo", new CheckBox("Use in Combo")); pixMenu.Add("EQPixHarass", new CheckBox("Use in Harass")); qMenu = Menu.AddSubMenu("Q", "Q"); qMenu.Add("QCombo", new CheckBox("Use in Combo")); qMenu.Add("QHarass", new CheckBox("Use in Harass")); qMenu.Add("QGapcloser", new CheckBox("Use Q on Gapcloser")); qMenu.Add("QImpaired", new CheckBox("Auto Q Movement Impaired", false)); qMenu.Add("QFarm", new KeyBind("Use Q to Farm", true, KeyBind.BindTypes.PressToggle, 'K')); qMenu.Add("QLC", new CheckBox("Use in LaneClear")); qMenu.Add("QLH", new CheckBox("Use in LastHit", false)); wMenu = Menu.AddSubMenu("W", "W"); wMenu.AddGroupLabel("Enemy Priority"); foreach (var enemy in Enemies) { wMenu.Add(enemy.NetworkId + "WPriority", new Slider(enemy.ChampionName, 1, 0, 5)); } wMenu.Add("WPriority", new CheckBox("Priority Enabled", false)); wMenu.AddSeparator(); wMenu.Add("WCombo", new CheckBox("Use on Enemy in Combo")); wMenu.Add("WHarass", new CheckBox("Use on Enemy in Harass")); wMenu.Add("WGapcloser", new CheckBox("Use W on Gapcloser")); wMenu.Add("WInterrupter", new CheckBox("Use W to Interrupt")); eMenu = Menu.AddSubMenu("E", "E"); eMenu.AddGroupLabel("Ally Shielding"); foreach (var ally in Allies) { eMenu.Add(ally.NetworkId + "EPriority", new Slider(ally.ChampionName + " Min Health", 20)); } eMenu.Add("EAuto", new CheckBox("Use E on Allies")); eMenu.Add("ECombo", new CheckBox("Use on Enemy in Combo")); eMenu.Add("EHarass", new CheckBox("Use on Enemy in Harass")); rMenu = Menu.AddSubMenu("R", "R"); rMenu.AddGroupLabel("Saver"); foreach (var ally in Allies) { rMenu.Add(ally.NetworkId + "RPriority", new Slider(ally.ChampionName + " Min Health", 15)); } rMenu.Add("RAuto", new CheckBox("Use R on Allies")); rMenu.AddSeparator(); rMenu.Add("RForce", new KeyBind("Force Ult Ally", false, KeyBind.BindTypes.HoldActive, 'K')); rMenu.Add("RInterrupter", new CheckBox("Use R on Interrupt")); rMenu.Add("RKnockup", new CheckBox("Auto R to Knockup")); rMenu.Add("RKnockupEnemies", new Slider("Min Enemes to Knockup", 2, 1, 5)); ksMenu = Menu.AddSubMenu("Killsteal", "Killsteal"); ksMenu.Add("KSEnabled", new CheckBox("Enabled")); ksMenu.Add("KSQ", new CheckBox("Use Q")); ksMenu.Add("KSE", new CheckBox("Use E")); ksMenu.Add("KSEQ", new CheckBox("Use E->Q")); ManaManager.Initialize(Menu); Q.SetManaCondition(ManaManager.ManaMode.Combo, 5); Q.SetManaCondition(ManaManager.ManaMode.Harass, 5); Q.SetManaCondition(ManaManager.ManaMode.Farm, 30); W.SetManaCondition(ManaManager.ManaMode.Combo, 15); W.SetManaCondition(ManaManager.ManaMode.Harass, 15); E.SetManaCondition(ManaManager.ManaMode.Combo, 10); E.SetManaCondition(ManaManager.ManaMode.Harass, 10); fleeMenu = Menu.AddSubMenu("Flee", "Flee"); fleeMenu.Add("Flee", new KeyBind("Flee", false, KeyBind.BindTypes.HoldActive, 'T')); fleeMenu.Add("FleeW", new CheckBox("Use W")); fleeMenu.Add("FleeMove", new CheckBox("Move to Cursor Position")); drawMenu = Menu.AddSubMenu("Drawings", "Drawings"); drawMenu.Add("DrawQ", new CheckBox("Draw Q")); //, System.Drawing.Color.Purple, Q.Range)); drawMenu.Add("DrawW", new CheckBox("Draw W/E")); //, System.Drawing.Color.Purple, W.Range)); drawMenu.Add("DrawR", new CheckBox("Draw R")); //, System.Drawing.Color.Purple, R.Range)); drawMenu.Add("DrawPix", new CheckBox("Draw Pix")); miscMenu = Menu.AddSubMenu("Misc", "Misc"); miscMenu.Add("Support", new CheckBox("Support Mode", false)); CustomAntiGapcloser.Initialize(miscMenu); CustomInterrupter.Initialize(miscMenu); superMMenu = Menu.AddSubMenu("Superman", "Speedy Up!"); foreach (var ally in Allies.Where(a => a.Team == ObjectManager.Player.Team)) { superMMenu.Add(ally.NetworkId + "WEPriority", new Slider(ally.ChampionName + " Priority", 1, 0, 5)); } superMMenu.Add("Superman", new KeyBind("Use Speedy Up!", false, KeyBind.BindTypes.HoldActive, 'A')); ManaBarIndicator.Initialize(drawMenu, ManaCostDictionary); Pix.Initialize(drawMenu["DrawPix"].Cast <CheckBox>().CurrentValue); SpellManager.Initialize(); CustomAntiGapcloser.OnEnemyGapcloser += CustomAntiGapcloser_OnEnemyGapcloser; CustomInterrupter.OnInterruptableTarget += CustomInterrupter_OnInterruptableTarget; }
public Lulu() { Q = SpellManager.Q; W = SpellManager.W; E = SpellManager.E; R = SpellManager.R; Menu = new Menu("Lulu", "Lulu", true); Menu.SetFontStyle(FontStyle.Regular, Color.MediumPurple); Orbwalker = Menu.AddOrbwalker(); var combo = Menu.AddMenu("Spells", "Spells"); combo.SetFontStyle(FontStyle.Regular, System.Drawing.Color.DeepSkyBlue.ToSharpDXColor()); var q = combo.AddMenu("Q", "Q"); q.AddBool("QCombo", "Use in Combo"); q.AddBool("QHarass", "Use in Harass"); q.AddInfo("QMisc2", "-- Misc --", Color.DeepSkyBlue); q.AddBool("QPix", "Use Pix Q", false); q.Item("QPix").SetTooltip("Use Pix to Cast Q"); q.AddBool("EQPix", "Use Extended Q (E->Q)"); q.Item("EQPix").SetTooltip("Use E to cast Pix Q"); q.AddBool("QGapcloser", "Use Q on Gapcloser"); q.AddBool("QImpaired", "Auto Q Movement Impaired", false); q.AddInfo("QMisc1", "-- Farm --", Color.Red); q.AddBool("QFarm", "Use Q to Farm"); q.AddBool("QLC", "Use in LaneClear"); q.AddBool("QLH", "Use in LastHit", false); var w = combo.AddMenu("W", "W"); var wEnemies = w.AddMenu("WEnemies", "Enemy Priority"); foreach (var enemy in Enemies) { wEnemies.AddSlider(enemy.ChampionName + "WPriority", enemy.ChampionName, 1, 0, 5); } wEnemies.AddInfo("WEnemiesInfo", "0 means don't cast, 5 is highest priority", Color.DeepSkyBlue); wEnemies.AddBool("WPriority", "Priority Enabled", false); w.AddBool("WCombo", "Use on Enemy in Combo"); w.AddBool("WHarass", "Use on Enemy in Harass"); w.AddBool("WGapcloser", "Use W on Gapcloser"); w.AddBool("WInterrupter", "Use W to Interrupt"); var e = combo.AddMenu("E", "E"); var eAllies = e.AddMenu("EAllies", "Ally Shielding"); foreach (var ally in Allies) { eAllies.AddSlider(ally.ChampionName + "EPriority", ally.ChampionName + " Min Health", 20); } eAllies.AddInfo("EAlliesInfo", "Set to 0 to never shield ally.", Color.DeepSkyBlue); eAllies.AddBool("EAuto", "Use E on Allies"); e.AddBool("ECombo", "Use on Enemy in Combo"); e.AddBool("EHarass", "Use on Enemy in Harass"); var r = combo.AddMenu("R", "R"); var saver = r.AddMenu("Saver", "Saver"); foreach (var ally in Allies) { saver.AddSlider(ally.ChampionName + "RPriority", ally.ChampionName + " Min Health", 15); } saver.AddInfo("RAlliesInfo", "Set to 0 to never ult ally.", Color.DeepSkyBlue); saver.AddBool("RAuto", "Use R on Allies"); r.AddKeyBind("RForce", "Force Ult Ally", 'K'); r.Item("RForce").SetTooltip("Casts R on the lowest HP ally in R range"); r.AddBool("RInterrupter", "Use R on Interrupt"); r.AddBool("RKnockup", "Auto R to Knockup"); r.AddSlider("RKnockupEnemies", "Min Enemes to Knockup", 2, 1, 5); var ks = Menu.AddMenu("Killsteal", "Killsteal"); ks.SetFontStyle(FontStyle.Regular, Color.Red); ks.AddBool("KSEnabled", "Enabled"); ks.AddBool("KSQ", "Use Q"); ks.AddBool("KSE", "Use E"); ks.AddBool("KSEQ", "Use E->Q"); ManaManager.Initialize(Menu); Q.SetManaCondition(ManaManager.ManaMode.Combo, 5); Q.SetManaCondition(ManaManager.ManaMode.Harass, 5); Q.SetManaCondition(ManaManager.ManaMode.Farm, 30); W.SetManaCondition(ManaManager.ManaMode.Combo, 15); W.SetManaCondition(ManaManager.ManaMode.Harass, 15); E.SetManaCondition(ManaManager.ManaMode.Combo, 10); E.SetManaCondition(ManaManager.ManaMode.Harass, 10); var flee = Menu.AddMenu("Flee", "Flee"); flee.SetFontStyle(FontStyle.Regular, Color.Yellow); flee.AddInfo("FleeInfo", " --> Flees towards cursor position.", Color.Yellow); flee.AddKeyBind("Flee", "Flee", 'T'); flee.AddBool("FleeW", "Use W"); flee.AddBool("FleeMove", "Move to Cursor Position"); var draw = Menu.AddMenu("Drawings", "Drawings"); draw.SetFontStyle(FontStyle.Regular, Color.DeepPink); draw.AddCircle("DrawQ", "Draw Q", System.Drawing.Color.Purple, Q.Range); draw.AddCircle("DrawW", "Draw W/E", System.Drawing.Color.Purple, W.Range); draw.AddCircle("DrawR", "Draw R", System.Drawing.Color.Purple, R.Range); draw.AddBool("DrawPix", "Draw Pix"); var misc = Menu.AddMenu("Misc", "Misc"); misc.SetFontStyle(FontStyle.Regular, Color.MediumPurple); CustomAntiGapcloser.Initialize(misc); CustomInterrupter.Initialize(misc); var superman = misc.AddMenu("Superman", "Speedy Up!"); superman.SetFontStyle(FontStyle.Regular, Color.Red); superman.AddInfo("SupermanInfo", " --> Casts W+E on prioritized ally.", Color.Red); foreach (var ally in Allies.Where(a => !a.IsMe)) { superman.AddSlider(ally.ChampionName + "WEPriority", ally.ChampionName + " Priority", 1, 0, 5); } superman.AddInfo("SupermanInfo2", "Set to 0 to never speedy up ally.", Color.Red); superman.AddKeyBind("Superman", "Use Speedy Up!", 'A'); misc.AddBool("Support", "Support Mode", false); misc.AddBool("Sounds", "Sounds"); if (misc.Item("Sounds").IsActive()) { new SoundObject(Resources.Load).Play(); } Menu.AddInfo("Info", "By Trees and Lilith!", Color.MediumPurple); Menu.AddToMainMenu(); var manaCost = new Dictionary <SpellSlot, int[]> { { SpellSlot.Q, new[] { 0, 60, 65, 70, 75, 80 } }, { SpellSlot.W, new[] { 0, 65, 65, 65, 65, 65 } }, { SpellSlot.E, new[] { 0, 60, 70, 80, 90, 100 } }, { SpellSlot.R, new[] { 0, 0, 0, 0, 0, 0 } } }; var dmg = draw.AddMenu("DamageIndicator", "Damage Indicator"); dmg.AddBool("DmgEnabled", "Draw Damage Indicator"); dmg.AddCircle("HPColor", "Predicted Health Color", System.Drawing.Color.White); dmg.AddCircle("FillColor", "Damage Color", System.Drawing.Color.MediumPurple); dmg.AddBool("Killable", "Killable Text"); DamageIndicator.Initialize(dmg, Utility.GetComboDamage); ManaBarIndicator.Initialize(draw, manaCost); Pix.Initialize(Menu.Item("DrawPix")); SpellManager.Initialize(combo, Orbwalker); CustomAntiGapcloser.OnEnemyGapcloser += CustomAntiGapcloser_OnEnemyGapcloser; CustomInterrupter.OnInterruptableTarget += CustomInterrupter_OnInterruptableTarget; }
private static bool Killsteal() { if (!Menu.Item("KSEnabled").IsActive()) { return(false); } var useQ = Menu.Item("KSQ").IsActive() && Q.IsReady(); var useE = Menu.Item("KSE").IsActive() && E.IsReady(); if (!useQ && !useE) { return(false); } foreach (var enemy in Enemies.Where(e => e.IsValidTarget(E.Range + Q.Range)).OrderBy(e => e.Health)) { var eDmg = E.GetDamage(enemy); if (useE && E.IsInRange(enemy) && eDmg > enemy.Health && E.CastOnUnit(enemy)) { return(true); } var qDmg = Q.GetDamage(enemy); if (useQ && qDmg > enemy.Health) { if (Q.IsInRange(enemy) && Q.Cast(enemy).IsCasted()) { return(true); } if (Pix.IsValid() && SpellManager.PixQ.IsInRange(enemy) && SpellManager.PixQ.Cast(enemy).IsCasted()) { return(true); } } if (useQ && useE && E.IsInRange(enemy) && qDmg + eDmg > enemy.Health && E.CastOnUnit(enemy)) { QAfterETarget = enemy; return(true); } if (Menu.Item("KSEQ").IsActive() && useQ && useE && qDmg > enemy.Health) { var eTarget = Pix.GetETarget(enemy); if (eTarget == null) { continue; } if (E.CastOnUnit(eTarget)) { return(true); } } } return(false); }
public override void OnCombo(Orbwalking.OrbwalkingMode mode) { if (W.IsActive() && !W.HasManaCondition() && W.IsReady() && Menu.Item("WPriority").IsActive()) { var wTarg = Utility.GetBestWTarget(); if (wTarg != null && W.CanCast(wTarg) && W.CastOnUnit(wTarg)) { Console.WriteLine("[AUTO] Cast W"); return; } } var target = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical) ?? Pix.GetTarget(); if (!target.IsValidTarget() || !SpellManager.Q.IsInRange(target)) { PixCombo(); return; } if (PixCombo()) { return; } if (E.IsActive() && !E.HasManaCondition() && E.CanCast(target) && E.CastOnUnit(target)) { Console.WriteLine("[Combo] Cast E"); return; } if (Q.IsReady() && W.IsActive() && !W.HasManaCondition() && W.CanCast(target) && W.CastOnUnit(target)) { Console.WriteLine("[Combo] Cast W"); return; } if (!Q.IsActive() || !Q.IsReady() || Q.HasManaCondition()) { return; } if (Q.Cast(target).IsCasted()) { Console.WriteLine("[Combo] Cast Q"); } }