static void Game_OnUpdate(EventArgs args) { if (Player.IsDead) { return; } if (Orbwalking.CanMove(35)) { AIO_Func.FleeToPosition(Q); AIO_Func.SC(Q, QD); if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo || Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Mixed) { foreach (var target in HeroManager.Enemies.Where(x => x.HasBuff("sejuanifrost"))) { if (target.Distance(Player.ServerPosition) <= E.Range && E.IsReady() && target != null) { AIO_Func.SC(E); } } } if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LaneClear) { var EMinion = MinionManager.GetMinions(E.Range, MinionTypes.All, MinionTeam.NotAlly, MinionOrderTypes.MaxHealth).Where(x => x.HasBuff("sejuanifrost")); foreach (var target in EMinion) { if (target.Distance(Player.ServerPosition) <= E.Range && E.IsReady() && target != null && EMinion.Count() > 3) { AIO_Func.SC(E); } } } if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo && AIO_Menu.Champion.Combo.UseR) { foreach (var target in HeroManager.Enemies.Where(x => AIO_Func.ECTarget(x, 600f) >= RM && x.Distance(Player.ServerPosition) > 300f).OrderByDescending(x => x.Health)) { if (R.CanCast(target) && AIO_Func.isKillable(target, R) && target != null) { AIO_Func.LCast(R, target, QD); } } } } #region Killsteal if (AIO_Menu.Champion.Misc.getBoolValue("KillstealQ")) { KillstealQ(); } if (AIO_Menu.Champion.Misc.getBoolValue("KillstealR")) { KillstealR(); } #endregion #region AfterAttack AIO_Func.AASkill(W); if (AIO_Func.AfterAttack()) { AA(); } #endregion }
static void KillstealW() { foreach (var target in HeroManager.Enemies.OrderByDescending(x => x.Health)) { if (W.IsReady() && target != null) { var Buff = (target.HasBuff2("tristanaechargesound") ? AIO_Func.getBuffInstance(target, "tristanaecharge") : null); var BC = Buff == null ? 0 : Buff.Count; bool EK = (target.HasBuff2("tristanaechargesound") && (float)BC > 0 && AIO_Func.isKillable(target, E.GetDamage2(target) * (((float)BC - 1) * 0.30f + 1f)) || !target.HasBuff2("tristanaechargesound")); if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo && Buff != null && !EK && W.CanCast(target) && R.IsReady() && AIO_Menu.Champion.Misc.getBoolValue("KillstealR") && target.HasBuff2("tristanaechargesound") && (AIO_Func.getBuffInstance(target, "tristanaechargesound").EndTime - Game.ClockTime) > 0.6 && (float)BC > 0 && AIO_Func.isKillable(target, R.GetDamage2(target) + W.GetDamage2(target) * (((float)BC - 1) * 0.25f + 1f) + E.GetDamage2(target) * (((float)BC - 1) * 0.25f + 1f) + (float)Player.GetAutoAttackDamage2(target, true))) { AIO_Func.CCast(W, target); } if (W.CanCast(target) && target.HasBuff2("tristanaechargesound") && (AIO_Func.getBuffInstance(target, "tristanaechargesound").EndTime - Game.ClockTime) > 0.6 && Buff != null && !EK && (float)BC > 0 && AIO_Func.isKillable(target, W.GetDamage2(target) * (((float)BC - 1) * 0.25f + 1f) + E.GetDamage2(target) * (((float)BC - 1) * 0.30f + 1f) + (float)Player.GetAutoAttackDamage2(target, true))) { AIO_Func.CCast(W, target); } else if (W.CanCast(target) && !EK && AIO_Func.isKillable(target, W.GetDamage2(target) + (float)Player.GetAutoAttackDamage2(target, true))) { AIO_Func.CCast(W, target); } } } }
static void Game_OnUpdate(EventArgs args) { if (Player.IsDead) { return; } E.Range = Orbwalking.GetRealAutoAttackRange(Player); R.Range = Orbwalking.GetRealAutoAttackRange(Player); if (Orbwalking.CanMove(10)) { AIO_Func.SC(E); //평타-e말고 그냥 e } AIO_Func.FleeToPosition(W); foreach (var target in HeroManager.Enemies.Where(x => AIO_Func.CanHit(W, x, 0) && x.HasBuff2("tristanaecharge") && (AIO_Func.getBuffInstance(x, "tristanaechargesound").EndTime - Game.ClockTime) > 0.59 && ((float)AIO_Func.getBuffInstance(x, "tristanaecharge").Count == 3 && (AIO_Func.getBuffInstance(x, "tristanaechargesound").EndTime - Game.ClockTime) < 0.8 || (float)AIO_Func.getBuffInstance(x, "tristanaecharge").Count == 4))) { if (target != null && W.IsReady()) { AIO_Func.SC(W); } } if (AIO_Menu.Champion.Misc.getBoolValue("KillstealW")) { KillstealW(); } if (AIO_Menu.Champion.Misc.getBoolValue("KillstealE")) { KillstealE(); } if (AIO_Menu.Champion.Misc.getBoolValue("KillstealR")) { KillstealR(); } }
static void Game_OnUpdate(EventArgs args) { if (Player.IsDead) { return; } if (Orbwalking.CanMove(35)) { AIO_Func.SC(Q); AIO_Func.Heal(W); if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Flee && AIO_Menu.Champion.Flee.UseE && AIO_Func.getManaPercent(Player) > AIO_Menu.Champion.Flee.IfMana && E.IsReady()) { E.Cast(); } if (AIO_Func.EnemyCount(R.Range - 10) >= RM && R.IsReady() && AIO_Menu.Champion.Combo.UseR) { foreach (var target in HeroManager.Enemies.OrderByDescending(x => x.Health)) { if (R.CanCast(target)) { R.CastIfWillHit(target, RM); } } } if (AIO_Func.EnemyCount(600) == 0 && AIO_Func.EnemyCount(1500) >= 1 && E.IsReady() && AIO_Menu.Champion.Combo.UseE && Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo) { E.Cast(); } } #region Killsteal if (AIO_Menu.Champion.Misc.getBoolValue("KillstealQ")) { KillstealQ(); } if (AIO_Menu.Champion.Misc.getBoolValue("KillstealR")) { KillstealR(); } #endregion }
static void Combo() { if (AIO_Menu.Champion.Combo.UseW && W.IsReady()) { var Wtarget = TargetSelector.GetTarget(W.Range, W.DamageType); AIO_Func.CCast(W, Wtarget); } if (AIO_Menu.Champion.Combo.UseE && E.IsReady()) { var Etarget = TargetSelector.GetTarget(E.Range, E.DamageType); AIO_Func.CCast(E, Etarget); } if (AIO_Menu.Champion.Combo.UseR && R.IsReady()) { var Rtarget = TargetSelector.GetTarget(R.Range, R.DamageType); if (AIO_Func.isKillable(Rtarget, R.GetDamage2(Rtarget) - Rtarget.HPRegenRate) || AIO_Func.getHealthPercent(Player) < 50) { R.Cast(Rtarget); } } }
static void AutoR() { if (HeroManager.Allies.Where(x => x.HealthPercent < 40 && AIO_Func.ECTarget(x, 1000f) > 0).Count() > 1 || Player.HealthPercent < 40 && AIO_Func.ECTarget(Player, 1000f) > 0) { if (R.IsReady()) { R.Cast(); } } }
static void AA() { var Target = TargetSelector.GetTarget(Orbwalking.GetRealAutoAttackRange(Player), E.DamageType); AIO_Func.AACb(Q); AIO_Func.AACb(E); if ((Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo && AIO_Menu.Champion.Combo.UseR || Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Mixed && AIO_Menu.Champion.Harass.UseR && AIO_Func.getManaPercent(Player) > AIO_Menu.Champion.Harass.IfMana) && R.IsReady() && Target.Health + Target.HPRegenRate <= R.GetDamage2(Target) + (float)Player.GetAutoAttackDamage2(Target, true)) { // 평-R-평 => Kill R.Cast(Target); } }
static void Laneclear() { if (!(Player.ManaPercent > AIO_Menu.Champion.Laneclear.IfMana)) { return; } var Minions = MinionManager.GetMinions(Q2.Range, MinionTypes.All, MinionTeam.Enemy); if (Minions.Count <= 0) { return; } if (AIO_Menu.Champion.Laneclear.UseQ && Q.IsReady()) { var Q2t = MinionManager.GetMinions(Q2.Range, MinionTypes.All, MinionTeam.Enemy, MinionOrderTypes.MaxHealth).FirstOrDefault(x => x.HasBuff2("urgotcorrosivedebuff")); if (Q2t != null) { Q2.Cast(Q2t); } else { var qTarget = MinionManager.GetMinions(Q.Range, MinionTypes.All, MinionTeam.Enemy, MinionOrderTypes.MaxHealth).FirstOrDefault(x => AIO_Func.isKillable(x, Q, 0) && AIO_Func.PredHealth(x, Q) > 0); if (qTarget != null && Q.GetPrediction(qTarget).Hitchance >= AIO_Menu.Champion.Misc.SelectedHitchance) { Q.Cast(qTarget); } } } }
static void AA() { AIO_Func.AACb(Q); // AIO_Func 참고.. 딱히 길게 할 필요 없을것 같아서 짧게 줄였습니다. }
static void Game_OnUpdate(EventArgs args) { if (Player.IsDead) { return; } if (3 == R.Level) { R.Range = 750f; } if (3 == E.Level) { E.Width = 60f * (float)Math.PI / 180 * 1.5f; } if (Orbwalking.CanMove(35)) { switch (Orbwalker.ActiveMode) { case Orbwalking.OrbwalkingMode.Combo: Orbwalker.SetAttack(true); Combo(); break; case Orbwalking.OrbwalkingMode.Mixed: Orbwalker.SetAttack(true); Harass(); break; case Orbwalking.OrbwalkingMode.LastHit: Orbwalker.SetAttack(AIO_Func.getManaPercent(Player) <= AIO_Menu.Champion.Lasthit.IfMana || !AIO_Menu.Champion.Lasthit.UseQ || !Q.IsReady()); Lasthit(); break; case Orbwalking.OrbwalkingMode.LaneClear: Orbwalker.SetAttack(true); Laneclear(); Jungleclear(); break; case Orbwalking.OrbwalkingMode.None: Orbwalker.SetAttack(true); break; } } if (AIO_Menu.Champion.Misc.getBoolValue("KillstealQ")) { KillstealQ(); } if (AIO_Menu.Champion.Misc.getBoolValue("KillstealW")) { KillstealW(); } if (AIO_Menu.Champion.Misc.getBoolValue("KillstealR")) { KillstealR(); } if (AIO_Menu.Champion.Misc.getBoolValue("KillstealE")) { KillstealE(); } }
static void Laneclear() { var Minions = MinionManager.GetMinions(1000, MinionTypes.All, MinionTeam.Enemy); if (Minions.Count <= 0) { return; } if (AIO_Menu.Champion.Laneclear.UseQ && Q.IsReady()) { var qTarget = Minions.FirstOrDefault(x => x.IsValidTarget(Q.Range) && AIO_Func.isKillable(x, Q, 1)); if (qTarget != null) { Q.Cast(qTarget); } } if (AIO_Menu.Champion.Laneclear.UseE && E.IsReady()) { if (Minions.Count(x => x.IsValidTarget(E.Range)) >= 2) { E.Cast(); } } }
static void Combo() { if (AIO_Menu.Champion.Combo.UseQ && Q.IsReady()) { var Qtarget = TargetSelector.GetTarget(Q.Range, Q.DamageType); AIO_Func.CCast(Q, Qtarget); } if (AIO_Menu.Champion.Combo.UseE && E.IsReady()) { var Etarget = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Magical); AIO_Func.LCast(E, Etarget, ED, float.MaxValue); } if (AIO_Menu.Champion.Combo.UseW && W.IsReady() && (Q.IsReady() || E.IsReady())) { var Wtarget = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Magical); AIO_Func.CCast(W, Wtarget); } if (AIO_Menu.Champion.Combo.UseR && R.IsReady()) { var Rtarget = TargetSelector.GetTarget(R.Range, TargetSelector.DamageType.Magical); var rt = Menu.Item("Combo.Rt").GetValue <Slider>().Value; if (AIO_Func.getHealthPercent(Player) < 50 && AIO_Func.isKillable(Rtarget, getComboDamage(Rtarget) * 2 / 3) || AIO_Func.ECTarget(Rtarget, R.Width, 0, 100) >= rt) { AIO_Func.CCast(R, Rtarget); } } }
static void Drawing_OnDraw(EventArgs args) { if (Player.IsDead) { return; } var drawW = AIO_Menu.Champion.Drawings.Wrange; var drawE = AIO_Menu.Champion.Drawings.Erange; if (W.IsReady() && drawW.Active) { Render.Circle.DrawCircle(Player.Position, W.Range, drawW.Color); } if (E.IsReady() && drawW.Active) { Render.Circle.DrawCircle(Player.Position, E.Range, drawW.Color); } if (AIO_Menu.Champion.Drawings.getBoolValue("Stealth Timer")) { var buff = AIO_Func.getBuffInstance(Player, "TwitchHideInShadows"); var mypos = Drawing.WorldToScreen(Player.Position); if (buff != null) { Drawing.DrawText(mypos[0] - 10, mypos[1], Color.SpringGreen, (buff.EndTime - Game.ClockTime).ToString("0.00")); } } if (AIO_Menu.Champion.Misc.getKeyBIndValue("Stealth Recall").Active) { var mypos = Drawing.WorldToScreen(Player.Position); if (Q.IsReady() && Recall.IsReady()) { Drawing.DrawText(mypos[0] - 60, mypos[1] - 50, Color.SpringGreen, "Try Stealth recall"); } else if (Player.HasBuff("TwitchHideInShadows") && Player.HasBuff("Recall")) { Drawing.DrawText(mypos[0] - 60, mypos[1] - 50, Color.SpringGreen, "Stealth Recall Activated"); } else if (!Player.HasBuff("recall")) { Drawing.DrawText(mypos[0] - 60, mypos[1] - 50, Color.SpringGreen, "Q is not ready"); } } if (AIO_Menu.Champion.Drawings.getBoolValue("R Pierce Line")) { if (Player.HasBuff("TwitchFullAutomatic", true)) { var aatarget = TargetSelector.GetTarget(Orbwalking.GetRealAutoAttackRange(Player), TargetSelector.DamageType.Physical); if (aatarget != null) { var from = Drawing.WorldToScreen(Player.Position); var dis = (Orbwalking.GetRealAutoAttackRange(Player) + 300) - Player.Distance(aatarget, false); var to = Drawing.WorldToScreen(dis > 0 ? aatarget.ServerPosition.Extend(Player.Position, -dis) : aatarget.ServerPosition); Drawing.DrawLine(from[0], from[1], to[0], to[1], 10, Color.FromArgb(100, 71, 200, 62)); } } } if (AIO_Menu.Champion.Drawings.getBoolValue("R Timer")) { var buff = AIO_Func.getBuffInstance(Player, "TwitchFullAutomatic"); var mypos = Drawing.WorldToScreen(Player.Position); if (buff != null) { Drawing.DrawText(mypos[0] - 10, mypos[1], Color.SpringGreen, (buff.EndTime - Game.ClockTime).ToString("0.00")); } } }
static void Game_OnUpdate(EventArgs args) { if (Player.IsDead) { return; } R.Range = 1250f + R.Level * 750f; if (Orbwalking.CanMove(35)) { AIO_Func.SC(Q, QD); if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo) { foreach (var target in HeroManager.Enemies.Where(x => !x.IsDead && AIO_Func.ECTarget(x, 900, 60, 100) <= 1 && AIO_Func.isKillable(x, getComboDamage(x) * 2))) { if (target.Distance(Player.ServerPosition) <= R.Range && R.IsReady() && target != null && AIO_Menu.Champion.Combo.UseR) { if (Player.HasBuff("NocturnPeranoia")) { R.Cast(target); } else { R.Cast(); } } } } AIO_Func.SC(E); } #region Killsteal if (AIO_Menu.Champion.Misc.getBoolValue("KillstealQ")) { KillstealQ(); } if (AIO_Menu.Champion.Misc.getBoolValue("KillstealR")) { KillstealR(); } #endregion }
static void KillstealR() { foreach (var target in HeroManager.Enemies.OrderByDescending(x => x.Health)) { if (R.CanCast(target) && Player.Distance(target.Position) > Orbwalking.GetRealAutoAttackRange(Player) * 3 / 2 && AIO_Func.isKillable(target, R)) { R.Cast(target); } } }
static void Killsteal() { if (!E.IsReady()) { return; } var target = HeroManager.Enemies.FirstOrDefault(x => !x.HasBuffOfType(BuffType.Invulnerability) && !x.HasBuffOfType(BuffType.SpellShield) && x.IsValidTarget(E.Range) && AIO_Func.isKillable(x, E)); if (target != null) { E.Cast(); } }
static void AA() // 챔피언 대상 평캔 ( 빼낸 이유는 AA방식 두개로 할시 두번 적어야 해서 단순화하기 위함. { AIO_Func.AACb(Q); AIO_Func.AACb(W); }
static void Game_OnUpdate(EventArgs args) { if (Player.IsDead) { return; } if (Orbwalking.CanMove(10)) { if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo) { Combo(); Orbwalker.SetAttack(!stunisReady); } else { Orbwalker.SetAttack(true); } if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Mixed) { Harass(); } if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LaneClear) { Laneclear(); Jungleclear(); } } #region AutoStunCharge if (Menu.Item("miscAutoCharge", true).GetValue <bool>() && !stunisReady && !Player.IsRecalling()) { if (Player.InFountain()) { if (W.IsReady()) { W.Cast(Game.CursorPos); } if (E.IsReady()) { E.Cast(); } } else { if (AIO_Func.getManaPercent(Player) >= 90) { W.Cast(Game.CursorPos); } else { E.Cast(); } } } #endregion #region Call Killsteal if (Menu.Item("miscKs", true).GetValue <bool>()) { Killsteal(); } #endregion }
static void Game_OnUpdate(EventArgs args) { if (Player.IsDead) { return; } Q.MinHitChance = AIO_Menu.Champion.Misc.SelectedHitchance; if (Orbwalking.CanMove(100)) { switch (Orbwalker.ActiveMode) { case Orbwalking.OrbwalkingMode.Combo: Combo(); break; case Orbwalking.OrbwalkingMode.Mixed: Harass(); break; case Orbwalking.OrbwalkingMode.LastHit: Lasthit(); break; case Orbwalking.OrbwalkingMode.LaneClear: Laneclear(); Jungleclear(); break; case Orbwalking.OrbwalkingMode.None: break; } } #region Ping Notify on R killable enemies if (R.IsReady() && AIO_Menu.Champion.Misc.getBoolValue("Ping Notify on R killable enemies (local/client side)")) { if (LastPingTime + 333 < Utils.GameTimeTickCount) { foreach (var target in HeroManager.Enemies.Where(x => x.IsValidTarget() && AIO_Func.isKillable(x, R))) { Game.ShowPing(PingCategory.Normal, target.Position, true); } LastPingTime = Utils.GameTimeTickCount; } } #endregion }
static void Combo() { if (AIO_Menu.Champion.Combo.UseQ && Q.IsReady()) { var QD = Menu.Item("ComboQD", true).GetValue <Slider>().Value; var qTarget = TargetSelector.GetTarget(Q.Range, Q.DamageType, true); if (qTarget.Distance(Player.Position) > QD) { Q.Cast(qTarget); } } if (AIO_Menu.Champion.Combo.UseE && E.IsReady()) { var eTarget = TargetSelector.GetTarget(E.Range, E.DamageType, true); if (eTarget != null && !Player.IsDashing()) { E.Cast(eTarget); } } if (AIO_Menu.Champion.Combo.UseR && R.IsReady() && (AIO_Func.EnemyCount(1000, 10, 100) >= 2 || AIO_Func.EnemyCount(1000, 10, 100) == 1 && AIO_Func.getHealthPercent(Player) < 50)) { R.Cast(); } }
static void KillstealR() { foreach (var target in HeroManager.Enemies.OrderByDescending(x => x.Health)) { if (R.IsReady() && target != null) { var Buff = (target.HasBuff("tristanaechargesound") ? AIO_Func.getBuffInstance(target, "tristanaecharge") : null); bool EK = (target.HasBuff("tristanaechargesound") && (float)Buff.Count > 0 && AIO_Func.isKillable(target, E.GetDamage2(target) * (((float)Buff.Count - 1) * 0.30f + 1f)) || !target.HasBuff("tristanaechargesound")); if (R.CanCast(target) && Buff != null && (float)Buff.Count > 0 && target.HasBuff("tristanaechargesound") && (AIO_Func.getBuffInstance(target, "tristanaechargesound").EndTime - Game.ClockTime) > 0.3 && AIO_Func.isKillable(target, R.GetDamage2(target) + E.GetDamage2(target) * (((float)Buff.Count - 1) * 0.30f + 1f)) && !EK) { R.Cast(target); } else if (R.CanCast(target) && AIO_Func.isKillable(target, R) && !EK) { R.Cast(target); } } } }
static void Combo() { if (AIO_Menu.Champion.Combo.UseQ && Q.IsReady()) { var qd = Menu.Item("Combo.QD").GetValue <Slider>().Value; var qTarget = TargetSelector.GetTarget(Q.Range, Q.DamageType); var Q2T = TargetSelector.GetTarget(Q.Range * 2, Q.DamageType); var QM = (Q2T != null ? MinionManager.GetMinions(Q2T.ServerPosition, 550f, MinionTypes.All, MinionTeam.NotAlly).FirstOrDefault(x => x.Distance(Player.ServerPosition) <= Q.Range && x.Distance(Player.ServerPosition) >= Q.Range - 150f) : null); if (qTarget != null && (qTarget.Distance(Player.ServerPosition) >= qd || getQBuffDuration < 1)) { Q.Cast(qTarget); } if (!Player.HasBuff2("fioraqcd") && Q2T != null && QM != null && Q2T.HealthPercent < Player.HealthPercent - 10 && AIO_Func.ECTarget(Q2T, 600f, Player.HealthPercent - 9) == 0) { Q.Cast(QM); } } }
internal static float pastTime = 0; //버프 체크시 랙 덜걸리도록.. internal static void Game_OnUpdate(EventArgs args) { if (Player.IsDead) { return; } if (!Player.IsRecalling() && !Player.InFountain()) { if (Menu.Item("AutoPotion.Use Health Potion").GetValue <bool>()) { if (AIO_Func.getHealthPercent(Player) <= Menu.Item("AutoPotion.ifHealthPercent").GetValue <Slider>().Value) { var healthSlot = GetPotionSlot(PotionType.Health); if (!IsBuffActive(PotionType.Health) && healthSlot != null) { Player.Spellbook.CastSpell(healthSlot.SpellSlot); } } } if (Menu.Item("AutoPotion.Use Mana Potion").GetValue <bool>()) { if (AIO_Func.getManaPercent(Player) <= Menu.Item("AutoPotion.ifManaPercent").GetValue <Slider>().Value) { var manaSlot = GetPotionSlot(PotionType.Mana); if (!IsBuffActive(PotionType.Mana) && manaSlot != null) { Player.Spellbook.CastSpell(manaSlot.SpellSlot); } } } } if (Menu.Item("Misc.BF").GetValue <bool>() && Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo) // 개발 편의를 위해 추가한 버프 체크기. { if (Environment.TickCount - pastTime > 500) //랙 줄이려고 추가함 { pastTime = Environment.TickCount; } if (Environment.TickCount - pastTime > 499) { var Target = TargetSelector.GetTarget(1000, TargetSelector.DamageType.Physical); if (Target == null) { foreach (var buff in Player.Buffs) { AIO_Func.sendDebugMsg("PLAYER : " + buff.Name); } } else { foreach (var buff in Player.Buffs) { AIO_Func.sendDebugMsg("PLAYER : " + buff.Name); } foreach (var buff in Target.Buffs) { AIO_Func.sendDebugMsg("TARGET : " + buff.Name); } } } } #region RS if (Menu.Item("OnAttack.RS").GetValue <bool>()) { OnAttack.setRSmiteSlot(); //Red Smite } #endregion #region BS if (Menu.Item("Killsteal.BS").GetValue <bool>()) { Killsteal.setBSmiteSlot(); var ts = ObjectManager.Get <Obj_AI_Hero>().Where(f => !f.IsAlly && !f.IsDead && Player.Distance(f, false) <= Killsteal.smrange); if (ts == null) { return; } float dmg = Killsteal.BSDamage(); foreach (var t in ts) { if (AIO_Func.isKillable(t, dmg)) { if (Killsteal.smiteSlot.IsReady() && Killsteal.BS.Slot == Killsteal.smiteSlot) { Player.Spellbook.CastSpell(Killsteal.smiteSlot, t); } else { return; } } } } #endregion #region AA if (AIO_Func.AfterAttack() && AfterAttack.AIO) { var target = TargetSelector.GetTarget(Orbwalking.GetRealAutoAttackRange(Player) + 50, TargetSelector.DamageType.Physical, true); var itemone = AfterAttack.itemsList.FirstOrDefault(x => Items.CanUseItem((int)x.Id) && target.IsValidTarget(x.Range) && Menu.Item("AfterAttack.Use " + x.Id.ToString()).GetValue <bool>()); if (Menu.Item("Misc.Cb").GetValue <bool>() && Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo || Menu.Item("Misc.Hr").GetValue <bool>() && Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Mixed) { if (Menu.Item("AfterAttack.SF").GetValue <bool>()) { if (AfterAttack.SkillCasted) { if (itemone.isTargeted) { Items.UseItem(itemone.Id, (Obj_AI_Hero)target); } else { Items.UseItem(itemone.Id); } } } else { if (itemone.isTargeted) { Items.UseItem(itemone.Id, (Obj_AI_Hero)target); } else { Items.UseItem(itemone.Id); } } } } #endregion }
static void KillstealR() { foreach (var target in HeroManager.Enemies.OrderByDescending(x => x.Health)) { if (!Q.IsReady() && target.Distance(Player.ServerPosition) > R.Range - 100f && R.CanCast(target) && AIO_Func.ECTarget(target, 800f) == 1 && AIO_Func.isKillable(target, R.GetDamage2(target) + (float)Player.GetAutoAttackDamage2(target, true))) { if (AIO_Menu.Champion.Combo.getBoolValue("R Usage For Solo Target")) { R.Cast(target); } } if (R.CanCast(target) && AIO_Func.ECTarget(target, 800f) >= 2 && AIO_Func.isKillable(target, R.GetDamage2(target, 3))) { R.Cast(target); } } }
static void Drawing_OnDraw(EventArgs args) { if (Player.IsDead) { return; } var drawW = AIO_Menu.Champion.Drawings.Wrange; var drawQTimer = AIO_Menu.Champion.Drawings.getCircleValue("Q Timer"); var drawETimer = AIO_Menu.Champion.Drawings.getCircleValue("E Timer"); var pos_temp = Drawing.WorldToScreen(Player.Position); if (W.IsReady() && drawW.Active) { Render.Circle.DrawCircle(Player.Position, W.Range, drawW.Color); } if (drawQTimer.Active && getQBuffDuration > 0) { Drawing.DrawText(pos_temp[0], pos_temp[1], drawQTimer.Color, "Q: " + getQBuffDuration.ToString("0.00")); } foreach (var target in HeroManager.Enemies.Where(x => x.HasBuff2("tristanaechargesound"))) { if (target != null) { float getENuffDuration = (target.HasBuff2("tristanaechargesound") ? AIO_Func.getBuffInstance(target, "tristanaechargesound").EndTime - Game.ClockTime : 0); var pos_temp2 = Drawing.WorldToScreen(target.Position); if (drawETimer.Active && getENuffDuration > 0) { Drawing.DrawText(pos_temp2[0], pos_temp2[1], drawETimer.Color, "E Bomb!! : " + getENuffDuration.ToString("0.00")); } } } }
static float getComboDamage(Obj_AI_Base enemy) { float damage = 0; var Target = enemy as Obj_AI_Hero; if (Q.IsReady() && !Player.HasBuff2("fioraqcd")) { damage += Q.GetDamage2(enemy) * 2; } else if (Q.IsReady() && Player.HasBuff2("fioraqcd")) { damage += Q.GetDamage2(enemy); } if (W.IsReady()) { damage += W.GetDamage2(enemy); } if (E.IsReady()) { damage += (float)Player.GetAutoAttackDamage2(enemy, true) * 2; } if (R.IsReady() && AIO_Menu.Champion.Misc.getBoolValue("KillstealR") && AIO_Func.ECTarget(Target, 800f) == 1) { damage += R.GetDamage2(enemy); } else if (R.IsReady() && AIO_Menu.Champion.Misc.getBoolValue("KillstealR") && AIO_Func.ECTarget(Target, 800f) > 1) { damage += R.GetDamage2(enemy, 3); } if (!Player.IsWindingUp) { damage += (float)Player.GetAutoAttackDamage2(enemy, true); } return(damage); }
static void KillstealR() { foreach (var target in HeroManager.Enemies.OrderByDescending(x => x.Health)) { if (R.IsReady() && target != null) { var Buff = (target.HasBuff2("tristanaechargesound") ? AIO_Func.getBuffInstance(target, "tristanaecharge") : null); var BC = Buff == null ? 0 : Buff.Count; bool EK = (target.HasBuff2("tristanaechargesound") && (float)BC > 0 && AIO_Func.isKillable(target, E.GetDamage2(target) * (((float)BC - 1) * 0.30f + 1f)) || !target.HasBuff2("tristanaechargesound")); if ((AIO_Menu.Champion.Misc.getBoolValue("KillstealW") ? (!AIO_Func.CanHit(W, target, 0) || !W.IsReady()) : R.IsReady()) && R.CanCast(target) && Buff != null && (float)BC > 0 && target.HasBuff2("tristanaechargesound") && (AIO_Func.getBuffInstance(target, "tristanaechargesound").EndTime - Game.ClockTime) > 0.3 && AIO_Func.isKillable(target, R.GetDamage2(target) + E.GetDamage2(target) * (((float)BC - 1) * 0.30f + 1f)) && !EK) { R.Cast(target); } else if ((AIO_Menu.Champion.Misc.getBoolValue("KillstealW") ? (!AIO_Func.CanHit(W, target, 0) || !W.IsReady()) : R.IsReady()) && R.CanCast(target) && AIO_Func.isKillable(target, R) && !EK) { R.Cast(target); } } } }
static void Game_OnUpdate(EventArgs args) { if (Player.IsDead) { return; } if (Orbwalking.CanMove(10)) { if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo) // 하레스 넣을 필요가 없어서 뺌. (AA에 하레스 있음) { Combo(); } if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LaneClear) // 라인클리어 - 라인클리어도 필요없어서 뺌. (AAJcLc에 포함) { Jungleclear(); } } #region Killsteal if (AIO_Menu.Champion.Misc.getBoolValue("KillstealQ")) { KillstealQ(); } if (AIO_Menu.Champion.Misc.getBoolValue("KillstealR")) { KillstealR(); } #endregion #region Ping Notify on R killable enemies if (R.IsReady() && AIO_Menu.Champion.Misc.getBoolValue("Ping Notify on R killable enemies (local)")) { if (LastPingTime + 333 < Utils.GameTimeTickCount) //1:1 상황에서 궁으로 킬 가능시 핑찍기. { foreach (var target in HeroManager.Enemies.Where(x => x.IsValidTarget(1200f) && AIO_Func.isKillable(x, R.GetDamage2(x)) && AIO_Func.ECTarget(x, 1000f) == 1)) { Game.ShowPing(PingCategory.Normal, target.Position, true); } LastPingTime = Utils.GameTimeTickCount; } } #endregion }
static void AA() { AIO_Func.AACb(W); }
static void Game_OnUpdate(EventArgs args) { if (Player.IsDead) { return; } if (Orbwalking.CanMove(35)) { AIO_Func.SC(Q, QD, 0f); AIO_Func.SC(W, QD); AIO_Func.SC(E); AIO_Func.FleeToPosition(E); if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo) { Combo(); } } #region Killsteal if (AIO_Menu.Champion.Misc.getBoolValue("KillstealQ")) { KillstealQ(); } if (AIO_Menu.Champion.Misc.getBoolValue("KillstealW")) { KillstealW(); } if (AIO_Menu.Champion.Misc.getBoolValue("KillstealE")) { KillstealE(); } #endregion #region Ping Notify on R killable enemies if (R.IsReady() && AIO_Menu.Champion.Misc.getBoolValue("Ping Notify on R killable enemies (local/client side)")) { if (LastPingTime + 333 < Utils.GameTimeTickCount) //궁 80퍼 뎀지 이상으로 잡을수 있는 적 핑찍기. { foreach (var target in HeroManager.Enemies.Where(x => x.IsValidTarget(10000f) && AIO_Func.isKillable(x, R.GetDamage2(x) * 0.8f))) { Game.ShowPing(PingCategory.Normal, target.Position, true); } LastPingTime = Utils.GameTimeTickCount; } } #endregion ManualR(); }