public static bool EnemyHasShield(Obj_AI_Hero target) { var status = false; if (target.HasBuff("blackshield")) { status = true; } if (target.HasBuff("sivire")) { status = true; } if (target.HasBuff("nocturneshroudofdarkness")) { status = true; } if (target.HasBuff("bansheesveil")) { status = true; } return status; }
private static int calcDamage(Obj_AI_Hero target) { //var vTarget = SimpleTs.GetTarget(Q.Range, SimpleTs.DamageType.Physical); // normal damage 2 Auto Attacks var AA = Player.CalcDamage(target, Damage.DamageType.Physical, Player.FlatPhysicalDamageMod + Player.BaseAttackDamage); var damage = AA; if (_igniteSlot != SpellSlot.Unknown && Player.SummonerSpellbook.CanUseSpell(_igniteSlot) == SpellState.Ready) damage += ObjectManager.Player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite); if (Items.HasItem(3153) && Items.CanUseItem(3153)) damage += Player.GetItemDamage(target, Damage.DamageItems.Botrk); //ITEM BOTRK if (E.IsReady() && Config.Item("UseE").GetValue<bool>()) // edamage { damage += Player.CalcDamage(target, Damage.DamageType.Physical, 10 + (E.Level * 30) + (Player.FlatPhysicalDamageMod * 0.2)); } if (Q.IsReady() && Config.Item("UseQ").GetValue<bool>()) // qdamage { damage += Player.CalcDamage(target, Damage.DamageType.Physical, 30 + (Q.Level * 40) + (Player.FlatPhysicalDamageMod * 0.65)); } if (!IsValorMode() && target.HasBuff("QuinnW") && E.IsReady()) { damage += Player.CalcDamage(target, Damage.DamageType.Physical, 15 + (Player.Level * 10) + (Player.FlatPhysicalDamageMod * 0.5)) * 2; // //if target has buff and E is ready passive*2 } if (!IsValorMode() && !target.HasBuff("QuinnW") && E.IsReady()) // if e ISANT ready then calculate only 1 time passive { damage += Player.CalcDamage(target, Damage.DamageType.Physical, 15 + (Player.Level * 10) + (Player.FlatPhysicalDamageMod * 0.5)); // passive } if (!IsValorMode() && target.HasBuff("QuinnW") && !E.IsReady()) // if e ISANT ready then calculate only 1 time passive { damage += Player.CalcDamage(target, Damage.DamageType.Physical, 15 + (Player.Level * 10) + (Player.FlatPhysicalDamageMod * 0.5)); // passive } if (R.IsReady() && Config.Item("UseR").GetValue<bool>()) // rdamage { if (Player.CalcDamage(target, Damage.DamageType.Physical, (75 + (R.Level * 55) + (Player.FlatPhysicalDamageMod * 0.5)) * (2 - ((target.Health - damage - AA*3) / target.MaxHealth))) > target.Health) { damage += Player.CalcDamage(target, Damage.DamageType.Physical, (75 + (R.Level * 55) + (Player.FlatPhysicalDamageMod * 0.5)) * (2 - ((target.Health - damage) / target.MaxHealth))); } } return (int)damage; }
public static bool ShouldUseCleanse(Obj_AI_Hero target) { return target.HasBuffOfType(BuffType.Charm) || target.HasBuffOfType(BuffType.Flee) || target.HasBuffOfType(BuffType.Polymorph) || target.HasBuffOfType(BuffType.Snare) || target.HasBuffOfType(BuffType.Stun) || target.HasBuffOfType(BuffType.Taunt) || target.HasBuff("summonerexhaust") || target.HasBuff("summonerdot"); }
/// <summary> /// Defines whether the player should use cleanse. /// </summary> public static bool ShouldUseCleanse(Obj_AI_Hero target) => !ObjectManager.Player.IsInvulnerable && !IsSpellShielded(ObjectManager.Player) && ( Bools.IsValidStun() || Bools.IsValidSnare() || target.HasBuff("summonerdot") || target.HasBuff("summonerexhaust") || target.HasBuffOfType(BuffType.Flee) || target.HasBuffOfType(BuffType.Charm) || target.HasBuffOfType(BuffType.Taunt) || target.HasBuffOfType(BuffType.Polymorph) );
public static bool Check(Obj_AI_Hero target, DamageType damageType = DamageType.True, bool ignoreShields = true) { if (target.HasBuffOfType(BuffType.Invulnerability) || target.IsInvulnerable) { return true; } foreach (var invulnerable in Items) { if (invulnerable.Champion == null || invulnerable.Champion == target.ChampionName) { if (invulnerable.DamageType == null || invulnerable.DamageType == damageType) { if (!ignoreShields && invulnerable.IsShield && target.HasBuff(invulnerable.BuffName)) { return true; } if (invulnerable.CustomCheck != null) { return CustomCheck(invulnerable, target, damageType); } } } } return false; }
public static bool Check(Obj_AI_Hero target, DamageType damageType = DamageType.True, bool ignoreShields = true) { try { if (target.HasBuffOfType(BuffType.Invulnerability) || target.IsInvulnerable) { return true; } foreach (var invulnerable in Items) { if (invulnerable.Champion == null || invulnerable.Champion == target.ChampionName) { if (invulnerable.DamageType == null || invulnerable.DamageType == damageType) { if (!ignoreShields && invulnerable.IsShield && target.HasBuff(invulnerable.BuffName)) { return true; } if (invulnerable.CustomCheck != null && CustomCheck(invulnerable, target, damageType)) { return true; } } } } return false; } catch (Exception ex) { Global.Logger.AddItem(new LogItem(ex)); } return false; }
public override void Execute(Obj_AI_Hero target) { if (target == null) target = TargetSelector.GetTarget(1200, TargetSelector.DamageType.Magical); if (target == null) return; var dmgPerBounce = ObjectManager.Player.GetSpellDamage(target, Slot) + BrandCombo.GetPassiveDamage(target); if (dmgPerBounce > target.Health && target.Distance(ObjectManager.Player) > 750) { TryBridgeUlt(target); // Console.WriteLine("ayy lmao bridge bois"); } if (dmgPerBounce > target.Health && !Provider.ShouldBeDead(target) && ObjectManager.Player.GetAutoAttackDamage(target, true) < target.Health && ((_otherSkills.All(skill => skill.Instance.State != SpellState.Ready && skill.Instance.State != SpellState.Surpressed /*&& !skill.IsSafeCasting(1)*/) /*|| target.Distance(ObjectManager.Player) > 650*/) || ObjectManager.Player.GetSpellDamage(target, SpellSlot.Q) + dmgPerBounce + ObjectManager.Player.GetAutoAttackDamage(target) > target.Health && !target.HasBuff("brandablaze") && target.Distance(ObjectManager.Player) < 750)) { if (ObjectManager.Player.HealthPercent - target.HealthPercent < OverkillPercent || !AntiOverkill || IgnoreAntiOverkillOnFlee && target.Distance(ObjectManager.Player) > ObjectManager.Player.AttackRange) { Cast(target); } else if (ObjectManager.Player.HealthPercent < target.HealthPercent && IgniteManager.CanBeUsed() && IgniteManager.GetDamage() + dmgPerBounce > target.Health) { if (target.Distance(ObjectManager.Player) < 600) IgniteManager.UseIgnite(target); Cast(target); } } // if (target.Distance(ObjectManager.Player) > 750) return; var inBounce = new bool[HeroManager.Enemies.Count]; var canBounce = BounceCheck(target, inBounce); if (canBounce) { var inBounceEnemies = HeroManager.Enemies.Where(enemy => inBounce[HeroManager.Enemies.IndexOf(enemy)]).ToArray(); var distance = target.Distance(ObjectManager.Player); var bounceCount = inBounce.Count(item => item); if (bounceCount <= 1) return; //Console.WriteLine("bounce r " + bounceCount); if ((inBounceEnemies.Any(enemy => (dmgPerBounce > enemy.Health && MaxDamage > enemy.Health)) && (bounceCount == 2 || RiskyUlt))) { TryUlt(target, inBounceEnemies, distance); } else if (bounceCount == 2 && dmgPerBounce * 3 > target.Health && MaxDamage > target.Health && distance < 750 && RiskyUlt) { Cast(target); } else if (dmgPerBounce * 2 > target.Health && MaxDamage > target.Health) { TryUlt(target, inBounceEnemies, distance); } else if (UltNonKillable && MinBounceTargets <= bounceCount) { TryUlt(target, inBounceEnemies, distance, false); } } }
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 static float GetRealDamage(Obj_AI_Hero target) { if (target.HasBuff("ferocioushowl")) { return Program.E.GetDamage(target) * 0.7f; } return Program.E.GetDamage(target); }
public static bool Check(Obj_AI_Hero target, DamageType damageType = DamageType.True, bool ignoreShields = true) { return target.HasBuffOfType(BuffType.Invulnerability) || target.IsInvulnerable || (from invulnerable in Items where invulnerable.Champion == null || invulnerable.Champion == target.ChampionName where invulnerable.DamageType == null || invulnerable.DamageType == damageType where target.HasBuff(invulnerable.BuffName) where !ignoreShields || !invulnerable.IsShield select invulnerable).Any( invulnerable => invulnerable.CheckFunction == null || CheckFunction(invulnerable, target, damageType)); }
//some part of combo from diabaths private void Combo(Obj_AI_Hero t) { if (R.IsReady()) { if (t.IsValidTarget(Q.Range) && !haveUlti) if (!t.HasBuff("JudicatorIntervention") && !t.HasBuff("Undying Rage")) R.CastIfHitchanceEquals(t, HitChance.Medium); } if ( E.IsReady() && t.IsValidTarget(Q.Range) && Q.IsReady()) { //xsalice Code var vec = t.ServerPosition - Player.ServerPosition; var castBehind = E.GetPrediction(t).CastPosition + Vector3.Normalize(vec) * 100; E.Cast(castBehind); } if (t.IsValidTarget(Q.Range) && Q.IsReady() && _epos != default(Vector3) && t.IsValidTarget(200, true, _epos)) { Q.Cast(_epos); } if (W.IsReady()) { if (t.IsValidTarget(W.Range)) W.Cast(); } if (Q.IsReady() && !E.IsReady()) { if (t.IsValidTarget(Q.Range)) Q.Cast(t, UsePackets, true); } if (R.IsReady() && !haveUlti) { if (GetNumberHitByR(t) >= 2) R.Cast(t, UsePackets, true); } }
/// <summary> /// Judge Target MoveMent Status (This Part From SebbyLib) /// </summary> /// <param name="Target">Target</param> /// <returns></returns> public static bool CanMove(Obj_AI_Hero Target) { if (Target.MoveSpeed < 50 || Target.IsStunned || Target.HasBuffOfType(BuffType.Stun) || Target.HasBuffOfType(BuffType.Fear) || Target.HasBuffOfType(BuffType.Snare) || Target.HasBuffOfType(BuffType.Knockup) || Target.HasBuff("Recall") || Target.HasBuffOfType(BuffType.Knockback) || Target.HasBuffOfType(BuffType.Charm) || Target.HasBuffOfType(BuffType.Taunt) || Target.HasBuffOfType(BuffType.Suppression) || (Target.IsCastingInterruptableSpell() && !Target.IsMoving)) { return false; } else return true; }
public static float GetKsDamage(Obj_AI_Hero t, Spell QWER) { var totalDmg = QWER.GetDamage(t); totalDmg -= t.HPRegenRate; if (totalDmg > t.Health) { if (ObjectManager.Player.HasBuff("summonerexhaust")) totalDmg = totalDmg * 0.6f; if (t.HasBuff("ferocioushowl")) totalDmg = totalDmg * 0.7f; if (t.ChampionName == "Blitzcrank" && !t.HasBuff("BlitzcrankManaBarrierCD") && !t.HasBuff("ManaBarrier")) { totalDmg -= t.Mana / 2f; } } //if (Thunderlord && !Player.HasBuff( "masterylordsdecreecooldown")) //totalDmg += (float)Player.CalcDamage(t, Damage.DamageType.Magical, 10 * Player.Level + 0.1 * Player.FlatMagicDamageMod + 0.3 * Player.FlatPhysicalDamageMod); totalDmg += (float)OktwCommon.GetIncomingDamage(t); return totalDmg; }
public static float Q2Damage(Obj_AI_Hero target,Spell Q) { if (target == null) { return 0f; } var damage = 0f; if (target.HasBuff("BlindMonkQOne") && Q.Instance.Name == "blindmonkqtwo") { var total = Q2Dmg[Q.Level - 1] + 0.9*ObjectManager.Player.FlatPhysicalDamageMod + 0.08*(target.MaxHealth - target.Health); damage += (float)ObjectManager.Player.CalcDamage(target, Damage.DamageType.Physical, total); } return (float)damage; }
public override void Execute(Obj_AI_Hero target) { if (_brandQWE.Any(spell => spell.Instance.State == SpellState.Ready || spell.Instance.CooldownExpires > Game.Time && spell.Instance.CooldownExpires - Game.Time < spell.Instance.Cooldown / 2f) || _w.Instance.Cooldown - (_w.Instance.CooldownExpires - Game.Time) < 1) { if ((!target.HasBuff("brandablaze") || target.GetBuff("brandablaze").EndTime - Game.Time < Delay) && !Provider.IsMarked(target) && !(ObjectManager.Player.GetSpellDamage(target, Instance.Slot) + ObjectManager.Player.GetAutoAttackDamage(target, true) > target.Health)) return; } //if ((((!target.HasBuff("brandablaze") || target.GetBuff("brandablaze").EndTime - Game.Time < Delay) && !Provider.IsMarked(target)) && // (!(ObjectManager.Player.GetSpellDamage(target, Instance.Slot) + ObjectManager.Player.GetAutoAttackDamage(target, true) > target.Health))) && // _brandQWE.Any(spell => spell.Instance.State == SpellState.Ready || spell.Instance.CooldownExpires > Game.Time && spell.Instance.CooldownExpires - Game.Time < spell.Instance.Cooldown / 2f)) return; //// wenn any skill ready || half cooldown Cast(target); }
public static float Damage(Obj_AI_Hero target) { double dmg = 0f; if (target.HasBuff("TristanaECharge")) { dmg += Variables.E.GetDamage(target) * (0.3 * target.GetBuffCount("TristanaECharge") + 1); } if (Variables.R.IsReady()) { dmg += Variables.R.GetDamage(target); } return (float)dmg; }
public static float GetDamage(Obj_AI_Hero hero) { var baseDamage = Variables.spells[SpellSlot.E].GetDamage(hero); if (ObjectManager.Player.HasBuff("summonerexhaust")) { baseDamage *= 0.4f; } if (hero.HasBuff("FerociousHowl")) { baseDamage *= 0.35f; } return baseDamage; }
public static void CastR(Obj_AI_Hero target) { if (!RSpell || !Champion.R.IsReady()) { return; } if (target.IsValidTarget(Champion.W.Range) && target.Health > (Champion.Q.GetDamage(target) + Champion.E.GetDamage(target))) { if (RwwSpell && target.HasBuff("RyzeW")) { Champion.R.Cast(); } if (!RwwSpell) { Champion.R.Cast(); } } }
public static void Drawing_OnDraw(EventArgs args) { //Draw W if (CamilleMenu.Item("DrawW").GetValue <bool>() && W.IsReady()) { Render.Circle.DrawCircle(Player.Position, 630, Color.Black); } //Draw E if (CamilleMenu.Item("DrawE").GetValue <bool>() && E.IsReady() && !Player.HasBuff("CamilleEDash1") && !Player.HasBuff("CamilleEOnWall") && !Player.HasBuff("camilleedashtoggle")) { Render.Circle.DrawCircle(Player.Position, 900, Color.BlueViolet); } if (CamilleMenu.Item("DrawR").GetValue <bool>() && R.IsReady()) { Render.Circle.DrawCircle(Player.Position, 475, Color.Red); } }
internal static bool isKillableAndValidTarget(this Obj_AI_Hero Target, double CalculatedDamage, float distance = float.MaxValue) { if (Target == null || !Target.IsValidTarget(distance) || Target.Health <= 0) { return(false); } if (ObjectManager.Player.HasBuff("summonerexhaust")) { CalculatedDamage *= 0.6; } if (Target.HasBuff("FerociousHowl")) { CalculatedDamage *= 0.3; } return(Target.Health + Target.HPRegenRate + Target.PhysicalShield < CalculatedDamage); }
private void Cast_W(Obj_AI_Hero target) { if (Menu.Item("W_Always", true).GetValue <bool>() && Player.ServerPosition.Distance(target.ServerPosition) < Q.Range) { W.Cast(); } if (target.HasBuff("urgotcorrosivedebuff")) { W.Cast(); } var hp = Menu.Item("W_If_HP", true).GetValue <Slider>().Value; if (Player.HealthPercent <= hp) { W.Cast(); } }
public static float EDamage(Obj_AI_Hero unit) { float damage = 0; if (unit == null) return 0; var data = Player.Buffs.FirstOrDefault(b => b.DisplayName == "TristanaECharge"); var i = data != null ? data.Count : 0; var buff = unit.GetBuff("TristanaECharge").Count; if (!unit.HasBuff("tristanaechargesound")) return 0; if (i != 0) { damage += (float) (Tristana.E.GetDamage(unit)*((0.3*(i + 1))) + (Player.TotalMagicalDamage*0.5)); damage += BonusDamagePerStack(unit)*(i + 1); } return damage; }
public static void OnInterruptableTarget(Obj_AI_Hero sender, Interrupter2.InterruptableTargetEventArgs args) { if (!MenuConfig.InterruptMenu || !sender.IsEnemy || !sender.IsValidTarget(Spells.W.Range) || sender.HasBuff("FioraW")) { return; } if (Spells.W.IsReady()) { Spells.W.Cast(sender); } if (Qstack != 3) { return; } Spells.Q.Cast(sender); }
public static void UseDeathmarkItems() { var items = ItemList.FindAll(item => item.Class == ItemClass.Offensive); foreach (DzItem item in items) { Obj_AI_Hero target = TargetSelector.GetTarget(item.Range, TargetSelector.DamageType.True); if (!target.IsValidTarget()) { return; } if (MenuHelper.IsMenuEnabled("com.idz.zed.activator.afterDeathmark") && target.HasBuff("zedulttargetmark")) { UseItem(target, item); } } }
private static void OnInterruptableTarget(Obj_AI_Hero sender, Interrupter2.InterruptableTargetEventArgs args) { if (!Config.SubMenu("Misc").Item("interrupt").GetValue <bool>()) { return; } if (sender.HasBuff("brandablaze") && _Q.IsReady()) { _Q.Cast(sender); } else { if (_E.IsReady() && _Q.IsReady()) { _E.CastOnUnit(sender); } } }
public override void Execute(Obj_AI_Hero target) { if (_brandQWE.Any(spell => spell.Instance.State == SpellState.Ready || spell.Instance.CooldownExpires > Game.Time && spell.Instance.CooldownExpires - Game.Time < spell.Instance.Cooldown / 2f) || _w.Instance.Cooldown - (_w.Instance.CooldownExpires - Game.Time) < 1) { if ((!target.HasBuff("brandablaze") || target.GetBuff("brandablaze").EndTime - Game.Time < Delay) && !Provider.IsMarked(target) && !(ObjectManager.Player.GetSpellDamage(target, Instance.Slot) + ObjectManager.Player.GetAutoAttackDamage(target, true) > target.Health)) { return; } } //if ((((!target.HasBuff("brandablaze") || target.GetBuff("brandablaze").EndTime - Game.Time < Delay) && !Provider.IsMarked(target)) && // (!(ObjectManager.Player.GetSpellDamage(target, Instance.Slot) + ObjectManager.Player.GetAutoAttackDamage(target, true) > target.Health))) && // _brandQWE.Any(spell => spell.Instance.State == SpellState.Ready || spell.Instance.CooldownExpires > Game.Time && spell.Instance.CooldownExpires - Game.Time < spell.Instance.Cooldown / 2f)) return; //// wenn any skill ready || half cooldown Cast(target); }
private static void Harass(Obj_AI_Hero t) { if (t == null) { return; } var jumpObject = ObjectManager.Get <Obj_AI_Base>() .OrderBy(obj => obj.Distance(firstpos)) .FirstOrDefault(obj => obj.IsAlly && !obj.IsMe && !(obj.Name.IndexOf("turret", StringComparison.InvariantCultureIgnoreCase) >= 0) && obj.Distance(t.Position) < 550); if (_config.Item("UseEHar").GetValue <bool>()) { CastECombo(); } if (_config.Item("UseQ1Har").GetValue <bool>()) { CastQ1(t); } if (_config.Item("UseQ2Har").GetValue <bool>() && (t.HasBuff("BlindMonkQOne") || t.HasBuff("blindmonkqonechaos")) && jumpObject != null && WStage == WCastStage.First) { _q.Cast(); q2casttime = Environment.TickCount; } if (_player.Distance(t.Position) < 300 && !_q.IsReady() && q2casttime + 2500 > Environment.TickCount && Environment.TickCount > q2casttime + 500) { CastW(jumpObject); } var useItemsH = _config.Item("UseItemsharass").GetValue <bool>(); if (useItemsH && _tiamat.IsReady() && t.Distance(_player.Position) < _tiamat.Range) { _tiamat.Cast(); } if (useItemsH && _hydra.IsReady() && t.Distance(_player.Position) < _hydra.Range) { _hydra.Cast(); } }
private static void Combo(Obj_AI_Hero target) { if (Player.HasBuff("GalioIdolOfDurand")) { Orbwalker.SetMovement(false); } if (target.IsValidTarget()) { if (Q.IsReady() && Player.Distance(target) <= Q.Range && Config.Item("UseQCombo").GetValue <bool>()) { var qPred = Q.GetPrediction(target); if (qPred.Hitchance >= HitChance.High) { Q.Cast(qPred.CastPosition); } } if (E.IsReady() && Player.Distance(target) <= E.Range && Config.Item("UseECombo").GetValue <bool>()) { var ePred = E.GetPrediction(target); if (ePred.Hitchance >= HitChance.High) { E.Cast(ePred.CastPosition); } } if (Config.Item("UseWCombo").GetValue <bool>() && Config.Item("WMode").GetValue <StringList>().SelectedIndex == 0 && W.IsReady()) { W.Cast(Player); } if (R.IsReady() && Player.CountEnemysInRange(560) >= Config.Item("MinEnemys").GetValue <Slider>().Value&& Config.Item("UseRCombo").GetValue <bool>()) { if (Config.Item("UseWCombo").GetValue <bool>() && Config.Item("WMode").GetValue <StringList>().SelectedIndex == 1 && W.IsReady()) { W.Cast(Player); } R.Cast(target, PacketCast, true); } } }
private static List <double> GetComboDmg(Obj_AI_Hero target, bool useQ, bool useW, bool useE, bool useR) { var dmgTotal = 0d; var manaTotal = 0f; if (useQ) { dmgTotal += GetQDmg(target); manaTotal += Q.Instance.ManaCost; } if (useW) { if (useQ) { dmgTotal += GetQDmg(target) / 2; } if (WState == 0) { manaTotal += W.Instance.ManaCost; } } if (useE) { dmgTotal += GetEDmg(target); manaTotal += E.Instance.ManaCost; } dmgTotal += Player.GetAutoAttackDamage(target, true); if (target.HealthPercent <= 50 && !target.HasBuff("ZedPassiveCD")) { dmgTotal += Player.CalculateDamage( target, DamageType.Magical, target.MaxHealth * (Player.Level > 16 ? 0.1 : (Player.Level > 6 ? 0.08 : 0.06))); } if (useR || HaveRMark(target)) { dmgTotal += new[] { 0.2, 0.35, 0.5 }[R.Level - 1] *dmgTotal + Player.TotalAttackDamage; } return(new List <double> { dmgTotal *OverkillValue, manaTotal }); }
// ReSharper restore StringLiteralTypo public static bool HasBuff(Obj_AI_Hero target, LeagueSharp.Common.TargetSelector.DamageType damageType = LeagueSharp.Common.TargetSelector.DamageType.True, bool ignoreShields = true) { try { return target.HasBuffOfType(BuffType.Invulnerability) || Invulnerables.Any( i => (i.Champion == null || i.Champion == target.ChampionName) && (!ignoreShields || !i.IsShield) && (i.DamageType == null || i.DamageType == damageType) && target.HasBuff(i.BuffName) && (i.CustomCheck == null || i.CustomCheck(target, damageType))); } catch (Exception ex) { Global.Logger.AddItem(new LogItem(ex)); } return false; }
public static void useRSmart(Obj_AI_Base target) { if (!Player.HasBuff("RivenFengShuiEngine") && !E.IsReady()) { R.Cast(); } else if (target is Obj_AI_Hero) { Game.PrintChat("shield?: " + target.ScriptHealthBonus); var targ = target as Obj_AI_Hero; PredictionOutput po = R.GetPrediction(targ, true); if (po.Hitchance == HitChance.High) { if (Player.GetSpellDamage(target, SpellSlot.R) > ((targ.Health + target.ScriptHealthBonus)) && R.IsReady()) { R.Cast(po.CastPosition); } } } }
private static void TaricOnUpdate(EventArgs args) { hasPassive = Player.HasBuff(buffName); switch (Orbwalker.ActiveMode) { case Orbwalking.OrbwalkingMode.Combo: Combo(); break; case Orbwalking.OrbwalkingMode.Mixed: Harass(); break; } if (!MenuCheck("taric.heal.disable", Config) && Q.IsReady()) { QManager(); } }
private static void OnSpellCast(Obj_AI_Base sender1, GameObjectProcessSpellCastEventArgs args) { Obj_AI_Hero sender = sender1 as Obj_AI_Hero; if (sender != null && sender.IsEnemy && sender.Team != Player.Team) { if (args.SData.Name == "ZhonyasHourglass" && sender.HasBuff("zedulttargetmark") && Player.Distance(sender, true) < _spells[SpellSlot.W].Range - 20 * _spells[SpellSlot.W].Range - 20) { Vector3 bestPosition = VectorHelper.GetBestPosition( sender, VectorHelper.GetVertices(sender, true)[0], VectorHelper.GetVertices(sender, true)[1]); if (_spells[SpellSlot.W].IsReady() && WShadowSpell.ToggleState == 0 && Environment.TickCount - _spells[SpellSlot.W].LastCastAttemptT > 0) { _spells[SpellSlot.W].Cast(bestPosition); _spells[SpellSlot.W].LastCastAttemptT = Environment.TickCount + 500; } } } }
private static void Harass(Obj_AI_Hero target) { if (_lastSpellCast + 300 <= Utils.GameTimeTickCount) { if (HUseQ && _Q.IsReady() && IsQOne && target.IsValidTarget(_Q.Range)) { _lastSpellCast = Utils.GameTimeTickCount; CastQHarass(target); } if (HUseE && _E.IsReady() && IsEOne && target.IsValidTarget(_E.Range)) { _lastSpellCast = Utils.GameTimeTickCount; _E.Cast(); } if (target.HasBuff("BlindMonkQOne") && HUseQ2 && IsQTwo) { _lastSpellCast = Utils.GameTimeTickCount; _Q2.CastOnUnit(target); } if (HUseE2 && _E2.IsReady() && IsETwo && target.IsValidTarget(_E2.Range) && Player.Mana >= 50) { _lastSpellCast = Utils.GameTimeTickCount; _E2.Cast(); } if (!(_Q.IsReady() && HUseQ) && !(_E.IsReady() && HUseE)) { var obj = GetHarassObject(target); if (obj != null) { Console.WriteLine("Harass obj: " + obj.Name); } if (obj != null && _W.IsReady() && IsWOne) { _lastSpellCast = Utils.GameTimeTickCount; _W.CastOnUnit(obj); } } } }
private static void Flee() { Orbwalker.Move(Game.CursorPos); if (!Q.IsReady() || !(player.HasBuff("viktorqaug") || player.HasBuff("viktorqeaug") || player.HasBuff("viktorqwaug") || player.HasBuff("viktorqweaug"))) { return; } var closestenemy = GameObjects.Enemy.MinOrDefault(m => m.IsValidTarget(Q.Range)); if (Q.CanCast(closestenemy)) { Q.Cast(closestenemy); } }
private static void Game_OnUpdate(EventArgs args) { if (!_menu.Item("manualUse").GetValue <KeyBind>().Active&& !_menu.Item("autoUse").GetValue <bool>()) { return; } if (_player.GetSpell(SpellSlot.Summoner1).Name == "SiegeLaserAffix") { _beamOfDestruction.Slot = SpellSlot.Summoner1; } else if (_player.GetSpell(SpellSlot.Summoner2).Name == "SiegeLaserAffix") { _beamOfDestruction.Slot = SpellSlot.Summoner1; } if (_player.HasBuff("SiegeLaserAffix")) { var turret = ObjectManager.Get <Obj_AI_Turret>() .Where( t => t.HasBuff("siegelaseraffixactive") && t.GetBuff("siegelaseraffixactive").Caster.NetworkId == _player.NetworkId) .OrderBy(t => t.Distance(_player)) .FirstOrDefault(); if (turret != null) { var target = TargetSelector.GetTarget( 3100, TargetSelector.DamageType.Magical, false, HeroManager.Enemies.Where(e => e.Distance(turret) > _beamOfDestruction.Range)); if (target != null && _beamOfDestruction.IsReady()) { if (_beamOfDestruction.GetPrediction(target).Hitchance >= HitChance.High) { _beamOfDestruction.Cast(target); } } } } }
static void Game_OnGameUpdate(EventArgs args) { DamageType = Config.DamageMode == "AD" ? TargetSelector.DamageType.Physical : TargetSelector.DamageType.Magical; if (Config.RecallBlock && (Player.HasBuff("Recall") || Player.IsWindingUp)) { return; } ItemManager.UseDefensiveItemsIfInDanger(0); SpellManager.UseHealIfInDanger(0); if (Config.UltLowest.Active) { UltLowest(); } switch (Config.Orbwalker.ActiveMode) { case Orbwalking.OrbwalkingMode.Combo: Combo(); break; case Orbwalking.OrbwalkingMode.Mixed: Harass(); break; case Orbwalking.OrbwalkingMode.LastHit: LastHit(); if (Config.ToggleAuto.Active) { Auto(); } break; default: if (Config.ToggleAuto.Active) { Auto(); } break; } KillSteal(); SpellManager.IgniteIfPossible(); }
private static void Game_OnGameUpdate(EventArgs args) { if (_player.IsDead) { return; } if (_config.Item("useRaim").GetValue <KeyBind>().Active&& _r.IsReady()) { _player.IssueOrder(GameObjectOrder.MoveTo, Game.CursorPos); var t = TargetSelector.GetTarget(_r.Range, TargetSelector.DamageType.Physical); if (t.IsValidTarget(_r.Range) && !_player.HasBuff("LucianR")) { _r.Cast(t.Position); } } if (_config.Item("ActiveCombo").GetValue <KeyBind>().Active) { Combo(); } if (!_config.Item("ActiveCombo").GetValue <KeyBind>().Active && (_config.Item("ActiveHarass").GetValue <KeyBind>().Active || _config.Item("harasstoggle").GetValue <KeyBind>().Active) && (100 * (_player.Mana / _player.MaxMana)) > _config.Item("Harrasmana").GetValue <Slider>().Value) { Harass(); } if (_config.Item("ActiveLane").GetValue <KeyBind>().Active && (100 * (_player.Mana / _player.MaxMana)) > _config.Item("Lanemana").GetValue <Slider>().Value) { Laneclear(); } if (_config.Item("ActiveJungle").GetValue <KeyBind>().Active && (100 * (_player.Mana / _player.MaxMana)) > _config.Item("Junglemana").GetValue <Slider>().Value) { JungleClear(); } if (_config.Item("ActiveLast").GetValue <KeyBind>().Active && (100 * (_player.Mana / _player.MaxMana)) > _config.Item("Lastmana").GetValue <Slider>().Value) { LastHit(); } _player = ObjectManager.Player; Usecleanse(); KillSteal(); Usepotion(); }
static void KnightsVow() { if (GameObjects.AllyHeroes.Where(a => !a.IsMe).Count() > 0 && Menus._menu["defensive"]["vow"].Enabled && _player.HasAndCanUseItem(ItemId.KnightsVow)) { Obj_AI_Base target = GameObjects.AllyHeroes .OrderBy(a => a.TotalAttackDamage) .Where(a => !a.IsMe && a.IsLegitimate() && a.IsInRange(1000) && Menus._menu["defensive"]["partner"][a.Name].Enabled && !_player.HasBuff("itemknightsvowknight") && !a.HasBuff("itemknightsvowliege")) .FirstOrDefault(); if (target != null) { _player.UseItem(ItemId.KnightsVow, target); } } }
private static void AutoQ() { if (!Q.IsReady() || me.HasBuff("Recall")) { return; } if (config.Item("autoqwithe").GetValue <bool>() || config.Item("autoqwithe").GetValue <bool>() && (currEnergy - me.Spellbook.GetManaCost(SpellSlot.Q) < eEnergy)) { return; } Obj_AI_Hero target = SimpleTs.GetTarget(Q.Range, SimpleTs.DamageType.Magical); if (target.Distance(me) < Q.Range) { if (target.IsValidTarget(Q.Range)) { Q.CastOnUnit(target, config.Item("packets").GetValue <bool>()); } currEnergy -= me.Spellbook.GetManaCost(SpellSlot.Q); } }
private static void Game_OnUpdate(EventArgs args) { if (_player.HasBuff("CorkiMissileBarrageCounterBig")) { _r.Range = _r2.Range; } else { _r.Range = _r1.Range; } if (_config.Item("skinC").GetValue <bool>() && SkinChanged()) { GenModelPacket(_player.ChampionName, _config.Item("skinCorki").GetValue <Slider>().Value); _lastSkin = _config.Item("skinCorki").GetValue <Slider>().Value; } if (_config.Item("ActiveCombo").GetValue <KeyBind>().Active) { Combo(); } if ((_config.Item("ActiveHarass").GetValue <KeyBind>().Active || _config.Item("harasstoggle").GetValue <KeyBind>().Active) && (100 * (_player.Mana / _player.MaxMana)) > _config.Item("Harrasmana").GetValue <Slider>().Value) { Harass(); } if (_config.Item("ActiveLane").GetValue <KeyBind>().Active&& (100 * (_player.Mana / _player.MaxMana)) > _config.Item("Lanemana").GetValue <Slider>().Value) { Laneclear(); JungleClear(); } if (_config.Item("ActiveLast").GetValue <KeyBind>().Active&& (100 * (_player.Mana / _player.MaxMana)) > _config.Item("Lanemana").GetValue <Slider>().Value) { LastHit(); } _player = ObjectManager.Player; _orbwalker.SetAttack(true); KillSteal(); Usepotion(); }
//Calculating Damage static float CalculateDamage(Obj_AI_Hero target) { double damage = 0d; if (Q.IsReady()) { damage += Player.GetSpellDamage(target, SpellSlot.Q) + Player.GetSpellDamage(target, SpellSlot.Q, 1); //Game.PrintChat("Q:" + Player.GetSpellDamage(target, SpellSlot.Q)); //Game.PrintChat("Q2:" + Player.GetSpellDamage(target, SpellSlot.Q, 1)); } if (target.HasBuff("katarinaqmark") || target == qTarget) { damage += Player.GetSpellDamage(target, SpellSlot.Q, 1); //Game.PrintChat("Q2:" + Player.GetSpellDamage(target, SpellSlot.Q, 1)); } if (W.IsReady()) { damage += W.GetDamage(target); //Game.PrintChat("W:" + W.GetDamage(target)); //Game.PrintChat("TradW:" + Player.GetSpellDamage(target,SpellSlot.W)); } if (E.IsReady()) { damage += Player.GetSpellDamage(target, SpellSlot.E); //Game.PrintChat("E:" + Player.GetSpellDamage(target, SpellSlot.E)); } if (R.IsReady() || (Player.GetSpell(R.Slot).State == SpellState.Surpressed && R.Level > 0)) { damage += Player.GetSpellDamage(target, SpellSlot.R); //Game.PrintChat("R:" + Player.GetSpellDamage(target, SpellSlot.R)); } if (Player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite) > 0 && IgniteSpellSlot != SpellSlot.Unknown && IgniteSpellSlot.IsReady()) { damage += Player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite); //Game.PrintChat("F:" + Player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite)); damage -= target.HPRegenRate * 2.5; } return((float)damage); }
private static void Interrupter2_OnInterruptableTarget(Obj_AI_Hero sender, Interrupter2.InterruptableTargetEventArgs args) { if (!Config.Item("e.q.interrupter").GetValue <bool>() || !sender.IsValidTarget()) { return; } Interrupter2.DangerLevel a; switch (Config.Item("min.interrupter.danger.level").GetValue <StringList>().SelectedValue) { case "HIGH": a = Interrupter2.DangerLevel.High; break; case "MEDIUM": a = Interrupter2.DangerLevel.Medium; break; default: a = Interrupter2.DangerLevel.Low; break; } if (args.DangerLevel == Interrupter2.DangerLevel.High || args.DangerLevel == Interrupter2.DangerLevel.Medium && a != Interrupter2.DangerLevel.High || args.DangerLevel == Interrupter2.DangerLevel.Medium && a != Interrupter2.DangerLevel.Medium && a != Interrupter2.DangerLevel.High) { if (sender.HasBuff("brandablaze") && Q.IsReady()) { Q.Cast(sender); } else { if (E.IsReady() && Q.IsReady()) { E.Cast(sender); } } } }
/// <summary> /// Get the E damage. /// </summary> /// <param name="target"> /// The target. /// </param> /// <returns> /// </returns> public float GetChargeDamage(Obj_AI_Hero target) { if (target.HasBuff("tristanaecharge")) { var count=target.GetBuffCount("tristanaecharge"); if (Objects.Player.IsWindingUp) return (float)(E.GetDamage(target)*(count*0.30))+E.GetDamage(target); if (Objects.Player.Distance(target)<Objects.Player.AttackRange) // target in auto range count++; return (float)(E.GetDamage(target)*(count*0.30))+E.GetDamage(target); } if (!E.IsReady()) return 0f; if (Objects.Player.Distance(target)<E.Range) return (float)(E.GetDamage(target)*0.30)+E.GetDamage(target); // 1 auto charge return 0f; }
public static double Overkillcheck(Obj_AI_Hero target) { var passivedmg = 10 + (8 * Player.Level) + Player.FlatMagicDamageMod * 0.2 - target.FlatMagicReduction; var lichdmg = Player.CalculateDamage(target, DamageType.Magical, (Player.BaseAttackDamage * 0.75) + ((Player.BaseAbilityDamage + Player.FlatMagicDamageMod) * 0.5)); double dmg = 0; if (E.IsReady() && target.IsValidTarget(E.Range)) { dmg += Edmg(target); } if (LuxE != null && target.Position.Distance(LuxE.Position) < 275) { dmg += Edmg(target); } if (Q.IsReady() && Q.GetPrediction(target).Hitchance >= HitChance.High && target.IsValidTarget(Q.Range)) { dmg += Qdmg(target); } if (target.HasBuff("luxilluminatingfraulein") && target.IsValidTarget(Player.GetRealAutoAttackRange())) { dmg += passivedmg; } if (Player.HasBuff("lichbane") && target.IsValidTarget(Player.GetRealAutoAttackRange())) { dmg += lichdmg; } if (target.IsValidTarget(Player.GetRealAutoAttackRange())) { dmg += Player.GetAutoAttackDamage(target); } if (AlliesInRange(target.Position, 600) >= 1) { dmg += 100 + (3 * Player.Level); } return(dmg); }
static int CanKill(Obj_AI_Hero target, bool useq, bool usew, bool usee, bool usef) { double damage = 0; if (!useq && !usew && !usee && !usef) { return(0); } if (Q.IsReady() && useq) { damage += ObjectManager.Player.GetSpellDamage(target, SpellSlot.Q); if ((W.IsReady() && usew) || (E.IsReady() && usee)) { damage += ObjectManager.Player.GetSpellDamage(target, SpellSlot.Q, 1); } } if (target.HasBuff("katarinaqmark") || target == qTarget) { damage += ObjectManager.Player.GetSpellDamage(target, SpellSlot.Q, 1); } if (W.IsReady() && usew) { damage += ObjectManager.Player.GetSpellDamage(target, SpellSlot.W); } if (E.IsReady() && usee) { damage += ObjectManager.Player.GetSpellDamage(target, SpellSlot.E); } if (damage >= target.Health) { return(1); } if (Player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite) > 0 && !target.HasBuff("summonerdot") && !HasRBuff() && IgniteSpellSlot != SpellSlot.Unknown && IgniteSpellSlot.IsReady()) { damage += Player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite); damage -= target.HPRegenRate * 2.5; } return(damage >= target.Health? 2 : 0); }
private static void HarassLogic() { if (Me.ManaPercent >= Menu.GetSlider("HarassMana")) { var target = TargetSelector.GetTarget(Q.Range, Q.DamageType); var minions = MinionManager.GetMinions(Me.Position, E.Range); var min = minions.Where(x => x.IsValidTarget(E.Range) && x.Position.Distance(target.Position) <= 300).FirstOrDefault(); if (target.IsValidTarget() && target.IsHPBarRendered) { if (Menu.GetBool("Q.Harass") && target.IsValidTarget(Q.Range) && !Me.HasBuff("ryzeqiconfullcharge")) { var QPred = Q.GetPrediction(target); if (QPred.Hitchance >= HitChance.High) { Q.Cast(QPred.CastPosition, UsePacket); } if (min != null && min.Health < Q.GetDamage(min) && min.HasBuff("RyzeE")) { Q.Cast(min, UsePacket); } } if (Menu.GetBool("E.Harass")) { if (min != null && min.Health < Q.GetDamage(min) + E.GetDamage(min)) { E.CastOnUnit(min, UsePacket); } else if (target.IsValidTarget(E.Range)) { E.CastOnUnit(target, UsePacket); } } } } }
private void OnUpdate(EventArgs Args) { if (Me.IsDead) { return; } if (Me.HasBuff("missfortunebulletsound") || Me.IsCastingInterruptableSpell() || Utils.TickCount - lastRCast < 6000) { Orbwalker.SetAttack(false); Orbwalker.SetMovement(false); } else { Orbwalker.SetAttack(true); Orbwalker.SetMovement(true); } SemiRLogic(); AutoHarass(); KillSteal(); switch (Orbwalker.ActiveMode) { case Orbwalking.OrbwalkingMode.Combo: Combo(); break; case Orbwalking.OrbwalkingMode.Mixed: Harass(); break; case Orbwalking.OrbwalkingMode.LaneClear: LaneClear(); JungleClear(); break; } }
static void Orbwalking_BeforeAttack(Orbwalking.BeforeAttackEventArgs args) { if (!args.Unit.IsMe) { return; } if (args.Unit.IsMe || Q.IsReady()) { if (Helpers.UltActive() && Helpers.TumbleActive() && FlowersVayne.Menu.Item("nightmoon.q.check").GetValue <bool>() && Helpers.EnemyHeroes.Any(h => h.IsMelee && h.Distance(Player) < h.AttackRange + h.BoundingRadius)) { args.Process = false; } } if (args.Unit.IsMe && Q.IsReady() && FlowersVayne.Menu.Item("nightmoon.q.use").GetValue <bool>()) { if (args.Target.IsValid <Obj_AI_Hero>()) { var target = (Obj_AI_Hero)args.Target; if (FlowersVayne.Menu.Item("nightmoon.r.use").GetValue <bool>() && R.IsReady() && Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo) { if (!target.UnderTurret(true)) { R.Cast(); } } } } if (Player.HasBuff("vayneinquisition") && !Q.IsReady()) { Q.Cast(Game.CursorPos); } }
private void CastECombo() { Spell E = Spells.get("E"); if (!E.IsReady()) { return; } Obj_AI_Hero target = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Physical); if (target == null) { return; } if (!target.HasBuff("KalistaExpungeMarker")) { return; } int stacks = target.Buffs.FirstOrDefault(x => x.DisplayName == "KalistaExpungeMarker").Count; if (Menu.Item("Combo_e").GetValue <bool>()) { if (stacks >= Menu.Item("Combo_estacks").GetValue <Slider>().Value) { E.Cast(); } } if (Menu.Item("Combo_erange").GetValue <bool>()) { if (Player.Distance(target) > 825 && !Spells.get("Q").IsReady(2000)) { E.Cast(); } } }
public static void onGainBuff() { if (Player.HasBuff("OrianaGhostSelf")) { ballStatus = 0; CurrentBallPosition = Player.ServerPosition; IsBallMoving = false; return; } foreach (Obj_AI_Hero ally in ObjectManager.Get <Obj_AI_Hero>() .Where(ally => ally.IsAlly && !ally.IsDead && ally.HasBuff("orianaghost", true))) { ballStatus = 2; CurrentBallPosition = ally.ServerPosition; allyDraw = ally.Position; IsBallMoving = false; return; } ballStatus = 1; }
private static float GetDeathmarkDamage(Obj_AI_Hero target) { double totalDamage = 0; if (Zed._spells[SpellSlot.R].IsReady() || target.HasBuff("zedulttargetmark")) { totalDamage += Zed._spells[SpellSlot.R].GetDamage(target); switch (Zed._spells[SpellSlot.R].Level) { case 1: totalDamage += totalDamage * 1.2; break; case 2: totalDamage += totalDamage * 1.35; break; case 3: totalDamage += totalDamage * 1.5; break; } } return (float) totalDamage; }
private void Interrupter2_OnInterruptableTarget(Obj_AI_Hero t, Interrupter2.InterruptableTargetEventArgs args) { if (!Config.Item("intQ", true).GetValue<bool>() || Player.Mana < QMANA + EMANA) return; if (t.IsValidTarget(E.Range) && (t.HasBuff("brandablaze") || E.IsReady())) { E.CastOnUnit(t); if (Q.IsReady()) Q.Cast(t); } }
private float GetRealDamage(Obj_AI_Hero target) { if (target.HasBuff("ferocioushowl") && target.ChampionName == "Alistar") { return this.spells[SpellSlot.E].GetDamage(target) * 0.7f; } return this.spells[SpellSlot.E].GetDamage(target) - this.sliderLinks["eDamageReduction"].Value.Value; }
private static void CastSpell(Spell QWER, Obj_AI_Hero target, int HitChanceNum) { //HitChance 0 - 2 // example CastSpell(Q, ts, 2); if (HitChanceNum == 0) QWER.Cast(target, true); else if (HitChanceNum == 1) QWER.CastIfHitchanceEquals(target, HitChance.VeryHigh, true); else if (HitChanceNum == 2) { if (QWER.Delay < 0.3) QWER.CastIfHitchanceEquals(target, HitChance.Dashing, true); QWER.CastIfHitchanceEquals(target, HitChance.Immobile, true); QWER.CastIfWillHit(target, 2, true); if (target.Path.Count() < 2) QWER.CastIfHitchanceEquals(target, HitChance.VeryHigh, true); } else if (HitChanceNum == 3) { List<Vector2> waypoints = target.GetWaypoints(); //debug("" + target.Path.Count() + " " + (target.Position == target.ServerPosition) + (waypoints.Last<Vector2>().To3D() == target.ServerPosition)); if (QWER.Delay < 0.3) QWER.CastIfHitchanceEquals(target, HitChance.Dashing, true); QWER.CastIfHitchanceEquals(target, HitChance.Immobile, true); QWER.CastIfWillHit(target, 2, true); float SiteToSite = ((target.MoveSpeed * QWER.Delay) + (Player.Distance(target.ServerPosition) / QWER.Speed)) * 6 - QWER.Width; float BackToFront = ((target.MoveSpeed * QWER.Delay) + (Player.Distance(target.ServerPosition) / QWER.Speed)); if (ObjectManager.Player.Distance(waypoints.Last<Vector2>().To3D()) < SiteToSite || ObjectManager.Player.Distance(target.Position) < SiteToSite) QWER.CastIfHitchanceEquals(target, HitChance.High, true); else if (target.Path.Count() < 2 && (target.ServerPosition.Distance(waypoints.Last<Vector2>().To3D()) > SiteToSite || Math.Abs(ObjectManager.Player.Distance(waypoints.Last<Vector2>().To3D()) - ObjectManager.Player.Distance(target.Position)) > BackToFront || target.HasBuffOfType(BuffType.Slow) || target.HasBuff("Recall") || (target.Path.Count() == 0 && target.Position == target.ServerPosition) )) { if (target.IsFacing(ObjectManager.Player) || target.Path.Count() == 0) { if (ObjectManager.Player.Distance(target.Position) < QWER.Range - ((target.MoveSpeed * QWER.Delay) + (Player.Distance(target.Position) / QWER.Speed))) QWER.CastIfHitchanceEquals(target, HitChance.High, true); } else { QWER.CastIfHitchanceEquals(target, HitChance.High, true); } } } else if (HitChanceNum == 4 && (int)QWER.GetPrediction(target).Hitchance > 4) { List<Vector2> waypoints = target.GetWaypoints(); //debug("" + target.Path.Count() + " " + (target.Position == target.ServerPosition) + (waypoints.Last<Vector2>().To3D() == target.ServerPosition)); if (QWER.Delay < 0.3) QWER.CastIfHitchanceEquals(target, HitChance.Dashing, true); QWER.CastIfHitchanceEquals(target, HitChance.Immobile, true); QWER.CastIfWillHit(target, 2, true); float SiteToSite = ((target.MoveSpeed * QWER.Delay) + (Player.Distance(target.ServerPosition) / QWER.Speed)) * 6 - QWER.Width; float BackToFront = ((target.MoveSpeed * QWER.Delay) + (Player.Distance(target.ServerPosition) / QWER.Speed)); if (ObjectManager.Player.Distance(waypoints.Last<Vector2>().To3D()) < SiteToSite || ObjectManager.Player.Distance(target.Position) < SiteToSite) QWER.CastIfHitchanceEquals(target, HitChance.High, true); else if (target.Path.Count() < 2 && (target.ServerPosition.Distance(waypoints.Last<Vector2>().To3D()) > SiteToSite || Math.Abs(ObjectManager.Player.Distance(waypoints.Last<Vector2>().To3D()) - ObjectManager.Player.Distance(target.Position)) > BackToFront || target.HasBuffOfType(BuffType.Slow) || target.HasBuff("Recall") || (target.Path.Count() == 0 && target.Position == target.ServerPosition) )) { if (target.IsFacing(ObjectManager.Player) || target.Path.Count() == 0) { if (ObjectManager.Player.Distance(target.Position) < QWER.Range - ((target.MoveSpeed * QWER.Delay) + (Player.Distance(target.Position) / QWER.Speed))) QWER.CastIfHitchanceEquals(target, HitChance.High, true); } else { QWER.CastIfHitchanceEquals(target, HitChance.High, true); } } } }
private bool isKnockedUp(Obj_AI_Hero x) { return (x.HasBuffOfType(BuffType.Knockup) || x.HasBuffOfType(BuffType.Knockback) || x.HasBuff("yasuoq3mis")); }
private bool checkChilled(Obj_AI_Hero target) { return target.HasBuff("Chilled"); }
public static bool Check(Obj_AI_Hero target, float damage, DamageType damageType = DamageType.True, bool ignoreShields = true) { if (target.HasBuffOfType(BuffType.Invulnerability) || target.IsInvulnerable) { return true; } foreach (var invulnerable in Items) { if (invulnerable.Champion == null || invulnerable.Champion == target.ChampionName) { if (invulnerable.DamageType == null || invulnerable.DamageType == damageType) { if (target.HasBuff(invulnerable.BuffName)) { if (!ignoreShields || !invulnerable.IsShield) { if (invulnerable.CheckFunction == null || CheckFunction(invulnerable, target, damageType)) { if (invulnerable.MinHealthPercent > 0 && (target.Health - damage) / target.MaxHealth * 100 < invulnerable.MinHealthPercent) { return true; } return true; } } } } } } return false; }
private static void InsecCombo(Obj_AI_Hero target) { if (target != null && target.IsVisible) { if (Player.Distance(GetInsecPos(target)) < 200) { insecComboStep = InsecComboStepSelect.Pressr; } else if (insecComboStep == InsecComboStepSelect.None && GetInsecPos(target).Distance(Player.Position) < 600) { insecComboStep = InsecComboStepSelect.Wgapclose; } else if (insecComboStep == InsecComboStepSelect.None && target.Distance(Player) < spells[Spells.Q].Range) { insecComboStep = InsecComboStepSelect.Qgapclose; } switch (insecComboStep) { case InsecComboStepSelect.Qgapclose: if (!(target.HasBuff("BlindMonkQOne") || target.HasBuff("blindmonkqonechaos")) && spells[Spells.Q].Instance.Name == "BlindMonkQOne") { CastQ1(target); } else if ((target.HasBuff("BlindMonkQOne") || target.HasBuff("blindmonkqonechaos"))) { spells[Spells.Q].Cast(); insecComboStep = InsecComboStepSelect.Wgapclose; } else { if (spells[Spells.Q].Instance.Name == "blindmonkqtwo" && ReturnQBuff().Distance(target) <= 600) { spells[Spells.Q].Cast(); } } break; case InsecComboStepSelect.Wgapclose: if (FindBestWardItem() != null && spells[Spells.W].IsReady() && spells[Spells.W].Instance.Name == "BlindMonkWOne" && (ParamBool("waitForQBuff") && (spells[Spells.Q].Instance.Name == "BlindMonkQOne" || (!spells[Spells.Q].IsReady() || spells[Spells.Q].Instance.Name == "blindmonkqtwo") && q2Done)) || !ParamBool("waitForQBuff")) { WardJump(GetInsecPos(target), false, false, true); wardJumped = true; } else if (Player.Spellbook.CanUseSpell(flashSlot) == SpellState.Ready && ParamBool("flashInsec") && !wardJumped && Player.Distance(insecPos) < 400 || Player.Spellbook.CanUseSpell(flashSlot) == SpellState.Ready && ParamBool("flashInsec") && !wardJumped && Player.Distance(insecPos) < 400 && FindBestWardItem() == null) { Player.Spellbook.CastSpell(flashSlot, GetInsecPos(target)); Utility.DelayAction.Add(50, () => spells[Spells.R].CastOnUnit(target)); } break; case InsecComboStepSelect.Pressr: spells[Spells.R].CastOnUnit(target); break; } } }
public static bool Contains(Obj_AI_Hero unit, GameObjectProcessSpellCastEventArgs args) { var name = unit.ChampionName; var slot = unit.GetSpellSlot(args.SData.Name); foreach (var spell in BlockedSpells.Where(o => o.Name.Equals(name)) .Where(spell => !spell.HasModelCondition || unit.CharData.BaseSkinName.Equals(spell.ModelName)) .Where(spell => !spell.HasBuffCondition || unit.HasBuff(spell.AutoAttackBuff))) { if (spell.IsAutoAttack) { if (!args.SData.IsAutoAttack()) { continue; } var condition = spell.AutoAttackName.Equals(args.SData.Name); if (unit.ChampionName.Equals("Rengar")) { condition = condition && unit.Mana.Equals(5); } condition = condition && _menu.Item(_menu.Name + "." + name + "AA") != null && _menu.Item(_menu.Name + "." + name + "AA").GetValue<bool>(); if (condition) { return true; } continue; } if (_menu.Item(_menu.Name + "." + name) == null || !_menu.Item(_menu.Name + "." + name).GetValue<bool>() || !spell.Slot.Equals(slot)) { continue; } if (name.Equals("Riven")) { var buff = unit.Buffs.FirstOrDefault(b => b.Name.Equals("RivenTriCleave")); if (buff != null && buff.Count == 3) { return true; } } return true; } return false; }