public override void Initialize(ComboProvider combo) { _brandQ = combo.GetSkill<BrandQ>(); Orbwalker.OnUnkillableMinion += OnMinionUnkillable; Orbwalker.OnPreAttack += Orbwalking_BeforeAttack; base.Initialize(combo); }
public override void Initialize(IMainContext context, ComboProvider combo) { _ultMin = context.GetRootMenu().SubMenu("Combo").Item("Combo.MinUltEnemies"); _ultMinHealth = context.GetRootMenu().SubMenu("Combo").Item("Combo.MinUltHealth%"); _ultSave = context.GetRootMenu().SubMenu("Combo").Item("Combo.UltforSave"); base.Initialize(context, combo); }
public override void Initialize(ComboProvider combo) { _brandE = combo.GetSkill <BrandE>(); _brandQ = combo.GetSkill <BrandQ>(); Drawing.OnDraw += Draw; base.Initialize(combo); }
public override void LaneClear(ComboProvider combo, AIHeroClient target) { var locationM = GetCircularFarmLocation(MinionManager.GetMinions(900 + 120, MinionTypes.All, MinionTeam.NotAlly)); if (locationM.MinionsHit >= Program.getLaneMenuSL("MinWtargets")) Cast(locationM.Position); }
public void Attach(Menu menu, ComboProvider provider) { _provider = provider; _items = new Dictionary <IActivateableItem, bool>(); var items = new IActivateableItem[] { new BilgewaterCutlass(), new Botrk(), new YoumusBlade() }; foreach (var activateableItem in items) { IActivateableItem item = activateableItem; if (item.GetRange() != int.MaxValue && item.GetRange() != 0 && item.GetRange() + 100 < ObjectManager.Player.AttackRange) { continue; } var itemMenu = new Menu(item.GetDisplayName(), item.GetDisplayName()); item.Initialize(itemMenu, this); _items.Add(item, true); itemMenu.AddMItem("Enabled", true, (sender, agrs) => _items[item] = agrs.GetNewValue <bool>()).ProcStoredValueChanged <bool>(); menu.AddSubMenu(itemMenu); } menu.AddMItem("Only in combo", true, (sender, args) => _combo = args.GetNewValue <bool>()); menu.AddMItem("Enabled", true, (sender, args) => Enabled = args.GetNewValue <bool>()); menu.ProcStoredValueChanged <bool>(); Game.OnUpdate += _ => Update(); }
public override void Initialize(ComboProvider combo) { _brandQ = combo.GetSkill<BrandQ>(); PortAIO.OrbwalkerManager.LSOrbwalker.OnNonKillableMinion += OnMinionUnkillable; LSEvents.BeforeAttack += Orbwalking_BeforeAttack; base.Initialize(combo); }
public override void Initialize(ComboProvider combo) { _e = combo.GetSkill<CassE>(); base.Initialize(combo); float tickLimiter = 0; //float mana = 0; Game.OnUpdate += (args) => { if (tickLimiter > Game.Time) return; tickLimiter = Game.Time + 0.25f; if (ObjectManager.Player.Spellbook.Spells.Any(spell => spell.Name == "ItemSeraphsEmbrace")) return; //if (mana == ObjectManager.Player.MaxMana) //{ // StackTear.SetValue(new KeyBind(StackTear.GetValue<KeyBind>().Key, KeyBindType.Toggle)); // mana = 0f; //} if (combo.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.None && CanBeCast() && ObjectManager.Player.CountEnemiesInRange(2000) == 0 && MinTearStackMana < ObjectManager.Player.ManaPercent && !ObjectManager.Player.IsRecalling() && StackTear.IsActive()) { if (ObjectManager.Get<Obj_AI_Turret>().Any(turret => turret.IsAlly && turret.Distance(ObjectManager.Player) < 1000) || ObjectManager.Player.NearFountain(3500)) { var tear = ObjectManager.Player.Spellbook.Spells.FirstOrDefault(spell => spell.Name == "TearsDummySpell" || spell.Name == "ArchAngelsDummySpell"); if (tear != null && tear.CooldownExpires < Game.Time) Cast(ObjectManager.Player.Position.Extend(Game.CursorPos, 500)); //mana = ObjectManager.Player.MaxMana; } } }; }
public override void LaneClear(ComboProvider combo, AIHeroClient target) { var minions = MinionManager.GetMinions(650, MinionTypes.All, MinionTeam.NotAlly) .Where(minion => minion.HasBuff("brandablaze")) .ToArray(); if (!minions.Any()) { return; } Obj_AI_Base bestMinion = null; var neighbours = -1; foreach (var minion in minions) { var currentNeighbours = minions.Count(neighbour => neighbour.Distance(minion) < 300); if (currentNeighbours <= neighbours) { continue; } bestMinion = minion; neighbours = currentNeighbours; } Cast(bestMinion); }
public override void Interruptable(ComboProvider combo, AIHeroClient sender, ComboProvider.InterruptableSpell interruptableSpell, float endTime) { if (InterruptE && _brandQ.CouldHit(sender) && sender.Distance(ObjectManager.Player) < 650) { Execute(sender); } }
public override void Initialize(ComboProvider combo) { _brandQ = combo.GetSkill <BrandQ>(); Orbwalking.OnNonKillableMinion += OnMinionUnkillable; Orbwalking.BeforeAttack += Orbwalking_BeforeAttack; base.Initialize(combo); }
public override void Initialize(ComboProvider combo) { _q = combo.GetSkill <CassQ>(); _r = combo.GetSkill <CassR>(); _e = combo.GetSkill <CassE>(); base.Initialize(combo); }
public override void Initialize(ComboProvider combo) { _brandE = combo.GetSkill<BrandE>(); _brandQ = combo.GetSkill<BrandQ>(); Drawing.OnDraw += Draw; base.Initialize(combo); }
public override void Gapcloser(ComboProvider combo, ActiveGapcloser gapcloser) { if (UseOnGapcloser && (!_r.CanBeCast() || _r.GapcloserUltHp < ObjectManager.Player.HealthPercent)) { Cast(gapcloser.Sender); } }
public override void LaneClear(ComboProvider combo, Obj_AI_Hero target) { if (_recentAutoattack) { SafeCast(); Orbwalking.ResetAutoAttackTimer(); } }
public override void Interruptable(ComboProvider combo, Obj_AI_Hero sender, ComboProvider.InterruptableSpell interruptableSpell, float endTime) { var distance = sender.Distance(ObjectManager.Player); if (sender.HasBuff("brandablaze") || Provider.IsMarked(sender) || !_brandQ.CouldHit(sender) || !InterruptW) return; if (Cast(sender) == CastStates.SuccessfullyCasted) Provider.SetMarked(sender); //Todo: risky, keep an eye on this. If the W misses u r f****d }
public override void Gapcloser(IMainContext context, ComboProvider combo, ActiveGapcloser gapcloser) { if (AntiGapcloser) { SafeCast(() => Spell.Cast(ObjectManager.Player.Position)); } base.Gapcloser(context, combo, gapcloser); }
public override void Interruptable(ComboProvider combo, Obj_AI_Hero sender, ComboProvider.InterruptableSpell interruptableSpell, float endTime) { if (endTime - Game.Time > Math.Max(sender.Distance(ObjectManager.Player) - Orbwalking.GetRealAutoAttackRange(sender), 0)/ObjectManager.Player.MoveSpeed + 0.5f) { SafeCast(); Orbwalking.Orbwalk(sender, sender.Position); } }
public override void Initialize(ComboProvider combo) { var skills = combo.GetSkills().ToList(); skills.Remove(skills.First(skill => skill is BrandQ)); _brandQWE = skills.ToArray(); _w = combo.GetSkill<BrandW>(); base.Initialize(combo); }
public override void Update(Orbwalking.OrbwalkingMode mode, ComboProvider combo, AIHeroClient target) { base.Update(mode, combo, target); if (_afterAttack) { _afterAttack = false; } }
public override void Update(Orbwalking.OrbwalkingMode mode, ComboProvider combo, Obj_AI_Hero target) { if (Killsteal && HeroManager.Enemies.Any(enemy => enemy.IsValidTarget(1100) && CanKill(enemy))) { Cast(); } base.Update(mode, combo, target); }
public override void Interruptable(ComboProvider combo, AIHeroClient sender, ComboProvider.InterruptableSpell interruptableSpell, float endTime) { if (endTime - Game.Time > Math.Max(sender.Distance(ObjectManager.Player) - Orbwalking.GetRealAutoAttackRange(sender), 0) / ObjectManager.Player.MoveSpeed + 0.5f) { Cast(); Orbwalking.Orbwalk(sender, sender.Position); } }
public override void Update(Orbwalking.OrbwalkingMode mode, ComboProvider combo, Obj_AI_Hero target) { if (AutoHarass && ObjectManager.Player.ManaPercent > AutoHarassMana && target.IsValidTarget(Range)) { Cast(target); } base.Update(mode, combo, target); }
public override void Update(Orbwalking.OrbwalkingMode mode, ComboProvider combo, Obj_AI_Hero target) { if (mode != Orbwalking.OrbwalkingMode.None && StealJungle && MinionManager.GetMinions(Range, MinionTypes.All, MinionTeam.NotAlly, MinionOrderTypes.None).Any(min => min.HasBuff("Kalistaexpungemarker") && IsKillable(min) && !min.Name.Contains("Mini") && !min.Name.Contains("Dragon") && !min.Name.Contains("Baron"))) { Cast(); } base.Update(mode, combo, target); }
public override void LaneClear(ComboProvider combo, AIHeroClient target) { var locationM = GetCircularFarmLocation(MinionManager.GetMinions(900 + 120, MinionTypes.All, MinionTeam.NotAlly)); if (locationM.MinionsHit >= WaveclearTargets) { Cast(locationM.Position); } }
public override void Initialize(ComboProvider combo) { var skills = combo.GetSkills().ToList(); skills.Remove(skills.First(skill => skill is BrandQ)); _brandQWE = skills.ToArray(); _w = combo.GetSkill <BrandW>(); base.Initialize(combo); }
public override void LaneClear(ComboProvider combo, Obj_AI_Hero target) { if (MinionManager.GetMinions(325, MinionTypes.All, MinionTeam.NotAlly, MinionOrderTypes.None).Count >= MinFarmMinions) { if (!ObjectManager.Player.HasBuff("GarenQ") && Spell.Instance.Name == "GarenE") SafeCast(); if (UseHydra) ItemManager.GetItem<RavenousHydra>().Use(null); } }
public override void Gapcloser(ComboProvider combo, ActiveGapcloser gapcloser) { if (ObjectManager.Player.HealthPercent < GapcloserUltHp && gapcloser.Sender.IsValidTarget(Range)) { var pred = GetPrediction(gapcloser.Sender); if (pred.Hitchance < Commons.Prediction.HitChance.Low) return; Cast(pred.CastPosition); } }
public static void Update(ComboProvider combo) { if (combo.Orbwalker.ActiveMode != Orbwalking.OrbwalkingMode.Combo && _onlyCombo) return; var healthPrediction = HealthPrediction.GetHealthPrediction(ObjectManager.Player, 1); if (healthPrediction <= 0 && 75 + ObjectManager.Player.Level * 15 + healthPrediction > 0 && !ObjectManager.Player.IsDead) //Todo: grievious wounds and anti heal buff { UseHeal(); } //todo continue }
} //TODO: check if TotalMagicDamage is really AP public override void Initialize(ComboProvider combo) { var skills = combo.GetSkills().ToList(); skills.Remove(this); _otherSkills = skills.ToArray(); _brandE = combo.GetSkill <BrandE>(); _brandQ = combo.GetSkill <BrandQ>(); base.Initialize(combo); }
public override void Update(Orbwalking.OrbwalkingMode mode, ComboProvider combo, Obj_AI_Hero target) { if (StealthRecall.GetValue <KeyBind>().Active&& _stealthRecallTime + 5 < Game.Time && !ObjectManager.Player.InFountain()) { _stealthRecallTime = Game.Time; Cast(); ObjectManager.Player.Spellbook.CastSpell(ObjectManager.Player.Spellbook.Spells.First(spell => spell.Name == "recall").Slot); } base.Update(mode, combo, target); }
public override void Update(Orbwalking.OrbwalkingMode mode, ComboProvider combo, AIHeroClient target) { base.Update(mode, combo, target); _recentAutoattack = false; if (_resetOrbwalker && !ObjectManager.Player.HasBuff("GarenE")) { _resetOrbwalker = false; Provider.Orbwalker.SetAttack(true); } }
public override void Update(Orbwalking.OrbwalkingMode mode, ComboProvider combo, Obj_AI_Hero target) { if (StealthRecall.GetValue<KeyBind>().Active && _stealthRecallTime + 5 < Game.Time && !ObjectManager.Player.InFountain()) { _stealthRecallTime = Game.Time; Cast(); ObjectManager.Player.Spellbook.CastSpell(ObjectManager.Player.Spellbook.Spells.First(spell => spell.Name == "recall").Slot); } base.Update(mode, combo, target); }
public override void Update(Orbwalking.OrbwalkingMode mode, ComboProvider combo, Obj_AI_Hero target) { base.Update(mode, combo, target); _recentAutoattack = false; if (_resetOrbwalker && !ObjectManager.Player.HasBuff("GarenE")) { _resetOrbwalker = false; Provider.Orbwalker.SetAttack(true); } }
public override void Update(Orbwalker.ActiveModes mode, ComboProvider combo, AIHeroClient target) { if (Program.getMiscMenuCB("eKS") && (mode == Orbwalker.ActiveModes.Combo || !Program.getMiscMenuCB("KSCombo"))) foreach (var enemy in HeroManager.Enemies.Where(enemy => enemy.LSIsValidTarget(650))) { if (!IsKillable(enemy)) continue; Cast(enemy); } base.Update(mode, combo, target); }
public override void Initialize(ComboProvider combo) { Obj_AI_Base recentTarget = null; var dead = false; Orbwalking.AfterAttack += (sender, target) => { if (sender.IsMe) { var targetObj = target as Obj_AI_Base; if (targetObj == null) { return; } recentTarget = targetObj; dead = HealthPrediction.GetHealthPrediction(targetObj, 500) - ObjectManager.Player.GetAutoAttackDamage(targetObj) <= 0; } }; Console.WriteLine(Delay + " "); Orbwalking.OnNonKillableMinion += minion => { if (minion.NetworkId == recentTarget.NetworkId && dead) { return; } if (FarmAssist && IsKillable(minion as Obj_AI_Base) && (Provider.Orbwalker.ActiveMode != Orbwalking.OrbwalkingMode.Combo && Provider.Orbwalker.ActiveMode != Orbwalking.OrbwalkingMode.None)) { if (ObjectManager.Player.ManaPercent > FarmAssistMana) { Cast(); } else if (MinionManager.GetMinions(Range, MinionTypes.All, MinionTeam.NotAlly, MinionOrderTypes.None).Any(min => min.HasBuff("Kalistaexpungemarker") && IsKillable(min) && min.NetworkId != minion.NetworkId)) { Cast(); } } }; GameObject.OnCreate += (obj, args) => { if (obj.Type != GameObjectType.MissileClient) { return; } var mc = (MissileClient)obj; if (!mc.SpellCaster.IsMe || mc.Target.Type != GameObjectType.obj_AI_Hero || (mc.SData.MissileSpeed != 2000 && mc.SData.MissileSpeed != 2600)) { return; } _flyingAttacks[(Obj_AI_Hero)mc.Target] = mc; }; base.Initialize(combo); }
public override void Gapcloser(ComboProvider combo, ActiveGapcloser gapcloser) { if (!gapcloser.Sender.IsValidTarget()) { return; } if (_brandQ.CanBeCast() && CanBeCast() && !gapcloser.Sender.HasBuff("brandablaze")) { Execute(gapcloser.Sender); } }
public static void Initialize(Menu healMenu, ComboProvider combo, bool autoUpdate = true) { if (!HasHeal()) return; _heal = GetHeal(); healMenu.AddMItem("Only in combo", true, (sender, args) => _onlyCombo = args.GetNewValue<bool>()); healMenu.AddMItem("Enabled", false, (sender, args) => _enabled = args.GetNewValue<bool>()); healMenu.AddMItem("(WIP - I highly recommend using an Activator!)"); if (autoUpdate) Game.OnUpdate += _ => Update(combo); }
/// <summary> /// Does it's checks and ignites if all conditions are met. Uses Menu settings /// </summary> /// <param name="combo">The combo provider</param> /// <param name="otherDamage">Damage that will hit for sure in the near future, e.g. brand passive</param> /// <param name="otherDamageTime">How much time will pass till the otherDamage applies (checks on healthreg ...)</param> public static void Update(ComboProvider combo, float otherDamage = 0f, float otherDamageTime = 3f) { if (_ignite == null || _igniteUsage == null || !_igniteUsage.GetValue<bool>()) return; if (combo.Orbwalker.ActiveMode != Orbwalking.OrbwalkingMode.Combo && _igniteOnlyCombo.GetValue<bool>()) return; if (_igniteKillsteal.GetValue<bool>()) { foreach (var enemy in HeroManager.Enemies) UpdateOnHero(enemy, otherDamage, otherDamageTime, _igniteKillsteal.GetValue<bool>()); } else if (combo.Target != null) UpdateOnHero(combo.Target, otherDamage, otherDamageTime, _igniteKillsteal.GetValue<bool>()); }
public override void Update(Orbwalking.OrbwalkingMode mode, ComboProvider combo, Obj_AI_Hero target) { if (Game.Time - _healthTime > 1) { _healthTime = Game.Time; _healthValue = ObjectManager.Player.Health; } base.Update(mode, combo, target); if (UseAlways && ShouldUse()) Cast(); _shouldUse = false; }
public override void Gapcloser(ComboProvider combo, ActiveGapcloser gapcloser) { if (ObjectManager.Player.HealthPercent < GapcloserUltHp && gapcloser.Sender.IsValidTarget(Range)) { var pred = GetPrediction(gapcloser.Sender); if (pred.Hitchance < HitChance.Low) { return; } Cast(pred.CastPosition); } }
public static void Update(ComboProvider combo) { if (combo.Orbwalker.ActiveMode != Orbwalking.OrbwalkingMode.Combo && _onlyCombo) { return; } var healthPrediction = HealthPrediction.GetHealthPrediction(ObjectManager.Player, 1); if (healthPrediction <= 0 && 75 + ObjectManager.Player.Level * 15 + healthPrediction > 0 && !ObjectManager.Player.IsDead) //Todo: grievious wounds and anti heal buff { UseHeal(); } //todo continue }
private void Update(ComboProvider provider) { if (provider.Orbwalker.ActiveMode != Orbwalking.OrbwalkingMode.Combo && _combo || !Enabled) { return; } foreach (var summ in _summs) { if (summ.Value) { summ.Key.Update(); } } }
public override void Interruptable(ComboProvider combo, AIHeroClient sender, ComboProvider.InterruptableSpell interruptableSpell, float endTime) { var distance = sender.Distance(ObjectManager.Player); if (sender.HasBuff("brandablaze") || Provider.IsMarked(sender) || !_brandQ.CouldHit(sender) || !InterruptW) { return; } if (Cast(sender) == CastStates.SuccessfullyCasted) { Provider.SetMarked(sender); //Todo: risky, keep an eye on this. If the W misses u r f****d } }
private void Update(ComboProvider provider) { if (provider.Orbwalker.ActiveMode != Orbwalking.OrbwalkingMode.Combo && _combo) { return; } foreach (var item in _items) { if (item.Value && provider.Target.IsValidTarget()) { item.Key.Update(provider.Target); } } }
public override void LaneClear(ComboProvider combo, Obj_AI_Hero target) { if (MinionManager.GetMinions(325, MinionTypes.All, MinionTeam.NotAlly, MinionOrderTypes.None).Count >= MinFarmMinions) { if (!ObjectManager.Player.HasBuff("GarenQ") && Spell.Instance.Name == "GarenE") { SafeCast(); } if (UseHydra) { ItemManager.GetItem <RavenousHydra>().Use(null); } } }
public override void LaneClear(ComboProvider combo, Obj_AI_Hero target) { var minions = MinionManager.GetMinions(650, MinionTypes.All, MinionTeam.NotAlly).Where(minion => minion.HasBuff("brandablaze")).ToArray(); if (!minions.Any()) return; Obj_AI_Base bestMinion = null; var neighbours = -1; foreach (var minion in minions) { var currentNeighbours = minions.Count(neighbour => neighbour.Distance(minion) < 300); if (currentNeighbours <= neighbours) continue; bestMinion = minion; neighbours = currentNeighbours; } Cast(bestMinion); }
public override void Update(Orbwalking.OrbwalkingMode mode, ComboProvider combo, Obj_AI_Hero target) { if (Game.Time - _healthTime > 1) { _healthTime = Game.Time; _healthValue = ObjectManager.Player.Health; } base.Update(mode, combo, target); if (UseAlways && ShouldUse()) { Cast(); } _shouldUse = false; }
/// <summary> /// Adds to the menu and stuffs /// </summary> public static void Initialize(Menu igniteMenu, ComboProvider combo, bool autoUpdate = false) { _ignite = ObjectManager.Player.Spellbook.Spells.FirstOrDefault(spell => spell.Name == "summonerdot"); if (_ignite == null) return; _igniteSpell = new Spell(_ignite.Slot); _igniteUsage = igniteMenu.AddMItem("Use Ignite", true); _igniteKillsteal = igniteMenu.AddMItem("Killsteal", false); _igniteOnlyCombo = igniteMenu.AddMItem("Only in combo", false); _igniteSituation = igniteMenu.AddMItem("Situation analysis", false); igniteMenu.AddMItem("Don't use if killable by"); _igniteMaxAutoattacks = igniteMenu.AddMItem("X Autoattacks", new Slider(1, 0, 5)); _igniteSpellsCooldown = igniteMenu.AddMItem("Don't use if skills up", false); _igniteCloseFight = igniteMenu.AddMItem("Ignore above in close fight", true); _igniteCloseFightHealth = igniteMenu.AddMItem("Close fight health diff %", new Slider(20)); if (autoUpdate) Game.OnUpdate += _ => Update(combo); }
public override void Update(Orbwalking.OrbwalkingMode mode, ComboProvider combo, Obj_AI_Hero target) { base.Update(mode, combo, target); if (_afterAttack) _afterAttack = false; }
public override void Initialize(ComboProvider combo) { _q = combo.GetSkill<CassQ>(); _r = combo.GetSkill<CassR>(); base.Initialize(combo); }
public override void Initialize(ComboProvider combo) { //OnlyUpdateIfTargetValid = false; SetSkillshot(0.50f, 1500f, float.MaxValue, false, SkillshotType.SkillshotCircle); base.Initialize(combo); }
public override void Gapcloser(ComboProvider combo, ActiveGapcloser gapcloser) { Cast(gapcloser.Sender, true); }
public override void Gapcloser(IMainContext context, ComboProvider combo, ActiveGapcloser gapcloser) { if (AntiGapcloser) SafeCast(() => Spell.Cast(ObjectManager.Player.Position)); base.Gapcloser(context, combo, gapcloser); }
public override void Update(Orbwalking.OrbwalkingMode mode, ComboProvider combo, Obj_AI_Hero target) { if (Killsteal && HeroManager.Enemies.Any(enemy => enemy.IsValidTarget(1100) && CanKill(enemy))) Cast(); base.Update(mode, combo, target); }
public void Load() { if (ObjectManager.Player.ChampionName != "Garen") return; Notifications.AddNotification("The Garen v2 loaded!", 3); var mainMenu = new Menu("The Garen", "The Garen", true); var orbwalkerMenu = mainMenu.CreateSubmenu("Orbwalker"); var targetSelectorMenu = mainMenu.CreateSubmenu("Target Selector"); var comboMenu = mainMenu.CreateSubmenu("Combo"); var laneClearMenu = mainMenu.CreateSubmenu("Laneclear"); var miscMenu = mainMenu.CreateSubmenu("Misc"); var items = mainMenu.CreateSubmenu("Items"); var gapcloserMenu = mainMenu.CreateSubmenu("Gapcloser"); var interrupterMenu = mainMenu.CreateSubmenu("Interrupter"); var drawingMenu = mainMenu.CreateSubmenu("Drawing"); var orbwalker = new Orbwalking.Orbwalker(orbwalkerMenu); TargetSelector.AddToMenu(targetSelectorMenu); _comboProvider = new ComboProvider(500, new Skill[] { new GarenQ(new Spell(SpellSlot.Q)), new GarenW(new Spell(SpellSlot.W)), new GarenE(new Spell(SpellSlot.E)), new GarenR(new Spell(SpellSlot.R)) }.ToList(), orbwalker); _r = _comboProvider.GetSkill<GarenR>(); _flash = ObjectManager.Player.Spellbook.Spells.FirstOrDefault(spell => spell.Name == "summonerflash"); _comboProvider.CreateBasicMenu(comboMenu, null, null, gapcloserMenu, interrupterMenu, null, mainMenu.CreateSubmenu("Ignite"), items, false); _comboProvider.CreateLaneclearMenu(laneClearMenu, false, SpellSlot.W); comboMenu.AddMItem("Q After Auto Attack", true, (sender, args) => _comboProvider.GetSkill<GarenQ>().OnlyAfterAuto = args.GetNewValue<bool>()); comboMenu.AddMItem("E After Auto Attack", true, (sender, args) => _comboProvider.GetSkill<GarenE>().OnlyAfterAuto = args.GetNewValue<bool>()); comboMenu.AddMItem("R Killsteal", false, (sender, args) => _comboProvider.GetSkill<GarenR>().Killsteal = args.GetNewValue<bool>()); comboMenu.AddMItem("Q if not in range", true, (sender, args) => _comboProvider.GetSkill<GarenQ>().UseWhenOutOfRange = args.GetNewValue<bool>()); comboMenu.ProcStoredValueChanged<bool>(); miscMenu.AddMItem("Also W out of combo", true, (sender, args) => _comboProvider.GetSkill<GarenW>().UseAlways = args.GetNewValue<bool>()); miscMenu.AddMItem("Min incomming DPS for W in health %", new Slider(2, 1, 15), (sender, args) => _comboProvider.GetSkill<GarenW>().MinDamagePercent = args.GetNewValue<Slider>().Value).ProcStoredValueChanged<Slider>(); miscMenu.AddMItem("Always W enemy ults", true, (sender, args) => _comboProvider.GetSkill<GarenW>().UseOnUltimates = args.GetNewValue<bool>()); miscMenu.ProcStoredValueChanged<bool>(); gapcloserMenu.AddMItem("(Using W if enabled)"); laneClearMenu.AddMItem("E min. minions", new Slider(1, 1, 8), (sender, args) => _comboProvider.GetSkill<GarenE>().MinFarmMinions = args.GetNewValue<Slider>().Value).ProcStoredValueChanged<Slider>(); laneClearMenu.AddMItem("Use Hydra", true, (sender, args) => _comboProvider.GetSkill<GarenE>().UseHydra = args.GetNewValue<bool>()).ProcStoredValueChanged<bool>(); drawingMenu.AddMItem("Damage Indicator", new Circle(true, Color.FromArgb(100, Color.Goldenrod)), (sender, args) => { DamageIndicator.DamageToUnit = _comboProvider.GetComboDamage; DamageIndicator.Enabled = args.GetNewValue<Circle>().Active; DamageIndicator.FillColor = args.GetNewValue<Circle>().Color; DamageIndicator.Fill = true; DamageIndicator.Color = Color.FromArgb(255, DamageIndicator.FillColor); }); drawingMenu.AddMItem("R Range", new Circle(true, Color.Goldenrod), (sender, args) => _drawR = args.GetNewValue<Circle>()); drawingMenu.AddMItem("Draw possible flash-ult", new Circle(true, Color.Red), (sender, args) => _drawFlashUlt = args.GetNewValue<Circle>()); drawingMenu.AddMItem("Damage Indicator by xSalice!"); drawingMenu.ProcStoredValueChanged<Circle>(); mainMenu.AddMItem("Max order: R > E > Q > W! Have fun!"); mainMenu.AddToMainMenu(); _comboProvider.Initialize(); Game.OnUpdate += Tick; Drawing.OnDraw += Draw; }
public override void Initialize(ComboProvider combo) { SetSkillshot(0.25f, 40f, 1200f, true, SkillshotType.SkillshotLine); // orig width : 40 base.Initialize(combo); }