public override void Execute(Obj_AI_Hero target) { if (CanKill(target) || target.GetBuffCount("twitchdeadlyvenom") == 6 && AlwaysExecuteAtFullStacks) { Cast(); } }
public override void Execute(Obj_AI_Hero target) { if (((target.GetBuffCount("twitchdeadlyvenom") >= ComboAfterStacks || ComboAfterStacks == 0) && _afterAttack || !Orbwalking.InAutoAttackRange(target)) && (!NotDuringR || !ObjectManager.Player.HasBuff("TwitchFullAutomatic"))) { Cast(target, aoe: IsAreaOfEffect); } }
private void handeQ(Obj_AI_Hero target, HitChance hitChance) { if (player.Distance(target) <= Orbwalking.GetRealAutoAttackRange(target) && !Orbwalking.CanAttack() && Orbwalking.CanMove(100) && target.GetBuffCount("TahmKenchPDebuffCounter") != 2) { if (Program.IsSPrediction) { Q.SPredictionCast(target, hitChance); } else { Q.CastIfHitchanceEquals(target, hitChance, config.Item("packets").GetValue <bool>()); } } else if (player.Distance(target) > Orbwalking.GetRealAutoAttackRange(target)) { if (Program.IsSPrediction) { Q.SPredictionCast(target, hitChance); } else { Q.CastIfHitchanceEquals(target, hitChance, config.Item("packets").GetValue <bool>()); } } }
private void Game_OnGameUpdate(EventArgs args) { orbwalker.SetMovement(true); Jungle.CastSmite(config.Item("useSmite").GetValue <KeyBind>().Active); blockW = false; if (config.Item("useDevour", true).GetValue <bool>() && W.IsReady() && !justQ) { EatAlly(); } switch (orbwalker.ActiveMode) { case Orbwalking.OrbwalkingMode.Combo: Combo(); break; case Orbwalking.OrbwalkingMode.Mixed: Harass(); break; case Orbwalking.OrbwalkingMode.LaneClear: Clear(); break; case Orbwalking.OrbwalkingMode.LastHit: Console.WriteLine(player.GetBuffCount("talentreaperdisplay")); break; default: break; } if (config.Item("useShield", true).GetValue <bool>() && E.IsReady()) { UseShield(); } }
private static float TotalDmg(Obj_AI_Base enemy, bool useQ, bool useE, bool useR) { var damage = 0d; var estacks = Player.GetBuffCount("vladimirtidesofbloodcost"); //Base Q damage if (useQ && Q.IsReady()) { damage += Player.GetSpellDamage(enemy, SpellSlot.Q); } //E damage if (useE && E.IsReady()) { var edmg = new double[] { 60, 85, 110, 135, 160 }[Player.Spellbook.GetSpell(SpellSlot.E).Level]; edmg = edmg * (1 + 0.25 * estacks); edmg = edmg + 0.45 * Player.FlatMagicDamageMod; damage += edmg; } //R damage if (useR && R.IsReady()) { damage += Player.GetSpellDamage(enemy, SpellSlot.R); damage += TotalDmg(enemy, true, true, false) * 0.12; } // Ludens Echo damage if (Items.HasItem(3285)) { damage += Player.CalcDamage(enemy, Damage.DamageType.Magical, 100 + Player.FlatMagicDamageMod * 0.1); } return((float)damage); }
public override void Harass(Obj_AI_Hero target) { if (((target.GetBuffCount("twitchdeadlyvenom") >= HarassAfterStacks || HarassAfterStacks == 0) && _afterAttack || !Orbwalking.InAutoAttackRange(target)) && (!NotDuringR || !ObjectManager.Player.HasBuff("TwitchFullAutomatic"))) { Cast(target, aoe: IsAreaOfEffect); } }
public static double CalcDamage(Obj_AI_Hero enemy) { double damage = 0; if (enemy.GetBuffCount("EkkoStacks") == 2) { damage += 10 + 10 * Player.Level + 0.7 * Player.TotalMagicalDamage; } if (SpellManager.Q.IsReady()) { damage += 45 + SpellManager.Q.Level * 15 + Player.TotalMagicalDamage * 0.1; } if (SpellManager.E.IsReady() || Player.HasBuff("ekkoeattackbuff")) { damage += 20 + SpellManager.E.Level * 30 + Player.TotalMagicalDamage() * 0.2; } if (EkkoUlt != null) { if (enemy.Distance(EkkoUlt.Position) <= SpellManager.R.Range) { damage += Rdamage(); } } return(Player.CalcDamage(enemy, Damage.DamageType.Magical, damage)); }
public static int Damage(Obj_AI_Hero target) => Bools.IsCharged(target) ? (int)(Variables.E.GetDamage(target) * ((0.30f * target.GetBuffCount("TristanaECharge")) + 1f) + Variables.R.GetDamage(target)) : (int)Variables.R.GetDamage(target);
public override void Harass(Obj_AI_Hero target) { base.Harass(target); if (HarassActivateWhenLeaving <= target.GetBuffCount("twitchdeadlyvenom") && target.Distance(ObjectManager.Player) > Orbwalking.GetRealAutoAttackRange(target)) { Cast(); } }
public static void Game_OnGameUpdate(EventArgs args) { Player.SetSkin(Player.BaseSkinName, Config.Item("Ahri.SkinChanger").GetValue <bool>() ? Config.Item("Ahri.SkinChangerName").GetValue <StringList>().SelectedIndex : Player.BaseSkinId); if (Config.Item("Ahri.AutoLevelSpell").GetValue <bool>()) { LevelUpSpells(); } if (Player.IsDead) { return; } if (Player.GetBuffCount("Recall") == 1) { return; } ManaManager(); PotionManager(); KillSteal(); if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo) { Combo(); } if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LaneClear) { LaneClear(); JungleClear(); } if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LastHit) { LastHit(); } if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Mixed) { LastHit(); } if (Config.Item("Ahri.HarassActive").GetValue <KeyBind>().Active || Config.Item("Ahri.HarassActiveT").GetValue <KeyBind>().Active) { Harass(); } }
public static double CalcDamage(Obj_AI_Hero enemy) { double damage = 0; if (enemy.GetBuffCount("EkkoStacks") == 2) damage += 10 + 10 * Player.Level + 0.7 * Player.TotalMagicalDamage; if (SpellManager.Q.IsReady()) damage += 45 + SpellManager.Q.Level * 15 + Player.TotalMagicalDamage * 0.1; if (SpellManager.E.IsReady() || Player.HasBuff("ekkoeattackbuff")) damage += 20 + SpellManager.E.Level * 30 + Player.TotalMagicalDamage() * 0.2; if (EkkoUlt != null) if (enemy.Distance(EkkoUlt.Position) <= SpellManager.R.Range) damage += Rdamage(); return Player.CalcDamage(enemy, Damage.DamageType.Magical, damage); }
/// <summary> /// Gets the Killsteal damage. /// </summary> public static float GetDamage(Obj_AI_Hero target) { float dmg = 0f; if (target.GetBuffCount("vaynesilvereddebuff") == 2) { dmg += Variables.W.GetDamage(target); } if (Variables.E.IsReady()) { dmg += Variables.E.GetDamage(target); } return(dmg); }
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 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); }
private void handleWEnemyHero(Obj_AI_Hero target) { if (target.GetBuffCount("TahmKenchPDebuffCounter") == 3 && !CombatHelper.CheckCriticalBuffs(target) && !target.HasBuffOfType(BuffType.Stun) && !target.HasBuffOfType(BuffType.Snare) && !Q.CanCast(target) && !justQ) { orbwalker.SetMovement(false); if (Orbwalking.CanMove(100) && Game.CursorPos.Distance(target.Position) < 300) { player.IssueOrder(GameObjectOrder.MoveTo, target.Position.Extend(player.Position, 100)); } lastWtarget = Team.Enemy; W.CastOnUnit(target, true); } }
/// <summary> /// Gets the Killsteal damage. /// </summary> public static float GetDamage(Obj_AI_Hero target) { float dmg = 0f; if (target.GetBuffCount("vaynesilvereddebuff") == 2) { dmg += Variables.W.GetDamage(target); } if (Variables.E.IsReady()) { dmg += Variables.E.GetDamage(target); } return dmg; }
public static Vector3 FindTumblePosition(Obj_AI_Hero target) { if ((Only2W || (s_Champion.Orbwalker.ActiveMode == SCommon.Orbwalking.Orbwalker.Mode.Mixed && Only2WHarass)) && target.GetBuffCount("vaynesilvereddebuff") == 1) // == 1 cuz calling this after attack which is aa missile still flying return Vector3.Zero; if(WallIfPossible) { var outRadius = ObjectManager.Player.BoundingRadius / (float)Math.Cos(2 * Math.PI / 8); for (var i = 1; i <= 8; i++) { var angle = i * 2 * Math.PI / 8; float x = ObjectManager.Player.Position.X + outRadius * (float)Math.Cos(angle); float y = ObjectManager.Player.Position.Y + outRadius * (float)Math.Sin(angle); var colFlags = NavMesh.GetCollisionFlags(x, y); if (colFlags.HasFlag(CollisionFlags.Wall) || colFlags.HasFlag(CollisionFlags.Building)) return new Vector3(x, y, 0); } } if (Mode == 0) { Vector3 vec = target.ServerPosition; if (target.Path.Length > 0) { if (ObjectManager.Player.Distance(vec) < ObjectManager.Player.Distance(target.Path.Last())) return IsSafe(target, Game.CursorPos); else return IsSafe(target, Game.CursorPos.To2D().Rotated(Geometry.DegreeToRadian((vec - ObjectManager.Player.ServerPosition).To2D().AngleBetween((Game.CursorPos - ObjectManager.Player.ServerPosition).To2D()) % 90)).To3D()); } else { if (target.IsMelee) return IsSafe(target, Game.CursorPos); } return IsSafe(target, ObjectManager.Player.ServerPosition + (target.ServerPosition - ObjectManager.Player.ServerPosition).Normalized().To2D().Rotated(Geometry.DegreeToRadian(90 - (vec - ObjectManager.Player.ServerPosition).To2D().AngleBetween((Game.CursorPos - ObjectManager.Player.ServerPosition).To2D()))).To3D() * 300f); } else if(Mode == 1) { return Game.CursorPos; } return Vector3.Zero; }
/// <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 void Game_OnGameUpdate(EventArgs args) { if (Config.Item("Udyr.AutoLevelSpell").GetValue <bool>()) { LevelUpSpells(); } if (Player.IsDead) { return; } if (Player.GetBuffCount("Recall") == 1) { return; } ManaManager(); PotionManager(); if (!Player.InFountain() && Orbwalker.ActiveMode != Orbwalking.OrbwalkingMode.Combo && Orbwalker.ActiveMode != Orbwalking.OrbwalkingMode.LaneClear && Orbwalker.ActiveMode != Orbwalking.OrbwalkingMode.LastHit && Orbwalker.ActiveMode != Orbwalking.OrbwalkingMode.Mixed && Config.Item("Udyr.AutoEMovement").GetValue <bool>() && Player.ManaPercent >= Config.Item("Udyr.AutoEMovementMana").GetValue <Slider>().Value&& E.IsReady() && Player.CountEnemiesInRange(700) == 0) { E.Cast(); } if (Config.Item("Udyr.StackPassiveInFountain").GetValue <bool>() && ObjectManager.Player.InFountain() && Player.ManaPercent >= Config.Item("Udyr.StackPassiveInFountainMinMana").GetValue <Slider>().Value) { var buffEndTime = Config.Item("Udyr.StackPassiveInFountainKeepBuffUp").GetValue <bool>() ? float.MaxValue : GetPassiveBuffTimer(Player); if (Q.IsReady() && (MonkeyAgility != 3 || buffEndTime > Game.Time + (buffEndTime / 2))) { Q.Cast(); return; } if (W.IsReady() && !Q.IsReady() && (MonkeyAgility != 3 || buffEndTime > Game.Time + (buffEndTime / 2))) { W.Cast(); return; } if (R.IsReady() && !Q.IsReady() && !W.IsReady() && (MonkeyAgility != 3 || buffEndTime > Game.Time + (buffEndTime / 2))) { R.Cast(); return; } } if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo) { Combo(); } if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LaneClear) { LaneClear(); JungleClear(); } if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LastHit) { LastHit(); } if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Mixed) { LastHit(); } }
public static float GetRDamage(Obj_AI_Hero target) => (float)(Variables.R.GetDamage(target) * (1 + 0.20 * target.GetBuffCount("dariushemo")));
public static Vector3 FindTumblePosition(Obj_AI_Hero target) { if ((Only2W || (s_Champion.Orbwalker.ActiveMode == SCommon.Orbwalking.Orbwalker.Mode.Mixed && Only2WHarass)) && target.GetBuffCount("vaynesilvereddebuff") == 1) // == 1 cuz calling this after attack which is aa missile still flying { return(Vector3.Zero); } if (WallIfPossible) { var outRadius = ObjectManager.Player.BoundingRadius / (float)Math.Cos(2 * Math.PI / 8); for (var i = 1; i <= 8; i++) { var angle = i * 2 * Math.PI / 8; float x = ObjectManager.Player.Position.X + outRadius * (float)Math.Cos(angle); float y = ObjectManager.Player.Position.Y + outRadius * (float)Math.Sin(angle); var colFlags = NavMesh.GetCollisionFlags(x, y); if (colFlags.HasFlag(CollisionFlags.Wall) || colFlags.HasFlag(CollisionFlags.Building)) { return(new Vector3(x, y, 0)); } } } if (Mode == 0) { Vector3 vec = target.ServerPosition; if (target.Path.Length > 0) { if (ObjectManager.Player.Distance(vec) < ObjectManager.Player.Distance(target.Path.Last())) { return(IsSafe(target, Game.CursorPos)); } else { return(IsSafe(target, Game.CursorPos.To2D().Rotated(Geometry.DegreeToRadian((vec - ObjectManager.Player.ServerPosition).To2D().AngleBetween((Game.CursorPos - ObjectManager.Player.ServerPosition).To2D()) % 90)).To3D())); } } else { if (target.IsMelee) { return(IsSafe(target, Game.CursorPos)); } } return(IsSafe(target, ObjectManager.Player.ServerPosition + (target.ServerPosition - ObjectManager.Player.ServerPosition).Normalized().To2D().Rotated(Geometry.DegreeToRadian(90 - (vec - ObjectManager.Player.ServerPosition).To2D().AngleBetween((Game.CursorPos - ObjectManager.Player.ServerPosition).To2D()))).To3D() * 300f)); } else if (Mode == 1) { return(Game.CursorPos); } return(Vector3.Zero); }
public override void Execute(Obj_AI_Hero target) { if (CanKill(target) || target.GetBuffCount("twitchdeadlyvenom") == 6 && AlwaysExecuteAtFullStacks) Cast(); }
private void Interrupter2_OnInterruptableTarget( Obj_AI_Hero unit, Interrupter2.InterruptableTargetEventArgs args) { switch (unit.GetBuffCount(this.tahmPassive)) { case 1: if (TahmKenchChampion.GetSubMenu("SAssembliesChampionsTahmKenchQ") .Item("SAssembliesChampionsTahmKenchQInterrupt") .GetValue<bool>() && TahmKenchChampion.GetSubMenu("SAssembliesChampionsTahmKenchW") .Item("SAssembliesChampionsTahmKenchWInterrupt") .GetValue<bool>()) { if (Orbwalking.InAutoAttackRange(unit) && CustomSpell.Q.IsReady() && (CustomSpell.W.IsReady() && this.swallowedUnit == SwallowedUnit.None)) { ObjectManager.Player.IssueOrder(GameObjectOrder.AttackUnit, unit); Utility.DelayAction.Add(100, () => CustomSpell.Q.Cast(unit)); Utility.DelayAction.Add(200, () => CustomSpell.W.CastOnUnit(unit)); } } break; case 2: if ((CustomSpell.Q.IsReady() && TahmKenchChampion.GetSubMenu("SAssembliesChampionsTahmKenchQ") .Item("SAssembliesChampionsTahmKenchQInterrupt") .GetValue<bool>()) || (CustomSpell.W.IsReady() && TahmKenchChampion.GetSubMenu("SAssembliesChampionsTahmKenchW") .Item("SAssembliesChampionsTahmKenchWInterrupt") .GetValue<bool>() && this.swallowedUnit == SwallowedUnit.None)) { if (Orbwalking.InAutoAttackRange(unit)) { ObjectManager.Player.IssueOrder(GameObjectOrder.AttackUnit, unit); if (CustomSpell.Q.IsReady()) { Utility.DelayAction.Add(100, () => CustomSpell.Q.Cast(unit)); } else if (CustomSpell.W.IsReady()) { Utility.DelayAction.Add(100, () => CustomSpell.W.CastOnUnit(unit)); } } else if (CustomSpell.Q.IsReady() && CustomSpell.W.IsReady()) { CustomSpell.Q.Cast(unit); Utility.DelayAction.Add(100, () => CustomSpell.W.CastOnUnit(unit)); } } break; case 3: if ((CustomSpell.Q.IsReady() && TahmKenchChampion.GetSubMenu("SAssembliesChampionsTahmKenchQ") .Item("SAssembliesChampionsTahmKenchQInterrupt") .GetValue<bool>()) || (CustomSpell.W.IsReady() && TahmKenchChampion.GetSubMenu("SAssembliesChampionsTahmKenchW") .Item("SAssembliesChampionsTahmKenchWInterrupt") .GetValue<bool>() && this.swallowedUnit == SwallowedUnit.None)) { if (CustomSpell.Q.IsReady()) { CustomSpell.Q.Cast(unit); } else if (CustomSpell.W.IsReady()) { CustomSpell.W.CastOnUnit(unit); } } break; } }
/// <summary> /// Get the spell damage value. /// </summary> /// <param name="source"> /// The source /// </param> /// <param name="target"> /// The target /// </param> /// <param name="spellSlot"> /// The spell slot /// </param> /// <param name="stage"> /// The stage /// </param> /// <returns> /// The <see cref="double" /> value of damage. /// </returns> public static double GetSpellDamage( this Obj_AI_Hero source, Obj_AI_Base target, SpellSlot spellSlot, DamageStage stage = DamageStage.Default) { if (source == null || !source.IsValid || target == null || !target.IsValid) { return(0); } ChampionDamage value; if (!DamageCollection.TryGetValue(source.ChampionName, out value)) { return(0); } var spellData = value.GetSlot(spellSlot)?.FirstOrDefault(e => e.Stage == stage)?.SpellData; if (spellData == null) { return(0); } var spellLevel = source.Spellbook.GetSpell(spellData.ScaleSlot != SpellSlot.Unknown ? spellData.ScaleSlot : spellSlot) .Level; if (spellLevel == 0) { return(0); } bool alreadyAdd1 = false, alreadyAdd2 = false; var targetHero = target as Obj_AI_Hero; var targetMinion = target as Obj_AI_Minion; double dmgBase = 0, dmgBonus = 0, dmgPassive = 0; var dmgReduce = 1d; if (spellData.DamagesPerLvl?.Count > 0) { dmgBase = spellData.DamagesPerLvl[Math.Min(source.Level - 1, spellData.DamagesPerLvl.Count - 1)]; } else if (spellData.Damages?.Count > 0) { dmgBase = spellData.Damages[Math.Min(spellLevel - 1, spellData.Damages.Count - 1)]; if (!string.IsNullOrEmpty(spellData.ScalingBuff)) { var buffCount = (spellData.ScalingBuffTarget == DamageScalingTarget.Source ? source : target).GetBuffCount( spellData.ScalingBuff); dmgBase = buffCount > 0 ? dmgBase * (buffCount + spellData.ScalingBuffOffset) : 0; } } if (dmgBase > 0) { if (targetMinion != null && spellData.BonusDamageOnMinion?.Count > 0) { dmgBase += spellData.BonusDamageOnMinion[Math.Min(spellLevel - 1, spellData.BonusDamageOnMinion.Count - 1)]; } if (spellData.IsApplyOnHit || spellData.IsModifiedDamage || spellData.SpellEffectType == SpellEffectType.Single) { if (source.HasBuff("Serrated")) { dmgBase += 15; } if (targetHero != null) { if (!spellData.IsApplyOnHit && Items.HasItem((int)ItemId.Dorans_Shield, targetHero)) { dmgBase -= 8; } } else if (targetMinion != null) { var savagery = source.GetCunning(Cunning.Savagery); if (savagery.IsValid()) { dmgBase += savagery.Points; } } alreadyAdd1 = true; } dmgBase = source.CalculateDamage(target, spellData.DamageType, dmgBase); if (spellData.IsModifiedDamage && spellData.DamageType == DamageType.Physical && targetHero != null && targetHero.ChampionName == "Fizz") { dmgBase -= 4 + (2 * Math.Floor((targetHero.Level - 1) / 3d)); alreadyAdd2 = true; } } if (spellData.BonusDamages?.Count > 0) { foreach (var bonusDmg in spellData.BonusDamages) { var dmg = source.ResolveBonusSpellDamage(target, bonusDmg, spellLevel - 1); if (dmg <= 0) { continue; } if (!alreadyAdd1 && (spellData.IsModifiedDamage || spellData.SpellEffectType == SpellEffectType.Single)) { if (source.HasBuff("Serrated")) { dmg += 15; } if (targetHero != null) { if (Items.HasItem((int)ItemId.Dorans_Shield, targetHero)) { dmg -= 8; } } else if (targetMinion == null) { var savagery = source.GetCunning(Cunning.Savagery); if (savagery.IsValid()) { dmg += savagery.Points; } } alreadyAdd1 = true; } dmgBonus += source.CalculateDamage(target, bonusDmg.DamageType, dmg); if (!alreadyAdd2 && spellData.IsModifiedDamage && bonusDmg.DamageType == DamageType.Physical && targetHero != null && targetHero.ChampionName == "Fizz") { dmgBonus -= 4 + (2 * Math.Floor((targetHero.Level - 1) / 3d)); alreadyAdd2 = true; } } } var totalDamage = dmgBase + dmgBonus; if (totalDamage > 0) { if (spellData.ScalePerTargetMissHealth > 0) { totalDamage *= (target.MaxHealth - target.Health) / target.MaxHealth * spellData.ScalePerTargetMissHealth + 1; } if (target is Obj_AI_Minion && spellData.MaxDamageOnMinion?.Count > 0) { totalDamage = Math.Min( totalDamage, spellData.MaxDamageOnMinion[Math.Min(spellLevel - 1, spellData.MaxDamageOnMinion.Count - 1)]); } if (spellData.IsApplyOnHit || spellData.IsModifiedDamage) { dmgPassive += source.GetPassiveDamageInfo(target, false).Value; if (targetHero != null) { if (spellData.IsModifiedDamage && new[] { 3047, 1316, 1318, 1315, 1317 }.Any(i => Items.HasItem(i, targetHero))) { dmgReduce *= 0.9; } if (source.GetFerocity(Ferocity.FervorofBattle).IsValid()) { var fervorBuffCount = source.GetBuffCount("MasteryOnHitDamageStacker"); if (fervorBuffCount > 0) { dmgPassive += source.CalculateDamage( target, DamageType.Physical, (0.13 + (0.77 * source.Level)) * fervorBuffCount); } } } } } return (Math.Max( Math.Floor( totalDamage * dmgReduce + (spellData.IsApplyOnHit || spellData.IsModifiedDamage ? source.PassiveFlatMod(target) : 0) + dmgPassive), 0)); }
private void handeQ(Obj_AI_Hero target, HitChance hitChance) { if (player.Distance(target) <= Orbwalking.GetRealAutoAttackRange(target) && !Orbwalking.CanAttack() && Orbwalking.CanMove(100) && target.GetBuffCount("TahmKenchPDebuffCounter") != 2) { Q.CastIfHitchanceEquals(target, hitChance, config.Item("packets").GetValue<bool>()); } else if (player.Distance(target) > Orbwalking.GetRealAutoAttackRange(target)) { Q.CastIfHitchanceEquals(target, hitChance, config.Item("packets").GetValue<bool>()); } }
/// <summary> /// Gets the passive stacks. /// </summary> /// <param name="target"></param> /// <returns> /// <see cref="GetPassiveStacks" /> /// </returns> internal static int GetPassiveStacks(Obj_AI_Hero target) => target.GetBuffCount("tahmkenchpdebuffcounter");
/// <summary> /// Gets the current amount of rend stacks on the given <see cref="Obj_AI_Hero" /> target /// </summary> /// <param name="target">The target</param> /// <returns>amount of stacks</returns> public static int GetRendBuffCount(this Obj_AI_Hero target) => target.GetBuffCount("kalistaexpungemarker");
private int GetPassiveCount(Obj_AI_Hero target) { return(target.HasBuff("varuswdebuff") ? target.GetBuffCount("varuswdebuff") : 0); }
public static bool Contains(Obj_AI_Hero unit, GameObjectProcessSpellCastEventArgs args) { var name = unit.ChampionName; var slot = args.Slot.Equals(48) ? SpellSlot.R : args.Slot; if (args.SData.Name.Equals("KalistaRAllyDash") && Program.Menu.Item("Oathsworn").IsActive()) { return(true); } var spells = new List <BlockedSpell>(); BlockedSpells.TryGetValue(name, out spells); if (spells == null || spells.Count == 0) { return(false); } foreach (var spell in spells) { var item = Menu.Item(name + spell.MenuName); if (item == null || !item.IsActive()) { continue; } if (!spell.PassesModelCondition(unit)) { continue; } if (!spell.PassesSpellCondition(args.SData.Name)) { continue; } if (!spell.PassesBuffCondition(unit)) { continue; } if (!spell.PassesSlotCondition(args.Slot)) { continue; } if (spell.IsAutoAttack) { if (!args.SData.IsAutoAttack()) { continue; } if (spell.SpellName.Equals("-1")) { Console.WriteLine(args.SData.Name); } var condition = true; if (unit.ChampionName.Equals("Gnar")) { var buff = ObjectManager.Player.Buffs.FirstOrDefault(b => b.Name.Equals("gnarwproc")); condition = buff != null && buff.Count == 2; } else if (unit.ChampionName.Equals("Rengar")) { condition = unit.Mana.Equals(5); } if (condition) { return(true); } continue; } if (name.Equals("Riven")) { return(unit.GetBuffCount("RivenTriCleave").Equals(2)); } return(true); } return(false); }
public static bool Has2WStacks(this Obj_AI_Hero target) { return(target.GetBuffCount("vaynesilvereddebuff") == 2); }
private void Interrupter2_OnInterruptableTarget( Obj_AI_Hero unit, Interrupter2.InterruptableTargetEventArgs args) { switch (unit.GetBuffCount(this.tahmPassive)) { case 1: if (TahmKenchChampion.GetSubMenu("SAssembliesChampionsTahmKenchQ") .Item("SAssembliesChampionsTahmKenchQInterrupt") .GetValue <bool>() && TahmKenchChampion.GetSubMenu("SAssembliesChampionsTahmKenchW") .Item("SAssembliesChampionsTahmKenchWInterrupt") .GetValue <bool>()) { if (Orbwalking.InAutoAttackRange(unit) && CustomSpell.Q.IsReady() && (CustomSpell.W.IsReady() && this.swallowedUnit == SwallowedUnit.None)) { ObjectManager.Player.IssueOrder(GameObjectOrder.AttackUnit, unit); Utility.DelayAction.Add(100, () => CustomSpell.Q.Cast(unit)); Utility.DelayAction.Add(200, () => CustomSpell.W.CastOnUnit(unit)); } } break; case 2: if ((CustomSpell.Q.IsReady() && TahmKenchChampion.GetSubMenu("SAssembliesChampionsTahmKenchQ") .Item("SAssembliesChampionsTahmKenchQInterrupt") .GetValue <bool>()) || (CustomSpell.W.IsReady() && TahmKenchChampion.GetSubMenu("SAssembliesChampionsTahmKenchW") .Item("SAssembliesChampionsTahmKenchWInterrupt") .GetValue <bool>() && this.swallowedUnit == SwallowedUnit.None)) { if (Orbwalking.InAutoAttackRange(unit)) { ObjectManager.Player.IssueOrder(GameObjectOrder.AttackUnit, unit); if (CustomSpell.Q.IsReady()) { Utility.DelayAction.Add(100, () => CustomSpell.Q.Cast(unit)); } else if (CustomSpell.W.IsReady()) { Utility.DelayAction.Add(100, () => CustomSpell.W.CastOnUnit(unit)); } } else if (CustomSpell.Q.IsReady() && CustomSpell.W.IsReady()) { CustomSpell.Q.Cast(unit); Utility.DelayAction.Add(100, () => CustomSpell.W.CastOnUnit(unit)); } } break; case 3: if ((CustomSpell.Q.IsReady() && TahmKenchChampion.GetSubMenu("SAssembliesChampionsTahmKenchQ") .Item("SAssembliesChampionsTahmKenchQInterrupt") .GetValue <bool>()) || (CustomSpell.W.IsReady() && TahmKenchChampion.GetSubMenu("SAssembliesChampionsTahmKenchW") .Item("SAssembliesChampionsTahmKenchWInterrupt") .GetValue <bool>() && this.swallowedUnit == SwallowedUnit.None)) { if (CustomSpell.Q.IsReady()) { CustomSpell.Q.Cast(unit); } else if (CustomSpell.W.IsReady()) { CustomSpell.W.CastOnUnit(unit); } } break; } }
public static void Game_OnGameUpdate(EventArgs args) { Player.SetSkin(Player.BaseSkinName, Config.Item("Ryze.SkinChanger").GetValue <bool>() ? Config.Item("Ryze.SkinChangerName").GetValue <StringList>().SelectedIndex : Player.BaseSkinId); if (Config.Item("Ryze.AutoLevelSpell").GetValue <bool>()) { LevelUpSpells(); } if (Player.IsDead) { return; } if (Player.GetBuffCount("Recall") == 1) { return; } ManaManager(); PotionManager(); KillSteal(); if (Config.Item("Ryze.StackTearInFountain").GetValue <bool>() && Q.IsReady() && ObjectManager.Player.InFountain() && Player.ManaPercent >= Config.Item("Ryze.AutoQTearMinMana").GetValue <Slider>().Value&& (TearoftheGoddess.IsOwned(Player) || TearoftheGoddessCrystalScar.IsOwned(Player) || ArchangelsStaff.IsOwned(Player) || ArchangelsStaffCrystalScar.IsOwned(Player) || Manamune.IsOwned(Player) || ManamuneCrystalScar.IsOwned(Player))) { Q.Cast(ObjectManager.Player, true, true); } if (Config.Item("Ryze.ChaseActive").GetValue <KeyBind>().Active) { Player.IssueOrder(GameObjectOrder.MoveTo, Game.CursorPos); Chase(); } if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo || Config.Item("Ryze.ComboActive").GetValue <KeyBind>().Active) { Combo(); } if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LaneClear) { Orbwalking.Attack = true; JungleClear(); LaneClear(); } if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LastHit) { Orbwalking.Attack = true; LastHit(); } if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Mixed) { Orbwalking.Attack = true; LastHit(); } if (Config.Item("Ryze.HarassActive").GetValue <KeyBind>().Active || Config.Item("Ryze.HarassActiveT").GetValue <KeyBind>().Active) { Orbwalking.Attack = true; Harass(); } }
private static void ImplementationOnPostAttack(object enemy, PostAttackEventArgs events) { if (Player.IsDead || MenuGUI.IsChatOpen()) { return; } var turret = GameObjects.EnemyTurrets.FirstOrDefault(t => !t.IsDead); if (Orbwalker.Implementation.Mode.Equals(OrbwalkingMode.Combo) && Setup.Combo["Q"].As <MenuBool>().Enabled&& Spells.Q.Ready) { Obj_AI_Hero target = events.Target as Obj_AI_Hero; if (target != null && Setup.Combo["Mana"].As <MenuSlider>().Value < Player.ManaPercent()) { var endPos = Player.ServerPosition.Extend(Game.CursorPos, 300); if (endPos.CountEnemyHeroesInRange(850) < Setup.Misc["Qx"].As <MenuSlider>().Value&& endPos.Distance(target.ServerPosition) < Player.AttackRange) { if (target.AttackRange < Player.AttackRange && endPos.Distance(target.ServerPosition) < target.AttackRange) { return; } if (endPos.Distance(turret.ServerPosition) < turret.AttackRange && Setup.Misc["Turret"].As <MenuBool>().Enabled) { return; } Spells.Q.Cast(endPos); } } } if (Orbwalker.Implementation.Mode.Equals(OrbwalkingMode.Mixed) && Setup.Harass["Q"].As <MenuBool>().Enabled&& Spells.Q.Ready) { Obj_AI_Hero target = events.Target as Obj_AI_Hero; if (target != null && Setup.Harass["Mana"].As <MenuSlider>().Value < Player.ManaPercent() && Setup.Harass["Key"].Enabled) { var endPos = Player.ServerPosition.Extend(Game.CursorPos, 300); if (endPos.CountEnemyHeroesInRange(850) < Setup.Misc["Qx"].As <MenuSlider>().Value&& endPos.Distance(target.ServerPosition) < Player.AttackRange) { if (target.AttackRange < Player.AttackRange && endPos.Distance(target.ServerPosition) < target.AttackRange) { return; } if (Setup.Harass["QW"].As <MenuBool>().Enabled&& target.GetBuffCount("vaynesilvereddebuff") != 2) { return; } if (endPos.Distance(turret.ServerPosition) < turret.AttackRange && Setup.Misc["Turret"].As <MenuBool>().Enabled) { return; } Spells.Q.Cast(endPos); } } } if (Orbwalker.Implementation.Mode.Equals(OrbwalkingMode.Laneclear) && Setup.Clear["Q"].As <MenuBool>().Enabled&& Spells.Q.Ready) { Obj_AI_Minion target = events.Target as Obj_AI_Minion; if (target != null && Setup.Clear["Mana"].As <MenuSlider>().Value < Player.ManaPercent() && Setup.Clear["Key"].Enabled) { var endPos = Player.ServerPosition.Extend(Game.CursorPos, 300); if (endPos.CountEnemyHeroesInRange(850) < Setup.Misc["Qx"].As <MenuSlider>().Value&& endPos.Distance(target.ServerPosition) < Player.AttackRange) { if (target.AttackRange < Player.AttackRange && endPos.Distance(target.ServerPosition) < target.AttackRange) { return; } if (endPos.Distance(turret.ServerPosition) < turret.AttackRange && Setup.Misc["Turret"].As <MenuBool>().Enabled) { return; } Spells.Q.Cast(endPos); } } } }
public static bool Contains(Obj_AI_Hero unit, GameObjectProcessSpellCastEventArgs args) { var name = unit.ChampionName; var slot = args.Slot.Equals(48) ? SpellSlot.R : args.Slot; if (args.SData.Name.Equals("KalistaRAllyDash") && Program.Menu.Item("Oathsworn").IsActive()) { return true; } var spells = new List<BlockedSpell>(); BlockedSpells.TryGetValue(name, out spells); if (spells == null || spells.Count == 0) { return false; } foreach (var spell in spells) { var item = Menu.Item(name + spell.MenuName); if (item == null || !item.IsActive()) { continue; } if (!spell.PassesModelCondition(unit)) { continue; } if (!spell.PassesSpellCondition(args.SData.Name)) { continue; } if (!spell.PassesBuffCondition(unit)) { continue; } if (!spell.PassesSlotCondition(args.Slot)) { continue; } if (spell.IsAutoAttack) { if (!args.SData.IsAutoAttack()) { continue; } if (spell.SpellName.Equals("-1")) { Console.WriteLine(args.SData.Name); } var condition = true; if (unit.ChampionName.Equals("Gnar")) { var buff = ObjectManager.Player.Buffs.FirstOrDefault(b => b.Name.Equals("gnarwproc")); condition = buff != null && buff.Count == 2; } else if (unit.ChampionName.Equals("Rengar")) { condition = unit.Mana.Equals(5); } if (condition) { return true; } continue; } if (name.Equals("Riven")) { return unit.GetBuffCount("RivenTriCleave").Equals(2); } return true; } return false; }
public static void Game_OnGameUpdate(EventArgs args) { Player.SetSkin(Player.BaseSkinName, Config.Item("Gangplank.SkinChanger").GetValue <bool>() ? Config.Item("Gangplank.SkinChangerName").GetValue <StringList>().SelectedIndex : Player.BaseSkinId); if (Config.Item("Gangplank.AutoLevelSpell").GetValue <bool>()) { LevelUpSpells(); } if (Player.IsDead) { return; } if (Player.GetBuffCount("Recall") == 1) { return; } ManaManager(); PotionManager(); KillSteal(); if (W.IsReady() && Player.Mana >= WMANA && Config.Item("Gangplank.CleanseWithW").GetValue <bool>()) { if ((Config.Item("Gangplank.UseWBlind").GetValue <bool>() && Player.HasBuffOfType(BuffType.Blind)) || (Config.Item("Gangplank.UseWCharm").GetValue <bool>() && Player.HasBuffOfType(BuffType.Charm)) || (Config.Item("Gangplank.UseWFear").GetValue <bool>() && Player.HasBuffOfType(BuffType.Fear)) || (Config.Item("Gangplank.UseWPolymorph").GetValue <bool>() && Player.HasBuffOfType(BuffType.Polymorph)) || (Config.Item("Gangplank.UseWSilence").GetValue <bool>() && Player.HasBuffOfType(BuffType.Silence)) || (Config.Item("Gangplank.UseWSleep").GetValue <bool>() && Player.HasBuffOfType(BuffType.Sleep)) || (Config.Item("Gangplank.UseWSlow").GetValue <bool>() && Player.HasBuffOfType(BuffType.Slow)) || (Config.Item("Gangplank.UseWSnare").GetValue <bool>() && Player.HasBuffOfType(BuffType.Snare)) || (Config.Item("Gangplank.UseWStun").GetValue <bool>() && Player.HasBuffOfType(BuffType.Stun)) || (Config.Item("Gangplank.UseWTaunt").GetValue <bool>() && Player.HasBuffOfType(BuffType.Taunt)) || (Config.Item("Gangplank.UseWPoison").GetValue <bool>() && Player.HasBuffOfType(BuffType.Poison))) { W.Cast(); } } if (W.IsReady() && Player.Mana >= WMANA + QMANA && Config.Item("Gangplank.UseWAuto").GetValue <bool>() && Player.HealthPercent <= Config.Item("Gangplank.UseWAutoHP").GetValue <Slider>().Value) { W.Cast(); } if (W.IsReady() && Player.Mana >= WMANA + QMANA && Config.Item("Gangplank.UseWAutoNoEnemy").GetValue <bool>() && Player.HealthPercent <= Config.Item("Gangplank.UseWAutoHPNoEnemy").GetValue <Slider>().Value&& Player.CountEnemiesInRange(1500) == 0) { W.Cast(); } if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo) { Combo(); } if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LaneClear) { LaneClear(); JungleClear(); } if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LastHit) { LastHit(); } if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Mixed) { LastHit(); } if (Config.Item("Gangplank.HarassActive").GetValue <KeyBind>().Active || Config.Item("Gangplank.HarassActiveT").GetValue <KeyBind>().Active) { Harass(); } }
public override void Harass(Obj_AI_Hero target) { base.Harass(target); if (HarassActivateWhenLeaving <= target.GetBuffCount("twitchdeadlyvenom") && target.Distance(ObjectManager.Player) > Orbwalking.GetRealAutoAttackRange(target)) Cast(); }
/// <summary> /// Calculates mastery passives /// </summary> /// <param name="source">The source.</param> /// <param name="target">The target.</param> /// <returns></returns> private static float PassiveFlatMod(Obj_AI_Hero source, Obj_AI_Base target) { float value = 0f; //Offensive masteries: //Fervor of Battle: STACKTIVATE Your basic attacks and spells give you stacks of Fervor for 5 seconds, stacking 10 times. Each stack of Fervor adds 1-8 bonus physical damage to your basic attacks against champions, based on your level. if (target.Type == GameObjectType.obj_AI_Hero) { Mastery Fervor = ObjectManager.Player.Masteries.FirstOrDefault(p => p.Page == MasteryPage.Ferocity && p.Id == (int)Ferocity.FervorofBattle); if (Fervor != null && Fervor.Points >= 1) value += (0.9f + source.Level * 0.42f) * source.GetBuffCount("MasteryOnHitDamageStacker"); } // Defensive masteries: //Tough Skin DIRT OFF YOUR SHOULDERS You take 2 less damage from champion and monster basic attacks if (target.Type == GameObjectType.obj_AI_Hero) { Mastery Toughskin = ObjectManager.Player.Masteries.FirstOrDefault(p => p.Page == MasteryPage.Resolve && p.Id == (int)Resolve.ToughSkin); if (Toughskin != null && Toughskin.Points >= 1) value -= 2; } return value; }