private static void Rdamage(EventArgs args) { var enemy = HeroManager.Enemies.Where(e => e.IsValidTarget(R1.Range)); if (Config.Item("optimize").GetValue <bool>()) { return; } foreach (var e in enemy) { if (e == null) { return; } else { var debuff = e.HasBuff("luxilluminatingfraulein"); float dmgr = R1.GetDamage(e); if (debuff) { dmgr += Lux.PassiveDMG(e); } var pos1 = Drawing.WorldToScreen(e.Position); if (Config.Item("draw.R.dmg").GetValue <bool>() && R1.IsReady()) { Drawing.DrawText(pos1.X - 50, pos1.Y + 30, System.Drawing.Color.Tomato, "[R] Damage = " + dmgr.ToString("#,#")); } } } var pos = Drawing.WorldToScreen(ObjectManager.Player.Position); if (Config.Item("draw.harass.indicator").GetValue <bool>()) { Drawing.DrawText(pos.X - 50, pos.Y + 35, System.Drawing.Color.AliceBlue, "AutoHarass:"); } if (Config.Item("autoharass").GetValue <KeyBind>().Active&& Config.Item("draw.harass.indicator").GetValue <bool>()) { Drawing.DrawText(pos.X + 43, pos.Y + 35, System.Drawing.Color.LawnGreen, "On"); } else if (Config.Item("draw.harass.indicator").GetValue <bool>()) { Drawing.DrawText(pos.X + 43, pos.Y + 35, System.Drawing.Color.Tomato, "Off"); } }
public static float CalcDamage(Obj_AI_Base target) { //Calculate Combo Damage var aa = player.GetAutoAttackDamage(target); var damage = aa; Ignite = player.GetSpellSlot("summonerdot"); if (Ignite.IsReady()) { damage += player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite); } if (Config.Item("combo.E").GetValue <bool>()) // edamage { if (E1.IsReady()) { damage += E1.GetDamage(target); } } if (target.HasBuff("luxilluminatingfraulein")) { damage += aa + player.CalcDamage(target, Damage.DamageType.Magical, 10 + (8 * player.Level) + 0.2 * player.FlatMagicDamageMod); } if (player.HasBuff("lichbane")) { damage += player.CalcDamage(target, Damage.DamageType.Magical, (player.BaseAttackDamage * 0.75) + ((player.BaseAbilityDamage + player.FlatMagicDamageMod) * 0.5)); } if (R1.IsReady()) // rdamage { damage += R1.GetDamage(target); } if (Q1.IsReady()) { damage += Q1.GetDamage(target); } return((float)damage); }
private void LogicQ() { var t = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical); if (t.IsValidTarget()) { var qDmg = Q.GetDamage(t); var rDmg = R1.GetDamage(t); if (qDmg > t.Health) { Q.Cast(t); } else if (rDmg + qDmg > t.Health && Player.Mana > RMANA + QMANA) { Program.CastSpell(Q, t); } else if (rDmg + 2 * qDmg > t.Health && Player.Mana > QMANA + RMANA * 2) { Program.CastSpell(Q, t); } else if (Program.Combo && ObjectManager.Player.Mana > RMANA + QMANA) { Program.CastSpell(Q, t); } else if (Program.Farm && ObjectManager.Player.Mana > RMANA + EMANA + WMANA + RMANA) { foreach (var enemy in Program.Enemies.Where(enemy => enemy.IsValidTarget(Q.Range) && Config.Item("harras" + enemy.ChampionName).GetValue <bool>())) { Program.CastSpell(Q, enemy); } } if ((Program.Combo || Program.Farm) && ObjectManager.Player.Mana > RMANA + WMANA + EMANA) { foreach (var enemy in Program.Enemies.Where(enemy => enemy.IsValidTarget(Q.Range) && !OktwCommon.CanMove(enemy))) { Q.Cast(enemy, true, true); } } } }
public static void SpellCastR(AIHeroClient target) { if (target == null) { return; } if (!target.IsValid) { return; } var rslider = Config.Item("combo.r.slider").GetValue <Slider>().Value; #region variables/floats //[R] Combo Sequences double qdmg = Q1.GetDamage(target); double edmg = E1.GetDamage(target); double rdmg = R1.GetDamage(target); double aa = Player.GetAutoAttackDamage(target); Ignite = player.GetSpellSlot("summonerdot"); var insideE = Lux_E != null && target.Distance(Lux_E.Position) < E1.Width; var thp = target.Health; var AArange = Orbwalking.GetRealAutoAttackRange(player); var debuff = target.HasBuff("luxilluminatingfraulein"); if (debuff) { rdmg += PassiveDMG(target); } if (debuff) { aa += PassiveDMG(target); } if (insideE) { rdmg += edmg; } var qcollision = Q1.GetCollision(player.Position.To2D(), new List <Vector2> { Q1.GetPrediction(target).CastPosition.To2D() }); var minioncol = qcollision.Where(x => (x is AIHeroClient) && x.IsEnemy).Count(); var qpred = Q1.GetPrediction(target).Hitchance >= HitChance.High; var epred = E1.GetPrediction(target).Hitchance >= HitChance.High; var rooted = target.HasBuff("LuxLightBindingMis"); if (target.Distance(player.Position) < rslider && !rooted) { return; } #endregion if (insideE && Lux_E != null) { return; } //Checks if Allies can kill the bitch if (AllyCheck(target, 600) >= 2 && target.Health < rdmg / 2) { return; } //Checks if an Ally can kill le bitch if (AllyCheck(target, 600) >= 1 && target.Health < rdmg / 2) { return; } if (rooted && insideE && rdmg + edmg > thp && target.IsValidTarget(R1.Range)) { SpellCast(target, R1.Range, R1, false, 1, false, PredR("prediction.R")); } if (E1.IsReady() && thp < edmg && target.IsValidTarget(E1.Range) && epred) { return; } if (Q1.IsReady() && thp < qdmg && target.IsValidTarget(Q1.Range) && minioncol <= 1 && qpred) { return; } if (insideE && thp < edmg) { return; } if (insideE && thp < edmg + aa && target.IsValidTarget(AArange)) { return; } if (thp < aa && target.IsValidTarget(AArange)) { return; } if (thp < edmg && E1.IsReady() && rooted && target.IsValidTarget(E1.Range)) { return; } if (Q1.IsReady() && !E1.IsReady() && thp < qdmg && target.IsValidTarget(Q1.Range) && minioncol <= 1 && qpred) { return; } if (E1.IsReady() && !Q1.IsReady() && thp < edmg && target.IsValidTarget(E1.Range) && epred) { return; } if (rooted && debuff && thp < aa && target.IsValidTarget(AArange)) { return; } if (Environment.TickCount - E1.LastCastAttemptT < 100 || Environment.TickCount - Q1.LastCastAttemptT < 800 && !rooted) { return; } if (rooted && insideE && thp < rdmg + edmg && target.IsValidTarget(R1.Range)) { SpellCast(target, R1.Range, R1, false, 1, false, PredR("prediction.R")); } if (rooted && E1.IsReady() && target.IsValidTarget(E1.Range) && thp < rdmg + edmg && target.IsValidTarget(R1.Range)) { SpellCast(target, R1.Range, R1, false, 1, false, PredR("prediction.R")); } if (rooted && debuff && thp < rdmg + aa && target.IsValidTarget(AArange)) { SpellCast(target, R1.Range, R1, false, 1, false, PredR("prediction.R")); } if (rooted && debuff && thp < rdmg && target.IsValidTarget(R1.Range)) { SpellCast(target, R1.Range, R1, false, 1, false, PredR("prediction.R")); } if (thp < rdmg) { SpellCast(target, R1.Range, R1, false, 1, false, PredR("prediction.R")); } }
public static void Routine() { var targetR = TargetSelector.GetTarget(R1.Range, TargetSelector.DamageType.Magical); var target = TargetSelector.GetTarget(Q1.Range, TargetSelector.DamageType.Magical); if (target == null || !target.IsValid || targetR == null || !targetR.IsValid) { return; } Ignite = player.GetSpellSlot("summonerdot"); //[R] Aoe Cast byte hitcount; hitcount = (byte)Config.Item("advanced.R.aoe.count").GetValue <Slider>().Value; if (Config.Item("advanced.R.aoe").GetValue <bool>() && R1.IsReady() && !E1.IsReady() && target.IsValidTarget(E1.Range + E1.Width)) { R1.CastIfWillHit(target, hitcount); } #region -- Variables/Floats etc. float qdmg = Q1.GetDamage(target); float edmg = E1.GetDamage(target); float rdmg = R1.GetDamage(target); float aa = (float)Player.GetAutoAttackDamage(target); var insideE = Lux_E != null && target.Distance(Lux_E.Position) <= E1.Width; var thp = target.Health; var AArange = Orbwalking.GetRealAutoAttackRange(player); var debuff = target.HasBuff("luxilluminatingfraulein"); if (debuff) { rdmg += PassiveDMG(target); } if (debuff) { aa += PassiveDMG(target); } if (insideE) { rdmg += edmg; } var rooted = target.HasBuff("LuxLightBindingMis"); #endregion if (insideE && thp < edmg && target.IsValidTarget(R1.Range)) { return; } if (rooted && insideE && rdmg + edmg > thp && target.IsValidTarget(R1.Range)) { SpellCastR(targetR); } #region -- Q spellcast var prediction = Q1.GetPrediction(target, true); var collision = Q1.GetCollision(Player.Position.To2D(), new List <Vector2> { prediction.UnitPosition.To2D() }); if (Config.Item("combo.Q").GetValue <bool>() && Environment.TickCount - E1.LastCastAttemptT > 400 && Environment.TickCount - R1.LastCastAttemptT > 800 && prediction.Hitchance >= PredQ("prediction.Q")) { if (collision.Count == 2) { if (collision[0].IsChampion() || collision[1].IsChampion()) { Q1.Cast(prediction.CastPosition); } } else if (collision.Count == 1 && collision[0].IsChampion()) { Q1.Cast(prediction.CastPosition); } else if (collision.Count <= 1) { Q1.Cast(prediction.CastPosition); } #endregion -- Q spellcast end if (rooted && thp < aa && target.IsValidTarget(AArange)) { return; } if (Config.Item("combo.E").GetValue <bool>() && Environment.TickCount - Q1.LastCastAttemptT > 875 && Environment.TickCount - R1.LastCastAttemptT > 800) { SpellCast(target, E1.Range, E1, false, 1, true, PredE("prediction.E")); } if (IgniteKillCheck() < thp && target.HasBuff("summonerdot")) { return; } if (Config.Item("combo.R").GetValue <bool>() && R1.IsReady()) { SpellCastR(targetR); } if (!target.IsValidTarget(600)) { return; } var ignitemenu = Config.Item("autospells.ignite").GetValue <bool>(); if (thp > IgniteDamage(target) && thp < IgniteDamage(target) + edmg + aa && rooted && E1.IsReady() && target.IsValidTarget(600) && Ignite.IsReady() && ignitemenu) { player.Spellbook.CastSpell(Ignite, target); Printchat("Ignite casted"); } if (thp < IgniteDamage(target) + rdmg + aa && rooted && Ignite.IsReady() && R1.IsReady() && ignitemenu) { player.Spellbook.CastSpell(Ignite, target); Printchat("Ignite casted"); } if (thp < IgniteDamage(target) + rdmg + aa && Ignite.IsReady() && R1.IsReady() && ignitemenu) { player.Spellbook.CastSpell(Ignite, target); Printchat("Ignite casted"); } if (thp < IgniteDamage(target) && target.IsValidTarget(600) && AllyCheck(target, 600) < 1 && Ignite.IsReady() && ignitemenu) { player.Spellbook.CastSpell(Ignite, target); Printchat("Ignite casted"); } } }
private static void checkKS() { if (!Config.Item("useKS").GetValue <bool>()) { return; } if (R1.IsReady()) { var bigMiss = isBigMissle(); List <AIHeroClient> targets = ObjectManager.Get <AIHeroClient>().Where(x => x.IsEnemy && x.IsValidTarget(bigMiss ? R2.Range : R1.Range) && !x.IsZombie && !x.HasBuffOfType(BuffType.Invulnerability) && R1.CanCast(x) && R1.GetDamage(x) * (bigMiss ? 1.5f : 1f) >= x.Health).ToList(); foreach (var target in targets) { if (bigMiss) { R2.Cast(target, false, true); } else { R1.Cast(target, false, true); } } } }
private static void laneClear() { var Qmana = Config.Item("ManaFarmQ").GetValue <Slider>().Value; var Emana = Config.Item("ManaFarmE").GetValue <Slider>().Value; var Rmana = Config.Item("ManaFarmR").GetValue <Slider>().Value; var useQ = Config.Item("QLC").GetValue <bool>(); var useE = Config.Item("ELC").GetValue <bool>(); var useR = Config.Item("RLC").GetValue <bool>(); var useR2 = Config.Item("BigRClear").GetValue <bool>(); //var miniR = Config.Item("miniClear").GetValue<bool>(); var Qcount = Config.Item("QFarmCount").GetValue <Slider>().Value; var Ecount = Config.Item("EFarmCount").GetValue <Slider>().Value; var Rcount = Config.Item("RFarmCount").GetValue <Slider>().Value; var MisCount = Config.Item("RMisCount").GetValue <Slider>().Value; var Ammo = Player.Spellbook.GetSpell(SpellSlot.R).Ammo; var BigMissile = isBigMissle(); var harrassinclear = Config.Item("HarInClear").GetValue <bool>(); var missiles = Config.Item("AutoRMisCount").GetValue <Slider>().Value; var useQHar = Config.Item("QHar").GetValue <bool>(); var useEHar = Config.Item("EHar").GetValue <bool>(); var useRHar = Config.Item("RHar").GetValue <bool>(); var useQHarMana = Config.Item("QHarMana").GetValue <Slider>().Value; var useRHarMana = Config.Item("RHarMana").GetValue <Slider>().Value; if (_Ob.ActiveMode == Orbwalking.OrbwalkingMode.LaneClear && !Orbwalking.CanAttack() && R1.IsReady() && useR && Player.ManaPercentage() > Rmana) { if (BigMissile) { return; } if (Ammo > MisCount) { List <Obj_AI_Base> killableMinions = MinionManager.GetMinions(R1.Range, MinionTypes.All).Where(x => x.Health <= Player.GetAutoAttackDamage(x)).ToList(); if (killableMinions.Count >= 2) { var farthestMinion = killableMinions.OrderBy(x => x.Distance(Player.Position)).First(); if (R1.GetDamage(farthestMinion) >= farthestMinion.Health) { R1.Cast(farthestMinion); } } } } if (Q.IsReady() && useQ && Player.ManaPercentage() > Qmana) { List <Obj_AI_Base> QMinionsRange = MinionManager.GetMinions(Player.ServerPosition, Q.Range, MinionTypes.All, MinionTeam.NotAlly); List <int> qRangeCount = new List <int>(); foreach (var minion in QMinionsRange) { List <Obj_AI_Base> qMinions = MinionManager.GetMinions(minion.Position, Q.Width, MinionTypes.All, MinionTeam.NotAlly); qRangeCount.Add(qMinions.Count()); } if (qRangeCount.Max() >= Qcount) { Q.Cast(QMinionsRange[qRangeCount.IndexOf(qRangeCount.Max())]); } } if (E.IsReady() && useE && Player.ManaPercentage() > Emana) { List <Obj_AI_Base> EMinions = MinionManager.GetMinions(Player.ServerPosition, E.Range, MinionTypes.All, MinionTeam.NotAlly); if (EMinions.Count >= Ecount) { E.Cast(EMinions[0]); } } if (BigMissile ? R2.IsReady() : R1.IsReady() && useR && (Ammo > MisCount) && Player.ManaPercentage() > Rmana) { if (BigMissile && !useR2) { return; } List <Obj_AI_Base> RMinionsRange = MinionManager.GetMinions(Player.ServerPosition, (BigMissile ? R2.Range : R1.Range), MinionTypes.All, MinionTeam.NotAlly); List <int> rRangeCount = new List <int>(); foreach (var minion in RMinionsRange) { List <Obj_AI_Base> rMinions = MinionManager.GetMinions(minion.Position, BigMissile ? 300f : 200f, MinionTypes.All, MinionTeam.NotAlly); rRangeCount.Add(rMinions.Count()); } if (rRangeCount.Max() >= Rcount) { if (BigMissile) { R2.Cast(RMinionsRange[rRangeCount.IndexOf(rRangeCount.Max())], false, true); } else { R1.Cast(RMinionsRange[rRangeCount.IndexOf(rRangeCount.Max())], false, true); } } } if (Q.IsReady() && harrassinclear && useQHar && Player.ManaPercentage() >= useQHarMana) { if (Player.ServerPosition.UnderTurret(true)) { return; } var t = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical); if (t == null) { return; } Q.CastIfHitchanceEquals(t, HitChance.VeryHigh); } if (BigMissile ? R2.IsReady() : R1.IsReady() && harrassinclear && useRHar && Player.Spellbook.GetSpell(SpellSlot.R).Ammo >= missiles && Player.ManaPercentage() >= useRHarMana) { if (Player.ServerPosition.UnderTurret(true)) { return; } var t = TargetSelector.GetTarget(BigMissile ? R2.Range : R1.Range, TargetSelector.DamageType.Magical); if (t == null) { return; } if (!BigMissile) { R1.CastIfHitchanceEquals(t, HitChance.VeryHigh); } else { R2.CastIfHitchanceEquals(t, HitChance.VeryHigh); } } }