private static void Game_OnTick(EventArgs args) { var recall = Player.Instance.Spellbook.GetSpell(SpellSlot.Recall); Recall = new Spell.Active(recall.Slot); if (!Player.Instance.IsRecalling()) { Recall.Cast(); } /* if (Player.Instance.Distance(place1) > 2000) { Player.IssueOrder(GameObjectOrder.MoveTo, place1); } //Square if (Player.Instance.Distance(place1) < 10) { Player.IssueOrder(GameObjectOrder.MoveTo, place2); } if (Player.Instance.Distance(place2) < 10) { Player.IssueOrder(GameObjectOrder.MoveTo, place3); } if (Player.Instance.Distance(place3) < 10) { Player.IssueOrder(GameObjectOrder.MoveTo, place4); } if (Player.Instance.Distance(place4) < 10) { Player.IssueOrder(GameObjectOrder.MoveTo, place1); } */ }
public override void Combo() { var target = TargetSelector.GetTarget(_e.Range, DamageType.Physical); if (target == null) { return; } if (Value.Use("combo.q") && _q.IsReady() && !Ulting && Player.Instance.Mana > _qmana + _rmana) { if (Player.Instance.CountEnemiesInRange(900) >= Value.Get("combo.q.close")) { _q.Cast(); } } if (Value.Use("combo.w") && _w.IsReady() && Player.Instance.Mana > _wmana + _rmana) { var targetw = TargetSelector.GetTarget(_w.Range, DamageType.Physical); if (targetw != null && (!Stealthed && _w.IsInRange(targetw) && EStacks(target) < 5 || !Stealthed && !Player.Instance.IsInAutoAttackRange(targetw) && _w.IsInRange(targetw))) { var wpred = _w.GetPrediction(targetw); if (wpred.HitChancePercent >= Value.Get("combo.w.prediction")) { _w.Cast(wpred.CastPosition); } } if (Stealthed && target.Distance(Player.Instance.Position) < Player.Instance.GetAutoAttackRange() && EStacks(target) < 5) { _w.Cast(target); } } if (Value.Use("combo.e") && _e.IsReady() && Player.Instance.Mana > _emana + _rmana) { if (EStacks(target) == 6 && _e.IsInRange(target)) { _e.Cast(); } } if (Value.Use("combo.r") && _r.IsReady()) { var targetr2 = TargetSelector.GetTarget(_r2.Range, DamageType.Physical); if (targetr2 == null) { return; } var r2Pred = _r2.GetPrediction(targetr2); var count = r2Pred.CollisionObjects.Count( a => a.IsValidTarget(_r.Range) && a.IsEnemy && !a.IsZombie && !a.IsDead && !a.IsMinion && !a.IsMonster); if (count >= Value.Get("combo.r.aoe") - 1) { _r.Cast(); } } }
public static void OnCombo() { Target = TargetSelector.GetTarget(Q.Range, DamageType.Magical); if (Target == null) { return; } if (Target.IsValidTarget()) { HitChance h = HitChance.Medium; if (NautibosMenu.HitchanceQ == 1) { h = HitChance.Low; } else if (NautibosMenu.HitchanceQ == 2) { h = HitChance.Medium; } else if (NautibosMenu.HitchanceQ == 3) { h = HitChance.High; } if (Target != null) { if (Q.IsReady() && NautibosMenu.nauticombo["combo.Q"].Cast <CheckBox>().CurrentValue&& Q.GetPrediction(Target).HitChance >= HitChance.High) { Q.Cast(Target); } } var alvo = TargetSelector.GetTarget(1000, DamageType.Magical); if (E.IsReady() && NautibosMenu.nauticombo["combo.E"].Cast <CheckBox>().CurrentValue&& Player.Instance.IsInAutoAttackRange(Target)) { E.Cast(); } if (W.IsReady() && NautibosMenu.nauticombo["combo.W"].Cast <CheckBox>().CurrentValue&& Player.Instance.IsInAutoAttackRange(Target)) { W.Cast(); } var enemies = EntityManager.Heroes.Enemies.OrderByDescending(a => a.HealthPercent).Where(a => !a.IsMe && a.IsValidTarget() && a.Distance(_Player) <= R.Range); var checkhp = NautibosMenu.nauticombo["hptoult"].Cast <Slider>().CurrentValue; var manual = NautibosMenu.nautir["manu.ult"].Cast <CheckBox>().CurrentValue; if (R.IsReady() && !manual) { foreach (var ultenemies in enemies) { var useR = NautibosMenu.nautir["r.ult" + ultenemies.ChampionName].Cast <CheckBox>().CurrentValue; if (ultenemies.HealthPercent <= checkhp) { if (useR) { R.Cast(ultenemies); } } } } return; } }
public static void OnBasicAttack(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args) { if (!(args.Target is AIHeroClient)) { return; } var caster = sender; var target = (AIHeroClient)args.Target; if ((caster is AIHeroClient || caster is Obj_AI_Turret) && caster != null && target != null && caster.IsEnemy) { if (target.IsAlly && !target.IsMe) { if (Exhaust != null) { var exhaustc = (SummMenu[Player.Instance.ChampionName + "EnableactiveExhaust"].Cast <KeyBind>().CurrentValue || SummMenu[Player.Instance.ChampionName + "EnableExhaust"].Cast <KeyBind>().CurrentValue) && Exhaust.IsReady(); var Exhaustally = SummMenu["exhaustally"].Cast <Slider>().CurrentValue; var Exhaustenemy = SummMenu["exhaustenemy"].Cast <Slider>().CurrentValue; if (exhaustc && (target.IsValidTarget(Exhaust.Range) && !SummMenu["DontExhaust" + caster.BaseSkinName].Cast <CheckBox>().CurrentValue)) { if (target.HealthPercent <= Exhaustenemy) { Exhaust.Cast(caster); } if (target.HealthPercent <= Exhaustally) { Exhaust.Cast(caster); } } } if (Heal != null && !SummMenu["DontHeal" + target.BaseSkinName].Cast <CheckBox>().CurrentValue) { var healc = (SummMenu[Player.Instance.ChampionName + "EnableactiveHeal"].Cast <KeyBind>().CurrentValue || SummMenu[Player.Instance.ChampionName + "EnableHeal"].Cast <KeyBind>().CurrentValue) && Heal.IsReady(); var healally = SummMenu["Healally"].Cast <Slider>().CurrentValue; if (healc) { if (target.IsInRange(Player.Instance, Heal.Range)) { if (target.HealthPercent <= healally) { Heal.Cast(); } if (caster.GetAutoAttackDamage(target) > target.TotalShieldHealth()) { Heal.Cast(); } } } } } if (target.IsMe) { if (Heal != null && !SummMenu["DontHeal" + target.BaseSkinName].Cast <CheckBox>().CurrentValue) { var healc = (SummMenu[Player.Instance.ChampionName + "EnableactiveHeal"].Cast <KeyBind>().CurrentValue || SummMenu[Player.Instance.ChampionName + "EnableHeal"].Cast <KeyBind>().CurrentValue) && Heal.IsReady(); var healme = SummMenu["Healme"].Cast <Slider>().CurrentValue; if (healc) { if (target.HealthPercent <= healme) { Heal.Cast(); } if (caster.GetAutoAttackDamage(target) > target.TotalShieldHealth()) { Heal.Cast(); } } } if (Exhaust != null) { var exhaustc = (SummMenu[Player.Instance.ChampionName + "EnableactiveExhaust"].Cast <KeyBind>().CurrentValue || SummMenu[Player.Instance.ChampionName + "EnableExhaust"].Cast <KeyBind>().CurrentValue) && Exhaust.IsReady(); var Exhaustally = SummMenu["exhaustally"].Cast <Slider>().CurrentValue; var Exhaustenemy = SummMenu["exhaustenemy"].Cast <Slider>().CurrentValue; if (exhaustc && !SummMenu["DontExhaust" + caster.BaseSkinName].Cast <CheckBox>().CurrentValue) { if (target.HealthPercent <= Exhaustenemy) { Exhaust.Cast(caster); } if (target.HealthPercent <= Exhaustally) { Exhaust.Cast(caster); } } } if (Barrier != null) { var barrierc = (SummMenu[Player.Instance.ChampionName + "EnableactiveBarrier"].Cast <KeyBind>().CurrentValue || SummMenu[Player.Instance.ChampionName + "EnableBarrier"].Cast <KeyBind>().CurrentValue) && Barrier.IsReady(); var barrierme = SummMenu["barrierme"].Cast <Slider>().CurrentValue; if (barrierc) { if (target.HealthPercent <= barrierme) { Barrier.Cast(); } if (caster.GetAutoAttackDamage(target) > target.TotalShieldHealth()) { Barrier.Cast(); } } } } } }
public override void Combo() { var target = TargetSelector.GetTarget(_e.Range, DamageType.Physical); if (target == null) { return; } if (Value.Use("combo.q".AddName()) && _q.IsReady() && !Ulting && Player.Instance.Mana > _qmana + _rmana) { if (Player.Instance.CountEnemiesInRange(900) >= Value.Get("combo.q.close")) { _q.Cast(); } } if (Value.Use("combo.w".AddName()) && _w.IsReady() && Player.Instance.Mana > _wmana + _rmana) { if (!Stealthed && _w.IsInRange(target) && EStacks(target) < 5 || !Stealthed && !Player.Instance.IsInAutoAttackRange(target) && _w.IsInRange(target)) { var pred = _w.GetPrediction(target); if (pred.HitChancePercent >= Value.Get("combo.w.prediction")) { if (Value.Use("combo.w.multipred")) { var optimizedCircleLocation = OKTRGeometry.GetOptimizedCircleLocation(_w, target); if (optimizedCircleLocation != null) { _w.Cast(optimizedCircleLocation.Value.Position.To3D()); } } else { _w.Cast(pred.CastPosition); } } } if (Stealthed && target.Distance(Player.Instance.Position) < Player.Instance.GetAutoAttackRange() && EStacks(target) < 5) { _w.Cast(target); } } if (!Value.Use("killsteal.e")) { if (Value.Use("combo.e".AddName()) && _e.IsReady() && Player.Instance.Mana > _emana + _rmana) { if (EStacks(target) == 6 && _e.IsInRange(target)) { _e.Cast(); } } } if (Value.Use("combo.r".AddName()) && _r.IsReady()) { var targetr2 = TargetSelector.GetTarget(_r2.Range, DamageType.Physical); if (targetr2 == null) { return; } var r2Pred = _r2.GetPrediction(targetr2); var count = r2Pred.CollisionObjects.Count( a => a.IsValidTarget(_r.Range) && a.IsEnemy && !a.IsZombie && !a.IsDead && !a.IsMinion && !a.IsMonster); if (count >= Value.Get("combo.r.aoe") - 1) { _r.Cast(); } } }
private static void Game_OnTick(EventArgs args) { if (User.IsDead || MenuGUI.IsChatOpen || User.IsRecalling()) { return; } if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo)) { Combo(); Items(); } if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Flee)) { Flee(); } if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.JungleClear)) { JungleClear(); } AutoPot(); if (SkinChangerMenu["EnableSkin"].Cast <CheckBox>().CurrentValue) { if (SkinChangerMenu["SkinID"].Cast <Slider>().CurrentValue != Player.Instance.SkinId) { Player.SetSkinId(SkinChangerMenu["SkinID"].Cast <Slider>().CurrentValue); } } else if (!SkinChangerMenu["EnableSkin"].Cast <CheckBox>().CurrentValue) { Player.SetSkinId(CurrentSkinID); SkinChangerMenu["SkinID"].Cast <Slider>().CurrentValue = CurrentSkinID; } if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear)) { LaneClear(); } if (ComboMenu["R"].Cast <KeyBind>().CurrentValue) { ComboMenu["AR"].Cast <CheckBox>().CurrentValue = false; } if (!ComboMenu["R"].Cast <KeyBind>().CurrentValue) { ComboMenu["AR"].Cast <CheckBox>().CurrentValue = true; } if (ComboMenu["AR"].Cast <CheckBox>().CurrentValue&& Player.Instance.HealthPercent <= ComboMenu["UseR"].Cast <Slider>().CurrentValue&& R.IsReady()) { R.Cast(); } if (!ComboMenu["AR"].Cast <CheckBox>().CurrentValue&& ComboMenu["R"].Cast <KeyBind>().CurrentValue&& Player.Instance.HealthPercent <= ComboMenu["UseR"].Cast <Slider>().CurrentValue&& R.IsReady()) { if (ObjectManager.Get <AIHeroClient>().Any(z => z.IsEnemy && z.Distance(Trynda.Position) <= 1200)) { R.Cast(); } } if (ComboMenu["Q"].Cast <CheckBox>().CurrentValue&& Player.Instance.HealthPercent <= ComboMenu["UseQ"].Cast <Slider>().CurrentValue&& Q.IsReady()) { { Q.Cast(); } } }
public static bool TryToCast(this Spell.Active spell, Obj_AI_Base target, Menu m) { if (target == null) { return(false); } return(target.CanCastSpell(spell) && m.GetCheckBoxValue(spell.Slot.ToString().ToLower()) && spell.Cast()); }
public override void Combo() { var target = TargetSelector.GetTarget(_r.Range, DamageType.Magical); if (target == null || target.IsZombie) { return; } if (Player.Instance.ManaPercent >= Value.Get("combo.e.mana")) { if (Value.Use("combo.e".AddName()) && _e.IsReady() && target.Distance(Player.Instance) <= Value.Get("combo.e.range")) { _e.Cast(); } } if (Player.Instance.ManaPercent >= Value.Get("combo.r.mana")) { if (Value.Use("combo.r".AddName()) && _r.IsReady() && _r.Handle.Ammo > 0) { _r.Cast(_r.GetPrediction(target).CastPosition); } } if (Player.Instance.ManaPercent >= Value.Get("combo.q.mana")) { if (Value.Use("combo.q".AddName()) && _q.IsReady()) { if (_q.GetPrediction(target).HitChancePercent >= Value.Get("combo.q.prediction")) { if (Value.Use("combo.q.multipred")) { var optimizedCircleLocation = OKTRGeometry.GetOptimizedCircleLocation(_q, target); if (optimizedCircleLocation != null) { _q.Cast(optimizedCircleLocation.Value.Position.To3D()); } } else { _q.Cast(_q.GetPrediction(target).CastPosition); } } } } if (Player.Instance.ManaPercent >= Value.Get("combo.w.mana")) { if (Value.Use("combo.w".AddName()) && target.CountEnemiesInRange(800) <= Value.Get("combo.w.e")) { if (Player.Instance.HasBuff("CorkiLoaded") && _w2.IsReady()) { _w2.Cast(_w2.GetPrediction(target).CastPosition); } if (!Player.Instance.HasBuff("CorkiLoaded") && _w.IsReady()) { _w.Cast(_w.GetPrediction(target).CastPosition); } } } }
static void ComboSnare() { var RQ = TargetSelector.GetTarget(Q.Range, DamageType.Physical); var TakeYoumu = TargetSelector.GetTarget(Rengar.GetAutoAttackRange() + 700, DamageType.Physical); var RW = TargetSelector.GetTarget(W.Range, DamageType.Magical); var Takebotrk = TargetSelector.GetTarget(550, DamageType.Physical); var RE = TargetSelector.GetTarget(E.Range, DamageType.Physical); var ePred = E.GetPrediction(RE); var e = ePred.CollisionObjects; if (Player.HasBuff("RengarR")) { return; } if (Takebotrk.IsValidTarget()) { Botrk(Takebotrk); } if (RQ.IsValidTarget(Rengar.GetAutoAttackRange())) { Items(); } // COMBO LOGİC -START- if (Player.Instance.ManaPercent == 5) { var style = MiscMenu["style"].Cast <Slider>().CurrentValue; if (style == 0) { if (ePred.HitChance >= HitChance.Low) { Orbwalker.DisableAttacking = false; E.Cast(RE); } else { Orbwalker.DisableAttacking = true; } } if (style == 1) { if (ePred.HitChance >= HitChance.Medium) { Orbwalker.DisableAttacking = false; E.Cast(RE); } else { Orbwalker.DisableAttacking = true; } } if (style == 2) { if (ePred.HitChance >= HitChance.High) { Orbwalker.DisableAttacking = false; E.Cast(RE); } else { Orbwalker.DisableAttacking = true; } } } else { var HealthW = MiscMenu["healthw"].Cast <Slider>().CurrentValue; if (!E.IsReady() && Q.IsReady() && Rengar.HealthPercent != HealthW && Player.Instance.Mana == 5) { Q.Cast(); } } // COMBO LOGİC -FİNİSH- if (TakeYoumu.IsValidTarget()) { Youmu(); } if (!E.IsReady() && !Player.Instance.HasBuff("rengarpassivebuff") && RQ.IsValidTarget() && Q.IsReady()) { Q.Cast(); Items(); Orbwalker.ResetAutoAttack(); } if (!E.IsReady() && RW.IsValidTarget() && W.IsReady()) { W.Cast(RW); } if (RE.IsValidTarget(E.Range)) { E.Cast(RE); } }
public override void AIHeroClient_OnProcessSpellCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args) { if (Player.IsDead || !(sender is AIHeroClient)) { return; } var EOMenu = MenuManager.Menus[HERO_MENU]["Q/W Evade Options"].Keys.Last(); if (EOMenu.IsActive("q/wonlyoncombo") && !Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo)) { return; } if (sender.IsValidTarget() && sender.IsEnemy && MenuSpells.Any(el => el == args.SData.Name) && Player.Distance(sender) <= args.SData.CastRange) { if (Q.IsReady() && (EOMenu.Value(args.SData.Name) == 1 || EOMenu.Value(args.SData.Name) == 3)) { if (args.SData.Name == "JaxCounterStrike") { Core.DelayAction(() => Dodge(), 2000 - Game.Ping - 200); return; } if (args.SData.Name == "KarthusFallenOne") { Core.DelayAction(() => Dodge(), 3000 - Game.Ping - 200); return; } if (args.SData.Name == "ZedR" && args.Target.IsMe) { Core.DelayAction(() => Dodge(), 750 - Game.Ping - 200); return; } if (args.SData.Name == "SoulShackles") { Core.DelayAction(() => Dodge(), 3000 - Game.Ping - 200); return; } if (args.SData.Name == "AbsoluteZero") { Core.DelayAction(() => Dodge(), 3000 - Game.Ping - 200); return; } if (args.SData.Name == "NocturneUnspeakableHorror" && args.Target.IsMe) { Core.DelayAction(() => Dodge(), 2000 - Game.Ping - 200); return; } Core.DelayAction(delegate { if (Target != null && Target.IsValidTarget(Q.Range)) { Q.Cast(Target); } }, (int)args.SData.SpellCastTime - Game.Ping - 100); Core.DelayAction(delegate { if (sender.IsValidTarget(Q.Range)) { Q.Cast(sender); } }, (int)args.SData.SpellCastTime - Game.Ping - 50); return; } else if (W.IsReady() && Player.IsFacing(sender) && EOMenu.Value(args.SData.Name) > 1 && ((args.Target != null && args.Target.IsMe) || Player.Position.To2D().Distance(args.Start.To2D(), args.End.To2D(), true, true) < args.SData.LineWidth * args.SData.LineWidth || args.End.Distance(Player) < args.SData.CastRadius)) { int delay = (int)(Player.Distance(sender) / ((args.SData.MissileMaxSpeed + args.SData.MissileMinSpeed) / 2) * 1000) - 150 + (int)args.SData.SpellCastTime; if (args.SData.Name != "ZedR" && args.SData.Name != "NocturneUnpeakableHorror") { Core.DelayAction(() => W.Cast(), delay); if (Target != null) { Core.DelayAction(() => EloBuddy.Player.IssueOrder(GameObjectOrder.AttackTo, Target), delay + 100); } } return; } } }
private static void ActivatorSpells() { var target = TargetSelector.GetTarget(1000, DamageType.Mixed); var spell = Player.Instance.Spellbook; if (Player.Instance.IsInFountain() || Player.Instance.IsRecalling() || target == null) { return; } if (Value.Use("activator.barrier")) { if (Barrier != null) { if (Value.Get("activator.barrier.hp") > Player.Instance.HealthPercent) { if (Barrier.IsReady()) { Barrier.Cast(); } } } } if (Value.Use("activator.heal")) { if (Heal != null && Heal.IsReady()) { if (Value.Use("activator.heal.lifesave")) { var ally = EntityManager.Heroes.Allies.FirstOrDefault( x => x.IsValidTarget(Player.Instance.GetAutoAttackRange()) && x.HealthPercent <= Value.Get("activator.barrier.hp")); if (ally != null) { if (ally.IsFacing(target)) { Heal.Cast(); } } } if (Player.Instance.HealthPercent <= Value.Get("activator.heal.hp")) { if (Player.Instance.IsFacing(target)) { Heal.Cast(); } } } } if (Value.Use("activator.ignite")) { if (Ignite != null && Ignite.IsReady()) { if (Value.Use("activator.ignite.killsteal")) { if (target.Health <= DamageLibrary.GetSpellDamage(Player.Instance, target, Ignite.Slot)) { Ignite.Cast(target); } } if (Value.Use("activator.ignite.burst")) { if (spell.GetSpell(SpellSlot.Q).IsReady&& spell.GetSpell(SpellSlot.W).IsReady&& spell.GetSpell(SpellSlot.E).IsReady&& spell.GetSpell(SpellSlot.R).IsReady) { if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo)) { Ignite.Cast(target); } } } if (Value.Use("activator.ignite.progressive")) { if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo)) { Ignite.Cast(target); } } } } }
public override void Combo() { var target = TargetSelector.GetTarget(570, DamageType.Magical); if (target != null) { var qpred = Q.GetPrediction(target); if (target.IsValidTarget(Q.Range)) { if (GetPassiveBuff <= 2 || !ObjectManager.Player.HasBuff("RyzePassiveStack")) { if (target.IsValidTarget(Q.Range) && Q.IsReady()) { Q.Cast(qpred.UnitPosition); } if (target.IsValidTarget(W.Range) && W.IsReady()) { W.Cast(target); } if (target.IsValidTarget(E.Range) && E.IsReady()) { E.Cast(target); } if (R.IsReady()) { if (target.IsValidTarget(W.Range) && target.Health > (Q.GetRealDamage(target) + E.GetRealDamage(target))) { if (target.HasBuff("RyzeW")) { R.Cast(); } } } } if (GetPassiveBuff == 3) { if (Q.IsReady() && target.IsValidTarget(Q.Range)) { Q.Cast(qpred.UnitPosition); } if (E.IsReady() && target.IsValidTarget(E.Range)) { E.Cast(target); } if (W.IsReady() && target.IsValidTarget(W.Range)) { W.Cast(target); } if (R.IsReady()) { if (target.IsValidTarget(W.Range) && target.Health > (Q.GetRealDamage(target) + E.GetRealDamage(target))) { if (target.HasBuff("RyzeW")) { R.Cast(); } } } } if (GetPassiveBuff == 4) { if (target.IsValidTarget(W.Range) && W.IsReady()) { W.Cast(target); } if (target.IsValidTarget(Q.Range) && Q.IsReady()) { Q.Cast(qpred.UnitPosition); } if (target.IsValidTarget(E.Range) && E.IsReady()) { E.Cast(target); } if (R.IsReady()) { if (target.IsValidTarget(W.Range) && target.Health > (Q.GetRealDamage(target) + E.GetRealDamage(target))) { if (target.HasBuff("RyzeW")) { R.Cast(); } } } } if (ObjectManager.Player.HasBuff("ryzepassivecharged")) { if (W.IsReady() && target.IsValidTarget(W.Range)) { W.Cast(target); } if (Q.IsReady() && target.IsValidTarget(Q.Range)) { Q.Cast(qpred.UnitPosition); } if (E.IsReady() && target.IsValidTarget(E.Range)) { E.Cast(target); } if (R.IsReady()) { if (target.IsValidTarget(W.Range) && target.Health > (Q.GetRealDamage(target) + E.GetRealDamage(target))) { if (target.HasBuff("RyzeW")) { R.Cast(); } if (!E.IsReady() && !Q.IsReady() && !W.IsReady()) { R.Cast(); } } } } } else { if (W.IsReady() && target.IsValidTarget(W.Range)) { W.Cast(target); } if (Q.IsReady() && target.IsValidTarget(Q.Range)) { Q.Cast(qpred.UnitPosition); } if (E.IsReady() && target.IsValidTarget(E.Range)) { E.Cast(target); } } if (!R.IsReady() || GetPassiveBuff != 4) { return; } if (Q.IsReady() || W.IsReady() || E.IsReady()) { return; } R.Cast(); } }
static void Game_OnUpdate(EventArgs args) { if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo)) { var alvo = TargetSelector.GetTarget(Q.Range, DamageType.Magical); var rmax = EntityManager.Heroes.Enemies.Where(t => t.IsInRange(Player.Instance.Position, R.Range) && !t.IsDead && t.IsValid && !t.IsInvulnerable).Count(); if (!alvo.IsValid()) { return; } if (Q.IsReady() && Q.IsInRange(alvo) && ModesMenu1["ComboQ"].Cast <CheckBox>().CurrentValue) { Q.Cast(alvo); } if (W.IsReady() && _Player.Distance(alvo) <= _Player.GetAutoAttackRange() + 50 && ModesMenu1["ComboW"].Cast <CheckBox>().CurrentValue) { W.Cast(); } if (E.IsReady() && E.IsInRange(alvo) && ModesMenu1["ComboE"].Cast <CheckBox>().CurrentValue) { E.Cast(alvo); } if (R.IsReady() && R.IsInRange(alvo) && ModesMenu1["ComboE"].Cast <CheckBox>().CurrentValue&& !(rmax >= ModesMenu1["MaxR"].Cast <Slider>().CurrentValue)) { R.Cast(alvo); } } if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Harass)) { var alvo = TargetSelector.GetTarget(Q.Range, DamageType.Magical); if (!alvo.IsValid()) { return; } if ((_Player.ManaPercent <= ModesMenu1["ManaH"].Cast <Slider>().CurrentValue)) { return; } if (Q.IsReady() && Q.IsInRange(alvo) && ModesMenu1["HarassQ"].Cast <CheckBox>().CurrentValue) { Q.Cast(alvo); } if (W.IsReady() && _Player.Distance(alvo) <= _Player.GetAutoAttackRange() + 50 && ModesMenu1["HarassW"].Cast <CheckBox>().CurrentValue) { W.Cast(); } if (E.IsReady() && E.IsInRange(alvo) && ModesMenu1["HarassE"].Cast <CheckBox>().CurrentValue) { E.Cast(alvo); } if (R.IsReady() && R.IsInRange(alvo) && ModesMenu1["HarassR"].Cast <CheckBox>().CurrentValue) { R.Cast(alvo); } } if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear)) { var minions = EntityManager.MinionsAndMonsters.GetLaneMinions(EntityManager.UnitTeam.Enemy, _Player.Position, Q.Range).OrderByDescending(x => x.MaxHealth).FirstOrDefault(); var minion = EntityManager.MinionsAndMonsters.EnemyMinions.Where(t => t.IsInRange(Player.Instance.Position, E.Range) && !t.IsDead && t.IsValid && !t.IsInvulnerable).Count(); if ((_Player.ManaPercent <= ModesMenu2["ManaF"].Cast <Slider>().CurrentValue)) { return; } if (Q.IsReady() && Q.IsInRange(minions) && ModesMenu2["FarmQ"].Cast <CheckBox>().CurrentValue&& minions.Health < DamageLib.QCalc(minions)) { Q.Cast(minions); } if (E.IsReady() && E.IsInRange(minions) && ModesMenu2["FarmE"].Cast <CheckBox>().CurrentValue&& (minion >= ModesMenu2["MinionE"].Cast <Slider>().CurrentValue)) { E.Cast(minions); } if (R.IsReady() && R.IsInRange(minions) && ModesMenu2["FarmR"].Cast <CheckBox>().CurrentValue) { R.Cast(minions); } if (W.IsReady() && _Player.Distance(minions) <= _Player.GetAutoAttackRange() + 50 && ModesMenu2["FarmW"].Cast <CheckBox>().CurrentValue) { W.Cast(); } } if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LastHit)) { var minions = EntityManager.MinionsAndMonsters.GetLaneMinions(EntityManager.UnitTeam.Enemy, _Player.Position, Q.Range).OrderByDescending(x => x.MaxHealth).FirstOrDefault(); var minion = EntityManager.MinionsAndMonsters.EnemyMinions.Where(t => t.IsInRange(Player.Instance.Position, E.Range) && !t.IsDead && t.IsValid && !t.IsInvulnerable).Count(); if (Q.IsReady() && Q.IsInRange(minions) && ModesMenu2["LastQ"].Cast <CheckBox>().CurrentValue&& minions.Health < DamageLib.QCalc(minions)) { Q.Cast(minions); } if (W.IsReady() && _Player.Distance(minions) <= _Player.GetAutoAttackRange() + 50 && ModesMenu2["LastW"].Cast <CheckBox>().CurrentValue&& minions.Health < DamageLib.WCalc(minions)) { W.Cast(); } if (E.IsReady() && E.IsInRange(minions) && ModesMenu2["LastE"].Cast <CheckBox>().CurrentValue&& (minion >= ModesMenu2["MinionE"].Cast <Slider>().CurrentValue&& minions.Health < DamageLib.ECalc(minions))) { E.Cast(minions); } if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Flee)) { var Mpos = Game.CursorPos; if (R.IsReady()) { R.Cast(Mpos); } } } }
private void Combo() { var target = TargetSelector.GetTarget(1500, DamageType.Magical) ?? TargetSelector.GetTarget(1500, DamageType.Physical); if (targetHadBuff && Environment.TickCount - hadBuffTick >= 2000) { targetHadBuff = false; } /*R*/ if (config.comboMenu.Get <CheckBox>("useR").CurrentValue&& ready(SpellSlot.R)) { if (me.GetSpellDamage(target, SpellSlot.R) > target.Health) { R.Cast(target); if (ready(SpellSlot.Q)) { Core.RepeatAction(() => Q.Cast(Q.GetPrediction(target).CastPosition), 1, 1000); } } else if (!ready(SpellSlot.Q)) { if (config.comboMenu.Get <CheckBox>("useRmoonlightOnly").CurrentValue&& (target.HasBuff(QBuffName) || targetHadBuff)) { R.Cast(target); if (!targetHadBuff) { targetHadBuff = true; hadBuffTick = Environment.TickCount; } } else if (!config.comboMenu.Get <CheckBox>("useRmoonlightOnly").CurrentValue) { R.Cast(target); } } } /*Q*/ if (config.comboMenu.Get <CheckBox>("useBetterQCombo").CurrentValue) { DoQOnTargetAndOthers(target); } else { var pred = Q.GetPrediction(target); if (config.comboMenu.Get <CheckBox>("useQ").CurrentValue&& ready(SpellSlot.Q)) { if (pred.HitChance >= HitChance.High) { Q.Cast(pred.CastPosition); } } } /*W*/ if (target.Distance(me) <= W.Range + 250 && config.comboMenu.Get <CheckBox>("useW").CurrentValue&& ready(SpellSlot.W)) { W.Cast(); } //E CheckEscaping(target); }
private static void OnTick(EventArgs args) { if (myHero.IsDead) return; W = new Spell.Active(SpellSlot.W, (uint)(565 + 60 + W.Level * 30 + 65)); R = new Spell.Skillshot(SpellSlot.R, (uint)(900 + R.Level * 300), SkillShotType.Circular, 1500, int.MaxValue, 225); if (human && wActive) { if (1 / myHero.AttackDelay > Convert.ToSingle(esw) / 100) { if (EntityManager.Heroes.Enemies.Any(x => x.IsValidTarget(130 + swez)) || !EntityManager.Heroes.Enemies.Any(x => x.IsValidTarget(130 + swchz))) { Orbwalker.DisableMovement = false; Orbwalker.DisableAttacking = !(Environment.TickCount + Game.Ping / 2 + 25 >= LastAATick + 1.0 / Convert.ToSingle(swatk) * 1000 * 100); } else { Orbwalker.DisableAttacking = false; Orbwalker.DisableMovement = true; } } else { Orbwalker.DisableAttacking = false; Orbwalker.DisableMovement = false; } } if (CanMove(100)) { if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo)) { if (useQ) { if (QIsReadyPerfectly()) { if (!manaW || W.Level <= 0 || myHero.Mana - getSpellMana(SpellSlot.Q) >= getSpellMana(SpellSlot.W)) { var target = TargetSelector.GetTarget(Q.Range, DamageType.Magical); if (target != null) { Q.Cast(target); } } } } if (useW) { if (WIsReadyPerfectly()) { if (EntityManager.Heroes.Enemies.Any(x => x.IsValidTarget(W.Range))) { W.Cast(); } } } if (useE) { if (EIsReadyPerfectly()) { if (!manaW || W.Level <= 0 || myHero.Mana - getSpellMana(SpellSlot.E) >= getSpellMana(SpellSlot.W)) { var target = TargetSelector.GetTarget(E.Range, DamageType.Magical); if (target != null) { E.Cast(target); } } } } if (useR) { if (RIsReadyPerfectly()) { if (!manaW || W.Level <= 0 || myHero.Mana - getSpellMana(SpellSlot.R) >= getSpellMana(SpellSlot.W)) { if (myHero.GetBuffCount("kogmawlivingartillerycost") < rLimit) { var target = TargetSelector.GetTarget(R.Range, DamageType.Magical); if (target != null) { if (onlyRHP) { if (target.HealthPercent < hpOfTarget) { R.Cast(target); } } else { R.Cast(target); } } } else { var killableTarget = EntityManager.Heroes.Enemies.FirstOrDefault(x => x.IsKillableAndValidTarget(myHero.GetSpellDamage(x, SpellSlot.R), DamageType.Magical, R.Range) && R.GetPrediction(x).HitChance >= HitChance.High); if (killableTarget != null) { R.Cast(killableTarget); } } } } } } else if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Harass)) { if (useQH) { if (QIsReadyPerfectly()) if (myHero.IsManaPercentOkay(manaH)) { var target = TargetSelector.GetTarget(Q.Range, DamageType.Magical); if (target != null) Q.Cast(target); } } if (useEH) { if (EIsReadyPerfectly()) if (myHero.IsManaPercentOkay(manaH)) { var target = TargetSelector.GetTarget(E.Range, DamageType.Magical); if (target != null) E.Cast(target); } } if (useRH) { if (RIsReadyPerfectly()) { if (myHero.IsManaPercentOkay(manaH)) { if (myHero.GetBuffCount("kogmawlivingartillerycost") < rLimitH) { var target = TargetSelector.GetTarget(R.Range, DamageType.Magical); if (target != null) R.Cast(target); } } } } } else if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear) || Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.JungleClear)) { foreach ( var minion in EntityManager.MinionsAndMonsters.GetLaneMinions(EntityManager.UnitTeam.Enemy, myHero.ServerPosition, myHero.GetAutoAttackRange())) { if (useELC) { if (myHero.IsManaPercentOkay(manaLC)) { if (EIsReadyPerfectly()) { var minions = EntityManager.MinionsAndMonsters.GetLaneMinions( EntityManager.UnitTeam.Enemy, myHero.ServerPosition, E.Range); var farmLocation = EntityManager.MinionsAndMonsters.GetLineFarmLocation( minions, E.Width, (int)E.Range); if (farmLocation.HitNumber >= 3) E.Cast(farmLocation.CastPosition); } } } if (useRLC) { if (myHero.IsManaPercentOkay(manaLC)) { if (RIsReadyPerfectly()) { if (myHero.GetBuffCount("kogmawlivingartillerycost") < rLimitLC) { var minions = EntityManager.MinionsAndMonsters.GetLaneMinions( EntityManager.UnitTeam.Enemy, myHero.ServerPosition, R.Range); var farmLocation = EntityManager.MinionsAndMonsters.GetCircularFarmLocation(minions, R.Width, (int)R.Range); if (farmLocation.HitNumber >= 2) { R.Cast(farmLocation.CastPosition); } } } } } } foreach ( var jungleMobs in ObjectManager.Get<Obj_AI_Minion>() .Where( o => o.IsValidTarget(W.Range) && o.Team == GameObjectTeam.Neutral && o.IsVisible && !o.IsDead)) { if (WIsReadyPerfectly()) if (useWJG) W.Cast(); if (useEJG) { if (myHero.IsManaPercentOkay(manaJG)) { if (EIsReadyPerfectly()) { var minions = EntityManager.MinionsAndMonsters.GetJungleMonsters(myHero.ServerPosition, E.Range); var farmLocation = EntityManager.MinionsAndMonsters.GetLineFarmLocation( minions, E.Width, (int)E.Range); if (farmLocation.HitNumber >= 2) { E.Cast(farmLocation.CastPosition); } } } } if (useRJG) { if (myHero.IsManaPercentOkay(manaJG)) { if (RIsReadyPerfectly()) { if (myHero.GetBuffCount("kogmawlivingartillerycost") < rLimitJG) { var minions = EntityManager.MinionsAndMonsters.GetJungleMonsters( myHero.ServerPosition, R.Range); var farmLocation = EntityManager.MinionsAndMonsters.GetCircularFarmLocation(minions, R.Width, (int)R.Range); if (farmLocation.HitNumber >= 2) { R.Cast(farmLocation.CastPosition); } } } } } } } } }
private static void Combo() { var target = TargetSelector.GetTarget(W.Range, DamageType.Physical); var useW = ComboMenu["ComboW"].Cast <CheckBox>().CurrentValue; var useW2 = ComboMenu["ComboW2"].Cast <CheckBox>().CurrentValue; var useE = ComboMenu["ComboE"].Cast <CheckBox>().CurrentValue; var disE = ComboMenu["DisE"].Cast <Slider>().CurrentValue; var item = ComboMenu["BOTRK"].Cast <CheckBox>().CurrentValue; var Minhp = ComboMenu["ihp"].Cast <Slider>().CurrentValue; var Minhpp = ComboMenu["ihpp"].Cast <Slider>().CurrentValue; var turret = ComboMenu["CTurret"].Cast <KeyBind>().CurrentValue; if (target != null) { if (useE && E.IsReady() && target.IsValidTarget(E.Range) && (disE <= target.Distance(Player.Instance) || Player.Instance.HealthPercent <= 20)) { if (turret) { if (!target.Position.UnderTuret()) { E.Cast(target.Position); } } else { E.Cast(target.Position); } } if (useW && W.IsReady() && target.IsValidTarget(W.Range)) { if (_Player.Distance(target) <= target.GetAutoAttackRange() && Player.Instance.HealthPercent <= 60) { W.Cast(); } if (useW2) { if (!target.IsFacing(Player.Instance) && _Player.Distance(target) >= 325 && !E.IsReady()) { W.Cast(); } } else { if (!target.IsFacing(Player.Instance) && _Player.Distance(target) >= 325) { W.Cast(); } } } if (item && Bil.IsReady() && Bil.IsOwned() && target.IsValidTarget(475)) { Bil.Cast(target); } if ((item && Botrk.IsReady() && Botrk.IsOwned() && target.IsValidTarget(475)) && (Player.Instance.HealthPercent <= Minhp || target.HealthPercent < Minhpp)) { Botrk.Cast(target); } } }
public override void Init() { try { try { #region Spells // Defining Spells _q = new Spell.Targeted(SpellSlot.Q, 675); _w = new Spell.Active(SpellSlot.W, 375); _e = new Spell.Targeted(SpellSlot.E, 700); _r = new Spell.Active(SpellSlot.R, 550); #endregion } catch (Exception e) { Console.WriteLine(e); Chat.Print("<font color='#23ADDB'>Marksman AIO:</font><font color='#E81A0C'> an error ocurred. (Code SPELL)</font>"); } try { #region Menu var combo = MainMenu._combo; string[] s = { "QEWR", "EQWR" }; combo.AddStringList("combo.mode", "Mode: ", s, 1); MainMenu.ComboKeys(true, true, true, true); MainMenu.HarassKeys(true, true, true, true); MainMenu._harass.Add("harass.autow", new CheckBox("Use Auto W")); MainMenu._harass.Add("harass.donteunderturret", new CheckBox("Dont E Under Turret")); MainMenu.FleeKeys(false, false, true, false); MainMenu._flee.Add("flee.ward", new CheckBox("Use Wardjump")); MainMenu.LaneKeys(true, true, true, false); MainMenu._lane.Add("lane.donteunderturret", new CheckBox("Dont E Under Turret")); MainMenu.LastHitKeys(true, true, true, false); MainMenu._lasthit.Add("lasthit.donteunderturret", new CheckBox("Dont E Under Turret")); MainMenu.KsKeys(true, true, true, true); MainMenu._ks.Add("killsteal.ignite", new CheckBox("Use Ignite")); MainMenu._ks.Add("killsteal.donteunderturret", new CheckBox("Dont E Under Turret")); MainMenu.DamageIndicator(); MainMenu.DrawKeys(true, true, true, true); MainMenu._draw.AddSeparator(); MainMenu._draw.AddGroupLabel("Flash Settings"); MainMenu._draw.Add("draw.flash", new CheckBox("Draw flash")); MainMenu._draw.AddColorItem("color.flash"); MainMenu._draw.AddWidthItem("width.flash"); MainMenu._draw.AddSeparator(); MainMenu._draw.AddGroupLabel("Ignite Settings"); MainMenu._draw.Add("draw.ignite", new CheckBox("Draw ignite")); MainMenu._draw.AddColorItem("color.ignite"); MainMenu._draw.AddWidthItem("width.ignite"); _humanizerMenu = MainMenu._menu.AddSubMenu("Humanizer Menu"); _humanizerMenu.AddGroupLabel("Q Settings"); _humanizerMenu.Add("min.q", new Slider("Min Q Delay", 0, 0, 50)); _humanizerMenu.Add("max.q", new Slider("Max Q Delay", 0, 0, 50)); _humanizerMenu.AddSeparator(10); _humanizerMenu.AddGroupLabel("W Settings"); _humanizerMenu.Add("min.w", new Slider("Min W Delay", 0, 0, 50)); _humanizerMenu.Add("max.w", new Slider("Max W Delay", 0, 0, 50)); _humanizerMenu.AddSeparator(10); _humanizerMenu.AddGroupLabel("E Settings"); _humanizerMenu.Add("min.e", new Slider("Min E Delay", 0, 0, 50)); _humanizerMenu.Add("max.e", new Slider("Max E Delay", 0, 0, 50)); _humanizerMenu.AddSeparator(10); _humanizerMenu.AddGroupLabel("R Settings"); _humanizerMenu.Add("min.r", new Slider("Min R Delay", 4, 0, 50)); _humanizerMenu.Add("max.r", new Slider("Max R Delay", 4, 0, 50)); _humanizerMenu.AddSeparator(10); #endregion } catch (Exception e) { Console.WriteLine(e); Chat.Print("<font color='#23ADDB'>Marksman AIO:</font><font color='#E81A0C'> an error ocurred. (Code MENU)</font>"); } #region UtilityInit DamageIndicator.DamageToUnit = GetActualRawComboDamage; Value.Init(); Value.MenuList.Add(_humanizerMenu); Drawing.OnDraw += DrawRanges; #region MenuValueChange _humanizerMenu["min.q"].Cast<Slider>().OnValueChange += delegate { if (_humanizerMenu["min.q"].Cast<Slider>().CurrentValue > _humanizerMenu["max.q"].Cast<Slider>().CurrentValue) _humanizerMenu["min.q"].Cast<Slider>().CurrentValue = _humanizerMenu["max.q"].Cast<Slider>().CurrentValue; }; _humanizerMenu["max.q"].Cast<Slider>().OnValueChange += delegate { if (_humanizerMenu["max.q"].Cast<Slider>().CurrentValue < _humanizerMenu["min.q"].Cast<Slider>().CurrentValue) _humanizerMenu["max.q"].Cast<Slider>().CurrentValue = _humanizerMenu["min.q"].Cast<Slider>().CurrentValue; }; _humanizerMenu["min.w"].Cast<Slider>().OnValueChange += delegate { if (_humanizerMenu["min.w"].Cast<Slider>().CurrentValue > _humanizerMenu["max.w"].Cast<Slider>().CurrentValue) _humanizerMenu["min.w"].Cast<Slider>().CurrentValue = _humanizerMenu["max.w"].Cast<Slider>().CurrentValue; }; _humanizerMenu["max.w"].Cast<Slider>().OnValueChange += delegate { if (_humanizerMenu["max.w"].Cast<Slider>().CurrentValue < _humanizerMenu["min.w"].Cast<Slider>().CurrentValue) _humanizerMenu["max.w"].Cast<Slider>().CurrentValue = _humanizerMenu["min.w"].Cast<Slider>().CurrentValue; }; _humanizerMenu["min.e"].Cast<Slider>().OnValueChange += delegate { if (_humanizerMenu["min.e"].Cast<Slider>().CurrentValue > _humanizerMenu["max.e"].Cast<Slider>().CurrentValue) _humanizerMenu["min.e"].Cast<Slider>().CurrentValue = _humanizerMenu["max.e"].Cast<Slider>().CurrentValue; }; _humanizerMenu["max.e"].Cast<Slider>().OnValueChange += delegate { if (_humanizerMenu["max.e"].Cast<Slider>().CurrentValue < _humanizerMenu["min.e"].Cast<Slider>().CurrentValue) _humanizerMenu["max.e"].Cast<Slider>().CurrentValue = _humanizerMenu["min.e"].Cast<Slider>().CurrentValue; }; _humanizerMenu["min.r"].Cast<Slider>().OnValueChange += delegate { if (_humanizerMenu["min.r"].Cast<Slider>().CurrentValue > _humanizerMenu["max.r"].Cast<Slider>().CurrentValue) _humanizerMenu["min.r"].Cast<Slider>().CurrentValue = _humanizerMenu["max.r"].Cast<Slider>().CurrentValue; }; _humanizerMenu["max.r"].Cast<Slider>().OnValueChange += delegate { if (_humanizerMenu["max.r"].Cast<Slider>().CurrentValue < _humanizerMenu["min.r"].Cast<Slider>().CurrentValue) _humanizerMenu["max.r"].Cast<Slider>().CurrentValue = _humanizerMenu["min.r"].Cast<Slider>().CurrentValue; }; #endregion #endregion } catch (Exception e) { Console.WriteLine(e); Chat.Print("<font color='#23ADDB'>Marksman AIO:</font><font color='#E81A0C'> an error ocurred. (Code 503)</font>"); } Game.OnUpdate += delegate { try { #region AutoW if (MainMenu._harass["harass.autow"].Cast<CheckBox>().CurrentValue) { var e = EntityManager.Heroes.Enemies.Where(ee => !ee.IsDead && ee.IsValid); foreach (var enemy in e) { if (_w.IsInRange(enemy) && _w.IsReady() && !_isUlting) { _w.Cast(); } } } #endregion KillSteal(); } catch (Exception e) { Console.WriteLine(e); Chat.Print("<font color='#23ADDB'>Marksman AIO:</font><font color='#E81A0C'> san error ocurred. (Code 5)</font>"); } //KillSteal(); }; }
/// <summary> /// Called whenever the game is being runned. /// </summary> /// <param name="args"></param> private static void Game_OnUpdate(System.EventArgs args) { if (Config.MiscMenu["pet"].Cast <CheckBox>().CurrentValue) { Pet.MovePet(); } if (Config.KillStealMenu["toggle"].Cast <CheckBox>().CurrentValue) { if (!LastWEndPosition.IsZero && Player.Instance.Spellbook.GetSpell(SpellSlot.W).Name.ToLower() == "leblancslide") { LastWEndPosition = Vector3.Zero; } if (!LastWUltimateEndPosition.IsZero && Player.Instance.Spellbook.GetSpell(SpellSlot.R).Name.ToLower() == "leblancslidem") { LastWUltimatePosition = Vector3.Zero; } if (Modes.KillSteal.ResetW && Player.Instance.ServerPosition.IsInRange(LastWEndPosition, 100)) { if (!E.IsReady()) { var eEnemies = EntityManager.Heroes.Enemies.Where(t => t.IsValidTarget(E.Range) && Extension.IsBeingE(t)) .ToArray(); if (eEnemies.Any()) { var shouldUse = eEnemies.Any(t => LastWPosition.Distance(t) <= E.Range); if (!shouldUse) { return; } if (WReturn.IsReady() && Player.Instance.Spellbook.GetSpell(SpellSlot.W).Name.ToLower() == "leblancslidereturn") { WReturn.Cast(); LastWEndPosition = Vector3.Zero; KillSteal.ResetW = false; return; } } else { if (WReturn.IsReady() && Player.Instance.Spellbook.GetSpell(SpellSlot.W).Name.ToLower() == "leblancslidereturn") { WReturn.Cast(); LastWEndPosition = Vector3.Zero; Modes.KillSteal.ResetW = false; return; } } } if (WReturn.IsReady() && Player.Instance.Spellbook.GetSpell(SpellSlot.W).Name.ToLower() == "leblancslidereturn") { WReturn.Cast(); LastWEndPosition = Vector3.Zero; Modes.KillSteal.ResetW = false; return; } } if (Modes.KillSteal.ResetW && Player.Instance.ServerPosition.IsInRange(LastWUltimateEndPosition, 100)) { if (!E.IsReady()) { var eEnemies = EntityManager.Heroes.Enemies.Where(t => t.IsValidTarget(E.Range) && Extension.IsBeingE(t)) .ToArray(); if (eEnemies.Any()) { var shouldUse = eEnemies.Any(t => LastWUltimatePosition.Distance(t) <= E.Range); if (!shouldUse) { return; } if (RReturn.IsReady() && Player.Instance.Spellbook.GetSpell(SpellSlot.R).Name.ToLower() == "leblancslidereturnm") { RReturn.Cast(); LastWEndPosition = Vector3.Zero; KillSteal.ResetW = false; return; } } else { if (RReturn.IsReady() && Player.Instance.Spellbook.GetSpell(SpellSlot.R).Name.ToLower() == "leblancslidereturnm") { RReturn.Cast(); LastWUltimateEndPosition = Vector3.Zero; Modes.KillSteal.ResetW = false; return; } } } if (RReturn.IsReady() && Player.Instance.Spellbook.GetSpell(SpellSlot.R).Name.ToLower() == "leblancslidereturnm") { RReturn.Cast(); LastWUltimateEndPosition = Vector3.Zero; Modes.KillSteal.ResetW = false; return; } } Modes.KillSteal.Execute(); } if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo)) { Modes.Combo.Execute(); } if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Harass)) { Modes.Harass.Execute(); } if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear)) { Modes.LaneClear.Execute(); } if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.JungleClear)) { Modes.JungleClear.Execute(); } }
public static void HandleDodging() { AIHeroClient self = Player.Instance; if (!self.IsSafe()) { //every 20th of a second it can check for movements. This is to avoid FPS drops. if (Game.Time - TimeOfLastMovementCheck >= 0.05f && !TryToMoveToSafePosition()) { List <CustomPolygon> polysThatHitMe = self.GetPolygonsThatHitMe(); List <SpellInfo> selfSpells = self.GetSpells(); Menu mainMenu = MenuHandler.mainChampionEvadeMenu; float highestDangerValueIncoming = polysThatHitMe.OrderByDescending(a => a.GetDangerValue()).FirstOrDefault().GetDangerValue(); CustomPolygon closestSpell = self.FindSpellInfoWithClosestTime(); #region UseSpellShield if (highestDangerValueIncoming >= mainMenu.GetSliderValue("Spell Shield Danger Level") && selfSpells.Any(a => a.BuffType == SpellInfo.Buff.SpellShield && closestSpell.TimeUntilHitsChampion(self) <= a.Duration && a.IsOffCooldown())) { SpellInfo spellShield = selfSpells.FirstOrDefault(a => a.BuffType == SpellInfo.Buff.SpellShield && closestSpell.TimeUntilHitsChampion(self) <= a.Duration && a.IsOffCooldown()); //Sivir W/Nocturne W if (spellShield.SpellType == SpellInfo.SpellTypeInfo.PassiveSpell || spellShield.SpellType == SpellInfo.SpellTypeInfo.PassiveSpellWithBuff || spellShield.SpellType == SpellInfo.SpellTypeInfo.PassiveSpellWithDuration) { Spell.Active spell = new Spell.Active(self.GetSpellSlotFromName(spellShield.SpellName)); bool casted = spell.Cast(); if (casted) { return; } } //Morgana W else if (spellShield.SpellType == SpellInfo.SpellTypeInfo.TargetedPassiveSpell) { Spell.Targeted spell = new Spell.Targeted(self.GetSpellSlotFromName(spellShield.SpellName), (uint)spellShield.Range); bool casted = spell.Cast(self); if (casted) { return; } } } #endregion #region FlashFromSpell if (highestDangerValueIncoming >= mainMenu.GetSliderValue("Spell Shield Danger Level")) { Spell.Skillshot flash = new Spell.Skillshot(self.GetSpellSlotFromName("SummonerFlash"), 425, SkillShotType.Linear, 0, 0, 0); if (flash.IsReady()) { Vector3 flashPos = GetSafePositions(self, flash.Range - 5).OrderByDescending(a => a.DistanceFromClosestEnemy()).FirstOrDefault(); bool casted = flash.Cast(flashPos); if (casted) { return; } } } #endregion } } else { safePosition = Vector3.Zero; } }
private static void Game_OnTick(EventArgs args) { var HPpot = MiscMenu["useHP"].Cast <CheckBox>().CurrentValue; var Mpot = MiscMenu["useMana"].Cast <CheckBox>().CurrentValue; var Crystal = MiscMenu["useCrystal"].Cast <CheckBox>().CurrentValue; var HPv = MiscMenu["useHPv"].Cast <Slider>().CurrentValue; var Manav = MiscMenu["useManav"].Cast <Slider>().CurrentValue; var CrystalHPv = MiscMenu["useCrystalHPv"].Cast <Slider>().CurrentValue; var CrystalManav = MiscMenu["useCrystalManav"].Cast <Slider>().CurrentValue; var target = TargetSelector.GetTarget(Q.Range, DamageType.Physical); var igntarget = TargetSelector.GetTarget(600, DamageType.True); var t = TargetSelector.GetTarget(Q.Range, DamageType.Magical); if (_Player.SkinId != Skin["skin.Id"].Cast <Slider>().CurrentValue) { if (checkSkin()) { Player.SetSkinId(SkinId()); } } if (Smite != null) { if (Smite.IsReady() && SmiteMenu["Use Smite?"].Cast <CheckBox>().CurrentValue) { Obj_AI_Minion Mob = EntityManager.MinionsAndMonsters.GetJungleMonsters(_Player.Position, Smite.Range).FirstOrDefault(); if (Mob != default(Obj_AI_Minion)) { bool kill = GetSmiteDamage() >= Mob.Health; if (kill) { if ((Mob.Name.Contains("SRU_Dragon") || Mob.Name.Contains("SRU_Baron"))) { Smite.Cast(Mob); } else if (Mob.Name.StartsWith("SRU_Red") && SmiteMenu["Red?"].Cast <CheckBox>().CurrentValue) { Smite.Cast(Mob); } else if (Mob.Name.StartsWith("SRU_Blue") && SmiteMenu["Blue?"].Cast <CheckBox>().CurrentValue) { Smite.Cast(Mob); } } } } } if (HPpot && Player.Instance.HealthPercent < HPv) { if (Item.HasItem(Healthpot.Id) && Item.CanUseItem(Healthpot.Id) && !Player.HasBuff("RegenerationPotion")) { Healthpot.Cast(); } else if (Item.HasItem(RefillablePotion.Id) && Item.CanUseItem(RefillablePotion.Id) && !Player.HasBuff("RegenerationPotion") && !Player.HasBuff("FlaskOfCrystalWater") && !Player.HasBuff("ItemCrystalFlask")) { RefillablePotion.Cast(); } } if (Mpot && Player.Instance.ManaPercent < Manav) { if (Item.HasItem(Manapot.Id) && Item.CanUseItem(Manapot.Id) && !Player.HasBuff("FlaskOfCrystalWater") && !Player.HasBuff("ItemCrystalFlask")) { Manapot.Cast(); } } if (Crystal && Player.Instance.HealthPercent < CrystalHPv || Crystal && Player.Instance.ManaPercent < CrystalManav) { if (Item.HasItem(CorruptionPotion.Id) && Item.CanUseItem(CorruptionPotion.Id) && !Player.HasBuff("RegenerationPotion") && !Player.HasBuff("FlaskOfCrystalWater") && !Player.HasBuff("ItemCrystalFlask") && !Player.HasBuff("ItemDarkCrystalFlaskJungle")) { CorruptionPotion.Cast(); } else if (Item.HasItem(HuntersPotion.Id) && Item.CanUseItem(HuntersPotion.Id) && !Player.HasBuff("RegenerationPotion") && !Player.HasBuff("FlaskOfCrystalWater") && !Player.HasBuff("ItemCrystalFlask") && !Player.HasBuff("ItemCrystalFlaskJungle")) { HuntersPotion.Cast(); } } if (R.IsReady() && ComboMenu["SafeR"].Cast <CheckBox>().CurrentValue&& _Player.HealthPercent <= ComboMenu["SafeRHP"].Cast <Slider>().CurrentValue) { if (_Player.IsUnderTurret()) { R.Cast(); } foreach (var enemie in EntityManager.Heroes.Enemies) { if (_Player.Distance(enemie) < 1200 && !enemie.IsDead) { R.Cast(); } } } if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo)) { Combo(); SmiteOnTarget(t); } if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Harass)) { Harass(); } if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear)) { LaneClear(); } if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LastHit)) { LastHit(); } if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.JungleClear)) { JungleClear(); } KillSteal(); }
private static void Game_OnUpdate(EventArgs args) { if (Player.Instance.IsDead) { return; } SkinHack.Init(); Tibbers.Init(); if (AnnieMenu.Keybind(AnnieMenu.Combo, "Flash")) { var Target = TargetSelector.GetTarget(Flash.Range + R.Range, DamageType.Magical); if (Target != null) { if (Flash.IsReady() && R.IsReady()) { var RPred = R.GetPrediction(Target); if (RPred.HitChancePercent >= AnnieMenu.Slider(AnnieMenu.Principal, "RPred")) { Flash.Cast(Player.Instance.Position.Extend(Target.Position, Flash.Range).To3D()); Core.DelayAction(() => R.Cast(RPred.UnitPosition), 150); } } } } if (AnnieMenu.CheckBox(AnnieMenu.Combo, "E")) { if (Player.Instance.IsRecalling()) { return; } if (!HasStun()) { if (E.IsReady()) { E.Cast(); } } } if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo)) { Modes.Combo.Init(); } if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear)) { Modes.Laneclear.Init(); } if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.JungleClear)) { Modes.Jungleclear.Init(); } if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LastHit)) { Modes.Lasthit.Init(); } }
public static void ComboWQER() { var useQ = SubMenu["Combo"]["Q"].Cast <CheckBox>().CurrentValue; var useW = SubMenu["Combo"]["W"].Cast <CheckBox>().CurrentValue; var useE = SubMenu["Combo"]["E"].Cast <CheckBox>().CurrentValue; var useR = SubMenu["Combo"]["R"].Cast <CheckBox>().CurrentValue; var target = TargetSelector.GetTarget(W.Range, DamageType.Magical); Orbwalker.ForcedTarget = target; if (target != null && target.IsValidTarget()) { if (useW && W.IsReady()) { W.Cast(target); } else if (!W.IsReady() && useQ && Q.IsReady()) { QCast(); } else if (!Q.IsReady() && useE && E.IsReady()) { E.Cast(target); } else if (!E.IsReady() && useR && R.IsReady() && myHero.GetBuffCount("ryzepassivestack") == 4 || myHero.GetBuffCount("ryzepassivestack") == 2 || myHero.GetBuffCount("ryzepassivestack") == 3) { R.Cast(); } else if (!R.IsReady() && useW && W.IsReady()) { W.Cast(target); } else if (!W.IsReady() && useQ && Q.IsReady()) { QCast(); } else if (!Q.IsReady() && useE && E.IsReady()) { E.Cast(target); } else if (!E.IsReady() && useQ && Q.IsReady()) { QCast(); } else if (!Q.IsReady() && useW && W.IsReady()) { W.Cast(target); } else if (!W.IsReady() && useQ && Q.IsReady()) { QCast(); } else if (!Q.IsReady() && useE && E.IsReady()) { E.Cast(target); } else if (!E.IsReady() && useQ && Q.IsReady()) { QCast(); } else if (!Q.IsReady() && useW && W.IsReady()) { W.Cast(target); } else if (!W.IsReady() && useQ && Q.IsReady()) { QCast(); } else if (!Q.IsReady() && useE && E.IsReady()) { E.Cast(target); } else if (!E.IsReady() && useQ && Q.IsReady()) { QCast(); } else if (!Q.IsReady() && useW && W.IsReady()) { W.Cast(target); } else if (!W.IsReady() && useQ && Q.IsReady()) { QCast(); } else if (!Q.IsReady() && useE && E.IsReady()) { E.Cast(target); } else if (!E.IsReady() && useQ && Q.IsReady()) { QCast(); } else if (!Q.IsReady() && useW && W.IsReady()) { W.Cast(target); } else if (!W.IsReady() && useQ && Q.IsReady()) { QCast(); } else if (!Q.IsReady() && useE && E.IsReady()) { E.Cast(target); } else if (!E.IsReady() && useQ && Q.IsReady()) { QCast(); } else if (!Q.IsReady() && useW && W.IsReady()) { W.Cast(target); } else if (!W.IsReady() && useQ && Q.IsReady()) { QCast(); } else if (!Q.IsReady() && useE && E.IsReady()) { E.Cast(target); } else if (!E.IsReady() && useQ && Q.IsReady()) { QCast(); } else if (!Q.IsReady() && useW && W.IsReady()) { W.Cast(target); } } }
private static void JungleClear() { var jungleclearQ = JungleclearMenu["JQ"].Cast <CheckBox>().CurrentValue; var jungleclearW = JungleclearMenu["JW"].Cast <CheckBox>().CurrentValue; var jungleclearE = JungleclearMenu["JE"].Cast <CheckBox>().CurrentValue; var jungleclearR = JungleclearMenu["JR"].Cast <CheckBox>().CurrentValue; Obj_AI_Base minion = EntityManager.MinionsAndMonsters.GetJungleMonsters( ObjectManager.Player.Position, 600, true).FirstOrDefault(); if (minion != null) { if (jungleclearQ && Q.IsReady()) { var Qpred = Q.GetPrediction(minion); Q.Cast(Qpred.UnitPosition); } if (jungleclearE && E.IsReady()) { E.Cast(minion); } if (jungleclearW && W.IsReady()) { W.Cast(minion); } if (jungleclearR && R.IsReady() && (GetPassiveBuff >= 4 || myHero.HasBuff("ryzepassivecharged"))) { R.Cast(); } } }
private static void Game_OnUpdate(EventArgs args) { if (kill && myHero.ChampionName == "Ryze") { Killable(); } if (myHero.HealthPercent < healslider && Heal != null && !myHero.IsInShopRange()) { Heal.Cast(); } if (myHero.ManaPercent < manaslider && Clarity != null && !myHero.IsInShopRange()) { Clarity.Cast(); } var allyturret = EntityManager.Turrets.Allies.Where(k => !k.IsDead && k != null).OrderBy(k => k.Distance(myHero)).First(); var enemyturret = EntityManager.Turrets.Enemies.Where(k => !k.IsDead && k != null).OrderBy(k => k.Distance(myHero)).First(); var ally = EntityManager.Heroes.Allies.Where(x => !x.IsMe && !x.IsInShopRange() && !x.IsDead && !SmiteNames.Contains(x.Spellbook.GetSpell(SpellSlot.Summoner1).Name) && !SmiteNames.Contains(x.Spellbook.GetSpell(SpellSlot.Summoner2).Name)).OrderBy(n => n.TotalAttackDamage).Last(); if (ally == null) { return; } if (Menu["recall"].Cast <CheckBox>().CurrentValue&& ally.IsRecalling() && myHero.Distance(ally) <= 400) { Player.CastSpell(SpellSlot.Recall); } if (needheal == 0 && myHero.Distance(ally) >= 100 && killing == 0) { Orbwalker.MoveTo(ally.Position - sliderdist); } if (myHero.Distance(enemyturret) < 500) { Player.IssueOrder(GameObjectOrder.AutoAttack, enemyturret); } if (myHero.Distance(allyturret) <= 250 && needheal == 1 && !myHero.IsInShopRange()) { Player.CastSpell(SpellSlot.Recall); } if (needheal == 1 && myHero.Distance(allyturret) >= 250) { Orbwalker.MoveTo(allyturret.Position); } if (myHero.HealthPercent < 20 || myHero.ManaPercent < 10) { needheal = 1; } if (myHero.HealthPercent > 90 && myHero.ManaPercent > 90) { needheal = 0; } //Needs Rework if (myHero.IsInShopRange() || myHero.IsDead) { var Gold = myHero.Gold; if (ROA.IsOwned()) { if (Gold >= 400 && !SapphireCrystal.IsOwned() && !Catalyst.IsOwned()) { SapphireCrystal.Buy(); } if (Gold >= 400 && !RubyCrystal.IsOwned() && !Catalyst.IsOwned()) { RubyCrystal.Buy(); } if (Gold >= 400 && !Catalyst.IsOwned() && SapphireCrystal.IsOwned() && RubyCrystal.IsOwned()) { Catalyst.Buy(); } if (Gold >= 850 && !BlastingWand.IsOwned() && Catalyst.IsOwned()) { BlastingWand.Buy(); } if (Gold >= 650 && BlastingWand.IsOwned() && Catalyst.IsOwned()) { ROA.Buy(); } } if (!trinket.IsOwned()) { trinket.Buy(); } if (Gold >= 475 && !SapphireCrystal.IsOwned() && !Tear.IsOwned() && !ArchangelsStaff.IsOwned()) { SapphireCrystal.Buy(); } if (Gold >= 320 && !Tear.IsOwned() && !ArchangelsStaff.IsOwned() && SapphireCrystal.IsOwned()) { Tear.Buy(); } if (Gold >= 400 && !Catalyst.IsOwned() && !RubyCrystal.IsOwned()) { RubyCrystal.Buy(); } if (Gold >= 800 && !Catalyst.IsOwned() && RubyCrystal.IsOwned()) { Catalyst.Buy(); } if (Gold >= 1250 && !ArchangelsStaff.IsOwned() && Tear.IsOwned() && !NeedlesslyLargeRod.IsOwned()) { NeedlesslyLargeRod.Buy(); } if (Gold >= 1030 && !ArchangelsStaff.IsOwned() && Tear.IsOwned() && NeedlesslyLargeRod.IsOwned()) { ArchangelsStaff.Buy(); } if (Gold >= 850 && !BlastingWand.IsOwned() && !ROA.IsOwned()) { BlastingWand.Buy(); } if (Gold >= 650 && BlastingWand.IsOwned() && Catalyst.IsOwned() && !ROA.IsOwned()) { ROA.Buy(); } if (Gold >= 325 && !Boots.IsOwned() && !MercuryTreads.IsOwned()) { Boots.Buy(); } if (Gold >= 875 && Boots.IsOwned() && !MercuryTreads.IsOwned()) { MercuryTreads.Buy(); } } if (myHero.IsRecalling() || myHero.ChampionName != "Ryze") { return; } if (killing == 0) { LastHit(); } if (myHero.Distance(enemyturret) > 700) { SluttyCombo(); } }
public override void KS() { if (!misc.IsActive("ks") || !EntityManager.Heroes.Enemies.Any(it => Q.IsInRange(it))) { return; } if (Q.IsReady()) { var bye = EntityManager.Heroes.Enemies.FirstOrDefault(enemy => enemy.IsValidTarget(Q.Range) && damageManager.SpellDamage(enemy, SpellSlot.Q) >= enemy.Health); if (bye != null) { Q.Cast(bye); return; } else { if (E.IsReady()) { bye = EntityManager.Heroes.Enemies.FirstOrDefault(enemy => enemy.IsValidTarget(E.Range) && damageManager.SpellDamage(enemy, SpellSlot.Q) + damageManager.SpellDamage(enemy, SpellSlot.E) >= enemy.Health); if (bye != null) { E.Cast(bye); return; } } if (W.IsReady()) { bye = EntityManager.Heroes.Enemies.FirstOrDefault(enemy => enemy.IsValidTarget(Q.Range) && damageManager.SpellDamage(enemy, SpellSlot.Q) + damageManager.SpellDamage(enemy, SpellSlot.W) >= enemy.Health); if (bye != null) { W.Cast(); Core.DelayAction(() => Q.Cast(bye), 100); return; } } if (E.IsReady() && W.IsReady()) { bye = EntityManager.Heroes.Enemies.FirstOrDefault(enemy => enemy.IsValidTarget(E.Range) && damageManager.SpellDamage(enemy, SpellSlot.Q) + damageManager.SpellDamage(enemy, SpellSlot.W) + damageManager.SpellDamage(enemy, SpellSlot.E) >= enemy.Health); if (bye != null) { E.Cast(bye); Core.DelayAction(() => W.Cast(), 250); Core.DelayAction(() => Q.Cast(bye), 350); return; } } } } if (E.IsReady()) { var bye = EntityManager.Heroes.Enemies.FirstOrDefault(enemy => enemy.IsValidTarget(E.Range) && damageManager.SpellDamage(enemy, SpellSlot.E) >= enemy.Health); if (bye != null) { E.Cast(bye); return; } } }
private static void SluttyCombo() { var target = TargetSelector.GetTarget(600, DamageType.Magical); if (target == null) { return; } var Stacks = myHero.GetBuffCount("ryzepassivestack"); var QPred = Prediction.Position.PredictLinearMissile(target, Q.Range, Q.Width, Q.CastDelay, Q.Speed, int.MinValue, myHero.ServerPosition); bool StacksBuff = myHero.HasBuff("ryzepassivestack"); bool Pasive = myHero.HasBuff("ryzepassivecharged"); if (target.IsValidTarget(Q.Range)) { if (Stacks <= 2 || !StacksBuff) { if (target.IsValidTarget(Q.Range) && Q.IsReady()) { Q.Cast(QPred.UnitPosition); } if (target.IsValidTarget(W.Range) && W.IsReady()) { W.Cast(target); } if (target.IsValidTarget(E.Range) && E.IsReady()) { E.Cast(target); } if (R.IsReady()) { if (target.IsValidTarget(W.Range) && target.Health > (myHero.GetSpellDamage(target, SpellSlot.Q) + myHero.GetSpellDamage(target, SpellSlot.E))) { if (target.HasBuff("RyzeW")) { R.Cast(); } } } } if (Stacks == 3) { if (target.IsValidTarget(Q.Range) && Q.IsReady()) { Q.Cast(QPred.UnitPosition); } if (target.IsValidTarget(E.Range) && E.IsReady()) { E.Cast(target); } if (target.IsValidTarget(W.Range) && W.IsReady()) { W.Cast(target); } if (R.IsReady()) { if (target.IsValidTarget(W.Range) && target.Health > (myHero.GetSpellDamage(target, SpellSlot.Q) + myHero.GetSpellDamage(target, SpellSlot.E))) { if (target.HasBuff("RyzeW")) { R.Cast(); } if (!E.IsReady() && !Q.IsReady() && !W.IsReady()) { R.Cast(); } } } } if (Stacks == 4) { if (target.IsValidTarget(W.Range) && W.IsReady()) { W.Cast(target); } if (target.IsValidTarget(Q.Range) && Q.IsReady()) { Q.Cast(QPred.UnitPosition); } if (target.IsValidTarget(E.Range) && E.IsReady()) { E.Cast(target); } if (R.IsReady()) { if (target.IsValidTarget(W.Range) && target.Health > (myHero.GetSpellDamage(target, SpellSlot.Q) + myHero.GetSpellDamage(target, SpellSlot.E))) { if (target.HasBuff("RyzeW")) { R.Cast(); } if (!E.IsReady() && !Q.IsReady() && !W.IsReady()) { R.Cast(); } } } } if (Pasive) { if (target.IsValidTarget(W.Range) && W.IsReady()) { W.Cast(target); } if (target.IsValidTarget(Q.Range) && Q.IsReady()) { Q.Cast(QPred.UnitPosition); } if (target.IsValidTarget(E.Range) && E.IsReady()) { E.Cast(target); } if (R.IsReady()) { if (target.IsValidTarget(W.Range) && target.Health > (myHero.GetSpellDamage(target, SpellSlot.Q) + myHero.GetSpellDamage(target, SpellSlot.E))) { if (target.HasBuff("RyzeW")) { R.Cast(); } if (!E.IsReady() && !Q.IsReady() && !W.IsReady()) { R.Cast(); } } } } } else { if (W.IsReady() && target.IsValidTarget(W.Range)) { W.Cast(target); } if (Q.IsReady() && target.IsValidTarget(Q.Range)) { Q.Cast(QPred.UnitPosition); } if (E.IsReady() && target.IsValidTarget(E.Range)) { E.Cast(target); } } if (!R.IsReady() || Stacks != 4) { return; } if (Q.IsReady() || W.IsReady() || E.IsReady()) { return; } R.Cast(); }
private static void Game_OnUpdate(EventArgs args) { if (MobsToSmite["killsmite"].Cast<CheckBox>().CurrentValue) { var KillEnemy = EntityManager.Heroes.Enemies.FirstOrDefault(hero => hero.IsValidTarget(500f) && SmiteChampDamage() >= hero.Health); if (KillEnemy != null) Player.CastSpell(Smite.Slot, KillEnemy); } if (SmiteGHMenu["active"].Cast<CheckBox>().CurrentValue || SmiteGHMenu["activekey"].Cast<KeyBind>().CurrentValue) { double SpellDamage = 0; Monster = GetNearest(ObjectManager.Player.ServerPosition); if (Monster != null && MobsToSmite[Monster.BaseSkinName].Cast<CheckBox>().CurrentValue) { if (SupportedChampions.Contains(ObjectManager.Player.ChampionName)) { if (SmiteGHMenu["disable"].Cast<CheckBox>().CurrentValue) { switch (ObjectManager.Player.ChampionName) { #region Diana case "Diana": { Spell.Skillshot Q = new Spell.Skillshot(SpellSlot.Q, (uint)895, SkillShotType.Circular); Spell.Targeted R = new Spell.Targeted(SpellSlot.R, (uint)825); //Smite and Spell ==> OKAY if (Smite.IsReady() && Q.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Q.Range && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { SpellDamage = GetDamages.DianaQ(Q.Level) + GetDamages.DianaR(R.Level); TotalDamage = SpellDamage + GetSmiteDamage(); if (Monster.Health <= TotalDamage) { Q.Cast(Monster.ServerPosition); //Smite.Cast(Monster); } } else if (Smite.IsReady() && R.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < R.Range && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range && GetDamages.HasBuffs(Monster, "dianamoonlight")) { SpellDamage = GetDamages.DianaR(R.Level); TotalDamage = SpellDamage + GetSmiteDamage(); if (Monster.Health <= TotalDamage) { R.Cast(Monster); //Smite.Cast(Monster); } } //If Spell is busy, Go Smite only! ^_^ else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { if (Monster.Health <= GetSmiteDamage()) { Smite.Cast(Monster); } TotalDamage = 0; } break; } #endregion #region Evelynn case "Evelynn": { Spell.Targeted E = new Spell.Targeted(SpellSlot.E, (uint)(225f + 2 * 65f)); //Smite and Spell ==> OKAY if (Smite.IsReady() && E.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < E.Range && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { SpellDamage = GetDamages.Evelynn(E.Level); TotalDamage = SpellDamage + GetSmiteDamage(); if (Monster.Health <= TotalDamage) { E.Cast(Monster); //Smite.Cast(Monster); } } //If Spell is busy, Go Smite only! ^_^ else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { if (Monster.Health <= GetSmiteDamage()) { Smite.Cast(Monster); } TotalDamage = 0; } break; } #endregion #region Irelia case "Irelia": { Spell.Targeted Q = new Spell.Targeted(SpellSlot.Q, (uint)650f + 20); //Smite and Spell ==> OKAY if (Smite.IsReady() && Q.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Q.Range && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { SpellDamage = GetDamages.Irelia(Q.Level); TotalDamage = SpellDamage + GetSmiteDamage(); if (Monster.Health <= TotalDamage) { Q.Cast(Monster); //Smite.Cast(Monster); } } //If Spell is busy, Go Smite only! ^_^ else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { if (Monster.Health <= GetSmiteDamage()) { Smite.Cast(Monster); } TotalDamage = 0; } break; } #endregion #region Amumu case "Amumu": { Spell.Skillshot Q = new Spell.Skillshot(SpellSlot.Q, (uint)1100f + 20, SkillShotType.Linear); //Smite and Spell ==> OKAY if (Smite.IsReady() && Q.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Q.Range && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { SpellDamage = GetDamages.Amumu(Q.Level); TotalDamage = SpellDamage + GetSmiteDamage(); if (Monster.Health <= TotalDamage) { Q.Cast(Monster); //Smite.Cast(Monster); } } //If Spell is busy, Go Smite only! ^_^ else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { if (Monster.Health <= GetSmiteDamage()) { Smite.Cast(Monster); } TotalDamage = 0; } break; } #endregion #region Hecarim case "Hecarim": { Spell.Active Q = new Spell.Active(SpellSlot.Q, (uint)350f + 20); //Smite and Spell ==> OKAY if (Smite.IsReady() && Q.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Q.Range && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { SpellDamage = GetDamages.Hecarim(Q.Level); TotalDamage = SpellDamage + GetSmiteDamage(); if (Monster.Health <= TotalDamage) { Q.Cast(); //Smite.Cast(Monster); } } //If Spell is busy, Go Smite only! ^_^ else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { if (Monster.Health <= GetSmiteDamage()) { Smite.Cast(Monster); } TotalDamage = 0; } break; } #endregion #region MonkeyKing case "MonkeyKing": { Spell.Active Q = new Spell.Active(SpellSlot.Q, (uint)100f + 20); //Smite and Spell ==> OKAY if (Smite.IsReady() && Q.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Q.Range && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { SpellDamage = GetDamages.MonkeyKing(Q.Level); TotalDamage = SpellDamage + GetSmiteDamage(); if (Monster.Health <= TotalDamage) { Q.Cast(); //Smite.Cast(Monster); } } //If Spell is busy, Go Smite only! ^_^ else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { if (Monster.Health <= GetSmiteDamage()) { Smite.Cast(Monster); } TotalDamage = 0; } break; } #endregion #region Pantheon case "Pantheon": { Spell.Targeted Q = new Spell.Targeted(SpellSlot.Q, (uint)600f + 20); //Smite and Spell ==> OKAY if (Smite.IsReady() && Q.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Q.Range && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { SpellDamage = GetDamages.Pantheon(Q.Level, Monster); TotalDamage = SpellDamage + GetSmiteDamage(); if (Monster.Health <= TotalDamage) { Q.Cast(Monster); //Smite.Cast(Monster); } } //If Spell is busy, Go Smite only! ^_^ else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { if (Monster.Health <= GetSmiteDamage()) { Smite.Cast(Monster); } TotalDamage = 0; } break; } #endregion #region Olaf case "Olaf": { Spell.Targeted E = new Spell.Targeted(SpellSlot.E, (uint)325f + 20); //Smite and Spell ==> OKAY if (Smite.IsReady() && E.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < E.Range && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { SpellDamage = GetDamages.Olaf(E.Level); TotalDamage = SpellDamage + GetSmiteDamage(); if (Monster.Health <= TotalDamage) { E.Cast(Monster); //Smite.Cast(Monster); } } //If Spell is busy, Go Smite only! ^_^ else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { if (Monster.Health <= GetSmiteDamage()) { Smite.Cast(Monster); } TotalDamage = 0; } break; } #endregion #region Volibear case "Volibear": { Spell.Targeted W = new Spell.Targeted(SpellSlot.W, (uint)400f + 20); //Smite and Spell ==> OKAY if (Smite.IsReady() && W.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < W.Range && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { SpellDamage = GetDamages.Volibear(W.Level, Monster); TotalDamage = SpellDamage + GetSmiteDamage(); if (Monster.Health <= TotalDamage) { W.Cast(Monster); //Smite.Cast(Monster); } } //If Spell is busy, Go Smite only! ^_^ else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { if (Monster.Health <= GetSmiteDamage()) { Smite.Cast(Monster); } TotalDamage = 0; } break; } #endregion #region WarWick case "Warwick": { Spell.Targeted Q = new Spell.Targeted(SpellSlot.Q, (uint)400f + 20); //Smite and Spell ==> OKAY if (Smite.IsReady() && Q.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Q.Range && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { SpellDamage = GetDamages.Warwick(Q.Level, Monster); TotalDamage = SpellDamage + GetSmiteDamage(); if (Monster.Health <= TotalDamage) { Player.CastSpell(Q.Slot, Monster); //Smite.Cast(Monster); } } //If Spell is busy, Go Smite only! ^_^ else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { if (Monster.Health <= GetSmiteDamage()) { Smite.Cast(Monster); } TotalDamage = 0; } break; } #endregion //Will add Spell's E too soon! ^-^ #region LeeSin case "LeeSin": { Spell.Skillshot Q = new Spell.Skillshot(SpellSlot.Q, (uint)1300f, SkillShotType.Linear); Spell.Active Q2 = new Spell.Active(SpellSlot.Q, (uint)1500f); //Smite and Spell ==> OKAY if (Smite.IsReady() && Q.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Q.Range && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { if (GetDamages.BuffedEnemy != null) SpellDamage = GetDamages.Q2Damage(Monster, Q2.Level); else SpellDamage = GetDamages.QDamage(Monster, Q.Level - 1) + GetDamages.Q2Damage(Monster, Q2.Level - 1); TotalDamage = SpellDamage + GetSmiteDamage(); if (Monster.Health <= TotalDamage) { if (GetDamages.BuffedEnemy != null) Q2.Cast(Monster); else Q.Cast(Monster); //Smite.Cast(Monster); } } //If Spell is busy, Go Smite only! ^_^ else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { if (Monster.Health <= GetSmiteDamage()) { Smite.Cast(Monster); } TotalDamage = 0; } break; } #endregion #region Nunu case "Nunu": { Spell.Targeted Q = new Spell.Targeted(SpellSlot.Q, (uint)200f); //Smite and Spell ==> OKAY if (Smite.IsReady() && Q.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Q.Range && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { SpellDamage = GetDamages.Nunu(Q.Level); TotalDamage = SpellDamage + GetSmiteDamage(); if (Monster.Health <= TotalDamage) { Player.CastSpell(Q.Slot, Monster); //Smite.Cast(Monster); } } //If Spell is busy, Go Smite only! ^_^ else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { if (Monster.Health <= GetSmiteDamage()) { Smite.Cast(Monster); } TotalDamage = 0; } break; } #endregion #region ChoGath case "Chogath": { Spell.Targeted R = new Spell.Targeted(SpellSlot.R, (uint)175f); //Smite and Spell ==> OKAY if (Smite.IsReady() && R.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < R.Range && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { SpellDamage = GetDamages.ChoGath(); TotalDamage = SpellDamage + GetSmiteDamage(); if (Monster.Health <= TotalDamage) { Player.CastSpell(R.Slot, Monster); // Smite.Cast(Monster); } } //If Spell is busy, Go Smite only! ^_^ else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { if (Monster.Health <= GetSmiteDamage()) { Smite.Cast(Monster); } TotalDamage = 0; } break; } #endregion #region Shaco case "Shaco": { Spell.Targeted E = new Spell.Targeted(SpellSlot.E, (uint)625f); //Smite and Spell ==> OKAY if (Smite.IsReady() && E.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < E.Range && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { SpellDamage = GetDamages.Shaco(E.Level); TotalDamage = SpellDamage + GetSmiteDamage(); if (Monster.Health <= TotalDamage) { Player.CastSpell(E.Slot, Monster); // Smite.Cast(Monster); } } //If Spell is busy, Go Smite only! ^_^ else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { if (Monster.Health <= GetSmiteDamage()) { Smite.Cast(Monster); } TotalDamage = 0; } break; } #endregion #region Vi case "Vi": { Spell.Active E = new Spell.Active(SpellSlot.E, (uint)600f); //Smite and Spell ==> OKAY if (Smite.IsReady() && E.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < E.Range && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { SpellDamage = GetDamages.Vi(E.Level); TotalDamage = SpellDamage + GetSmiteDamage(); if (Monster.Health <= TotalDamage) { Player.CastSpell(E.Slot, Monster); // Smite.Cast(Monster); } } //If Spell is busy, Go Smite only! ^_^ else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { if (Monster.Health <= GetSmiteDamage()) { Smite.Cast(Monster); } TotalDamage = 0; } break; } #endregion #region MasterYi case "MasterYi": { Spell.Targeted Q = new Spell.Targeted(SpellSlot.Q, (uint)600f); //Smite and Spell ==> OKAY if (Smite.IsReady() && Q.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Q.Range && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { SpellDamage = GetDamages.Master(Q.Level); TotalDamage = SpellDamage + GetSmiteDamage(); if (Monster.Health <= TotalDamage) { Player.CastSpell(Q.Slot, Monster); //Smite.Cast(Monster); } } //If Spell is busy, Go Smite only! ^_^ else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { if (Monster.Health <= GetSmiteDamage()) { Smite.Cast(Monster); } TotalDamage = 0; } break; } #endregion #region Rengar case "Rengar": { Spell.Active Q = new Spell.Active(SpellSlot.Q, (uint)ObjectManager.Player.AttackRange); //Smite and Spell ==> OKAY if (Smite.IsReady() && Q.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Q.Range && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { SpellDamage = GetDamages.Rengar(Q.Level); TotalDamage = SpellDamage + GetSmiteDamage(); if (Monster.Health <= TotalDamage) { Player.CastSpell(Q.Slot, Monster); //Smite.Cast(Monster); } } //If Spell is busy, Go Smite only! ^_^ else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { if (Monster.Health <= GetSmiteDamage()) { Smite.Cast(Monster); } TotalDamage = 0; } break; } #endregion #region Nasus case "Nasus": { Spell.Active Q = new Spell.Active(SpellSlot.Q, (uint)ObjectManager.Player.AttackRange); //Smite and Spell ==> OKAY if (Smite.IsReady() && Q.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Q.Range && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { SpellDamage = GetDamages.Nasus(Q.Level); TotalDamage = SpellDamage + GetSmiteDamage(); if (Monster.Health <= TotalDamage) { Player.CastSpell(Q.Slot, Monster); //Smite.Cast(Monster); } } //If Spell is busy, Go Smite only! ^_^ else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { if (Monster.Health <= GetSmiteDamage()) { Smite.Cast(Monster); } TotalDamage = 0; } break; } #endregion #region KhaZix case "Khazix": { Spell.Targeted Q = new Spell.Targeted(SpellSlot.Q, (uint)325f); //Smite and Spell ==> OKAY if (Smite.IsReady() && Q.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Q.Range && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { SpellDamage = GetDamages.Khazix(Q.Level); TotalDamage = SpellDamage + GetSmiteDamage(); if (Monster.Health <= TotalDamage) { Player.CastSpell(Q.Slot, Monster); // Smite.Cast(Monster); } } //If Spell is busy, Go Smite only! ^_^ else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { if (Monster.Health <= GetSmiteDamage()) { Smite.Cast(Monster); } TotalDamage = 0; } break; } #endregion #region Fizz case "Fizz": { Spell.Targeted Q = new Spell.Targeted(SpellSlot.Q, (uint)550f); //Smite and Spell ==> OKAY if (Smite.IsReady() && Q.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Q.Range && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { SpellDamage = GetDamages.Fizz(Q.Level); TotalDamage = SpellDamage + GetSmiteDamage(); if (Monster.Health <= TotalDamage) { Player.CastSpell(Q.Slot, Monster); // Smite.Cast(Monster); } } //If Spell is busy, Go Smite only! ^_^ else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { if (Monster.Health <= GetSmiteDamage()) { Smite.Cast(Monster); } TotalDamage = 0; } break; } #endregion #region Elise case "Elise": { Spell.Targeted Q = new Spell.Targeted(SpellSlot.Q, (uint)475f); //Smite and Spell ==> OKAY if (Smite.IsReady() && Q.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Q.Range && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { SpellDamage = GetDamages.Elise(Q.Level, Monster); TotalDamage = SpellDamage + GetSmiteDamage(); if (Monster.Health <= TotalDamage) { Player.CastSpell(Q.Slot, Monster); // Smite.Cast(Monster); } } //If Spell is busy, Go Smite only! ^_^ else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { if (Monster.Health <= GetSmiteDamage()) { Smite.Cast(Monster); } TotalDamage = 0; } break; } #endregion default: { if (Smite.IsReady() && Monster.Health <= GetSmiteDamage() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) Smite.Cast(Monster); TotalDamage = 0; } break; } } } if (Smite.IsReady() && Monster.Health <= GetSmiteDamage() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { Smite.Cast(Monster); TotalDamage = 0; } } } }
private static void Combo() { var target = TargetSelector.GetTarget(Q.Range, DamageType.Magical); if (target == null || !target.IsValidTarget() || HasRBuff()) { return; } var rdmg = Player.Instance.GetSpellDamage(target, SpellSlot.R); if (Q.IsInRange(target) && _comboStarter.CurrentValue == 0) { if (Q.IsReady()) { Q.Cast(target); return; } if (E.IsReady()) { CastE(target); return; } } else { if (E.IsReady()) { CastE(target); } if (Q.IsReady() && E.IsInRange(target)) { Q.Cast(target); return; } } if (W.IsReady() && W.IsInRange(target)) { W.Cast(); return; } if (GetComboDamage(target) > target.Health) { if (igniteSlot != SpellSlot.Unknown) { ignite.Cast(target); } } //Smart R if (_smartR.CurrentValue) { if (R.IsReady() && target.Health - rdmg < 0 && !E.IsReady()) { Orbwalker.DisableAttacking = true; Orbwalker.DisableMovement = true; R.Cast(); rStart = Environment.TickCount; } } else if (R.IsReady() && !E.IsReady()) { Orbwalker.DisableAttacking = true; Orbwalker.DisableMovement = true; R.Cast(); rStart = Environment.TickCount; } }
/// <summary> /// Called Before Attack /// </summary> /// <param name="target">The Target</param> /// <param name="args">The Args</param> private static void Orbwalker_OnPreAttack(AttackableUnit target, Orbwalker.PreAttackArgs args) { #region Combo if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo)) { var useQ = Config.ComboMenu["useQ"].Cast <CheckBox>().CurrentValue; // If the player has the rocket if (useQ && Program.Q.IsReady() && Essentials.FishBones()) { //var target = TargetSelector.GetTarget(Essentials.FishBonesRange(), DamageType.Physical); if (target != null && target.IsValidTarget()) { if ((target.Distance(Player.Instance) - target.BoundingRadius - Player.Instance.BoundingRadius) <= Essentials.MinigunRange && target.CountEnemyChampionsInRange(100) < Config.ComboMenu["qCountC"].Cast <Slider>().CurrentValue) { Program.Q.Cast(); Orbwalker.ForcedTarget = target; } } } } #endregion #region LastHit if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LastHit)) { var useQ = Config.LastHitMenu["useQ"].Cast <CheckBox>().CurrentValue; var manaQ = Config.LastHitMenu["manaQ"].Cast <Slider>().CurrentValue; var qCountM = Config.LastHitMenu["qCountM"].Cast <Slider>().CurrentValue; // Force Minigun if there is a lasthittable minion in minigun range and there is no targets more than the setting amount. var kM = Orbwalker.LastHitMinionsList.Where( t => t.IsEnemy && t.Health <= (Player.Instance.GetAutoAttackDamage(t) * 0.9) && t.IsValidTarget() && t.Distance(Player.Instance) <= Essentials.MinigunRange); if (useQ && Essentials.FishBones() && kM.Count() < qCountM) { Program.Q.Cast(); } } #endregion #region Lane Clear if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear)) { var minion = EntityManager.MinionsAndMonsters.GetLaneMinions( EntityManager.UnitTeam.Enemy, Player.Instance.ServerPosition, Essentials.FishBonesRange()).OrderByDescending(t => t.Health); if (Essentials.FishBones()) { foreach (var m in minion) { var minionsAoe = EntityManager.MinionsAndMonsters.EnemyMinions.Count( t => t.IsValidTarget() && t.Distance(m) <= 100); if (m.Distance(Player.Instance) <= Essentials.MinigunRange && m.IsValidTarget() && (minionsAoe < Config.LaneClearMenu["qCountM"].Cast <Slider>().CurrentValue || m.Health > (Player.Instance.GetAutoAttackDamage(m)))) { Q.Cast(); Orbwalker.ForcedTarget = m; } else if (m.Distance(Player.Instance) <= Essentials.MinigunRange && !Orbwalker.LastHitMinionsList.Contains(m)) { Q.Cast(); Orbwalker.ForcedTarget = m; } else { foreach ( var kM in Orbwalker.LastHitMinionsList.Where( kM => kM.IsValidTarget() && kM.Health <= (Player.Instance.GetAutoAttackDamage(kM) * 0.9) && kM.Distance(Player.Instance) <= Essentials.MinigunRange)) { Q.Cast(); Orbwalker.ForcedTarget = kM; } } } } } #endregion if (Essentials.FishBones() && target.IsStructure() && target.Distance(Player.Instance) <= Essentials.MinigunRange) { Q.Cast(); } }
private async static void ComboVombo() { try { var ise = ComboMenu["E"].Cast <CheckBox>().CurrentValue; var focusby = ComboMenu["focusby"].Cast <Slider>().CurrentValue; var Enemies = EntityManager.Heroes.Enemies.Where(x => !x.IsDead && x.IsValidTarget() && Q.IsInRange(x)).OrderBy(x => focusby == 0 ? x.TotalAttackDamage : x.TotalMagicalDamage); if (Enemies.Count() == 0) { return; } var enemy = Enemies.Last(); Vector3 position; //full combo if (Q.IsReady() && W.IsReady() && E.IsReady()) { Q.Cast(position = Q.GetPrediction(enemy).CastPosition); await Task.Delay(350); //q delay fix if (E.IsInRange(enemy) && ise) { E.Cast(enemy); W.Cast(); Q.Cast(position); } else { W.Cast(); Q.Cast(position); } } // Combo without E else if (Q.IsReady() && W.IsReady()) { Q.Cast(position = Q.GetPrediction(enemy).CastPosition); W.Cast(); Q.Cast(position); } //Combo without Q, but with W else if (!Q.IsReady() && W.IsReady()) { W.Cast(); Q.Cast(Q.GetPrediction(enemy).CastPosition); } // lazy combo else if (Q.IsReady() && !W.IsReady()) { Q.Cast(Q.GetPrediction(enemy).CastPosition); } } catch (Exception ex) { Console.WriteLine(ex.Message); } }
public override void Combo() { if (Value.Use("combo.q".AddName()) && _q.IsReady()) { var qTarget = GetValidMissleTarget(); if (qTarget != null && !MissleActive) { if (EnoughMana() || (Player.Instance.GetAutoAttackDamage(qTarget) * 3 > qTarget.TotalShieldHealth() && Player.Instance.Mana > 60)) { _q.Cast(); } } else if (MissleActive && !EnoughMana()) { _q.Cast(); } else if (MissleActive && Player.Instance.CountEnemiesInRange(2000) == 0) { _q.Cast(); } } if (Value.Use("combo.w".AddName()) && Player.Instance.ManaPercent > Value.Get("combo.w.mana")) { WLogic(); } if (Value.Use("combo.e".AddName()) && _e.IsReady() && EnoughMana()) { ELogic(); if (Player.Instance.IsMoving) { var target = TargetSelector.GetTarget(_e.Range, DamageType.Physical); if (target != null && target.IsValidTarget(_e.Range)) { var ePrediction = _e.GetPrediction(target); var predictionDistance = ePrediction.CastPosition.Distance(target.Position); if (predictionDistance > 200 && ePrediction.HitChance >= HitChance.High) { if (target.HasBuffOfType(BuffType.Slow)) { _e.Cast(ePrediction.CastPosition); } } } } } if (!Value.Use("killsteal.r")) { if (Value.Use("combo.r".AddName())) { RLogic(); } } }
private static void Orbwalker_OnPreAttack(AttackableUnit target, Orbwalker.PreAttackArgs args) { _axeDropObjectDataList.RemoveAll(x => !x.Object.IsValid); if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo)) { if (args.Target.Type == GameObjectType.AIHeroClient) { if (useQ) { if (AxeCount < 2) { if (Q.IsReady()) { Q.Cast(); } } } } } else if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Harass)) { if (useQH) { if (myHero.IsManaPercentOkay(manaH)) { if (AxeCount < 2) { if (Q.IsReady()) { Q.Cast(); } } } } } else if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear) || Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.JungleClear)) { if (EntityManager.MinionsAndMonsters.GetLaneMinions().Any(x => x.NetworkId == args.Target.NetworkId)) { if (useQLC) { if (myHero.IsManaPercentOkay(manaLC)) { if (AxeCount < 2) { if (Q.IsReady()) { Q.Cast(); } } } } } if ( EntityManager.MinionsAndMonsters.GetJungleMonsters() .Any(x => x.NetworkId == args.Target.NetworkId)) { if (useQJG) { if (myHero.IsManaPercentOkay(manaJG)) { if (AxeCount < 2) { if (Q.IsReady()) { Q.Cast(); } } } } } } }
static Urgot() { Q = new Spell.Skillshot(SpellSlot.Q, 900, SkillShotType.Linear, 150, 1600, 60) { AllowedCollisionCount = 0 }; W = new Spell.Active(SpellSlot.W); E = new Spell.Skillshot(SpellSlot.E, 900, SkillShotType.Circular, 250, 1500, 250) { AllowedCollisionCount = int.MaxValue }; R = new Spell.Targeted(SpellSlot.R, 500); CorrosiveDebufTargets = new List <Obj_AI_Base>(); ColorPicker = new ColorPicker[4]; CachedHasBuff = StaticCacheProvider.Cache.Resolve <Cache.Modules.CustomCache <int, bool> >(200); ColorPicker[0] = new ColorPicker("UrgotQ", new ColorBGRA(10, 106, 138, 255)); ColorPicker[1] = new ColorPicker("UrgotE", new ColorBGRA(177, 67, 191, 255)); ColorPicker[2] = new ColorPicker("UrgotR", new ColorBGRA(177, 67, 191, 255)); ColorPicker[3] = new ColorPicker("UrgotHpBar", new ColorBGRA(255, 134, 0, 255)); DamageIndicator.Initalize(ColorPicker[3].Color); DamageIndicator.DamageDelegate = HandleDamageIndicator; ColorPicker[3].OnColorChange += (a, b) => DamageIndicator.Color = b.Color; TearStacker.Initializer(new Dictionary <SpellSlot, float> { { SpellSlot.Q, 2150 } }, () => (Player.Instance.CountEnemiesInRangeCached(1500) == 0) && (Player.Instance.CountEnemyMinionsInRangeCached(1500) == 0) && !HasAnyOrbwalkerFlags); ChampionTracker.Initialize(ChampionTrackerFlags.VisibilityTracker); ChampionTracker.OnLoseVisibility += ChampionTracker_OnLoseVisibility; Game.OnPreTick += args => { if (Core.GameTickCount - _lastScanTick < 100) { return; } CorrosiveDebufTargets.Clear(); }; Game.OnTick += Game_OnTick; GameObject.OnCreate += (sender, args) => { if (!Settings.Combo.UseW || !HasAnyOrbwalkerFlags) { return; } var missileClient = sender as MissileClient; if ((missileClient != null) && missileClient.SpellCaster.IsMe && W.IsReady() && ((missileClient.IsAutoAttack() && (missileClient.Target?.Type == GameObjectType.AIHeroClient)) || StaticCacheProvider.GetChampions(CachedEntityType.EnemyHero, x => x.IsValidTarget() && missileClient.EndPosition.IsInRange(x, missileClient.SData.LineWidth)).Any())) { W.Cast(); } }; }
private static void Combo() { var target = TargetSelector.GetTarget(E.Range, DamageType.Magical); if (E.IsReady() && Q.IsReady() && W.IsReady() && comboNum == 0) { if (!HasRBuff() || (HasRBuff() && target.Health < QDamage(target) + WDamage(target) + EDamage(target) + (2f * SpinDamage(target)))) { comboNum = 1; } } else if (E.IsReady() && Q.IsReady() && comboNum == 0) { if (!HasRBuff() || (HasRBuff() && target.Health < QDamage(target) + EDamage(target) + SpinDamage(target))) { comboNum = 2; } } else if (W.IsReady() && E.IsReady() && comboNum == 0) { if (!HasRBuff() || (HasRBuff() && target.Health < EDamage(target) + SpinDamage(target))) { comboNum = 3; } } else if (E.IsReady() && comboNum == 0) { if (!HasRBuff() || (HasRBuff() && target.Health < EDamage(target))) { comboNum = 4; } } else if (Q.IsReady() && comboNum == 0) { if (!HasRBuff() || (HasRBuff() && target.Health < QDamage(target))) { comboNum = 5; } } else if (W.IsReady() && comboNum == 0 && User.Distance(target) <= 300) { if (!HasRBuff()) { comboNum = 6; } } else if (R.IsReady() && comboNum == 0 && User.Distance(target) <= 400) { comboNum = 7; } //combo 1, Q W and E if (comboNum == 1) { castQ(target); Core.DelayAction(() => CastE(User.Position.Extend(target.Position, User.Distance(target) + 140).To3D()), 0); Core.DelayAction(() => CastW(), 50); if (Q.IsOnCooldown && W.IsOnCooldown && E.IsOnCooldown) { comboNum = 0; } } //combo 2, Q and E if (comboNum == 2) { castQ(target); Core.DelayAction(() => CastE(User.Position.Extend(target.Position, User.Distance(target) + 140).To3D()), 0); if (Q.IsOnCooldown && E.IsOnCooldown) { comboNum = 0; } } //combo 3, W and E if (comboNum == 3) { Core.DelayAction(() => CastE(User.Position.Extend(target.Position, User.Distance(target) + 140).To3D()), 0); Core.DelayAction(() => CastW(), 50); if (W.IsOnCooldown && E.IsOnCooldown) { comboNum = 0; } } //combo 4, E if (comboNum == 4) { CastE(target.Position); comboNum = 0; } //combo 5, Q if (comboNum == 5) { castQ(target); comboNum = 0; } //combo 6, W if (comboNum == 6) { CastW(); comboNum = 0; } //combo 7, R if (comboNum == 7) { R.Cast(); comboNum = 0; } }