static void Harass() { if (!(AIO_Func.getManaPercent(Player) > AIO_Menu.Champion.Harass.IfMana)) { return; } if (AIO_Menu.Champion.Harass.UseQ && Q.IsReady()) { var Qtarget = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical); if (Qtarget.Distance(Player.ServerPosition) > Orbwalking.GetRealAutoAttackRange(Player)) { AIO_Func.LCast(Q, Qtarget, QD, 0); } } if (AIO_Menu.Champion.Harass.UseE && E.IsReady()) { var Etarget = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Magical); AIO_Func.LCast(E, Etarget, ED); } if (AIO_Menu.Champion.Harass.UseR && R.IsReady() && UltST < UST) { var Rtarget = TargetSelector.GetTarget(R.Range, TargetSelector.DamageType.Magical); AIO_Func.CCast(R, Rtarget); } }
static void Harass() { if (!(Player.ManaPercent > AIO_Menu.Champion.Harass.IfMana)) { return; } var TTTget = TargetSelector.GetTarget(E.Range + Player.MoveSpeed * E.Delay, TargetSelector.DamageType.Magical); if (TTTget == null) { return; } if (AIO_Menu.Champion.Harass.UseQ && Q.IsReady()) { var Qtarget = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical); AIO_Func.LCast(Q, Qtarget, QD, 1f); } if (AIO_Menu.Champion.Harass.UseE && E.IsReady()) { var Etarget = TargetSelector.GetTarget(E.Range + Player.MoveSpeed * E.Delay, TargetSelector.DamageType.Magical); castE(Etarget); } if (AIO_Menu.Champion.Harass.UseW && W.IsReady()) { var Wtarget = TargetSelector.GetTarget(W.Range, W.DamageType); var pred = W.GetPrediction(Wtarget); if (pred.Hitchance == HitChance.Immobile || Wtarget.Buffs.Where(b => b.IsActive && Game.Time < b.EndTime && (b.Type == BuffType.Charm || b.Type == BuffType.Knockback || b.Type == BuffType.Stun || b.Type == BuffType.Suppression || b.Type == BuffType.Snare)).Aggregate(0f, (current, buff) => Math.Max(current, buff.EndTime)) - Game.Time >= W.Delay - 0.3f && W.IsReady()) { W.Cast(Wtarget, false, true); } } }
static void Harass() { if (AIO_Menu.Champion.Harass.UseQ && Q.IsReady()) { if (!Player.HasBuff2("yasuoq3w")) { var qTarget = TargetSelector.GetTarget(Q.Range, Q.DamageType, true); if (qTarget.Distance(Player.Position) >= Orbwalking.GetRealAutoAttackRange(Player) + 50) { AIO_Func.LCast(Q, qTarget, QD); } } else { var qTarget = TargetSelector.GetTarget(QQ.Range, Q.DamageType, true); AIO_Func.LCast(QQ, qTarget, QD); } } if (AIO_Menu.Champion.Harass.UseE && E.IsReady()) { var Buff = AIO_Func.getBuffInstance(Player, "yasuodashscalar"); var ETarget = TargetSelector.GetTarget(E.Range, E.DamageType, true); if (!ETarget.HasBuff2("YasuoDashWrapper") && (float)Buff.Count > 1) { E.Cast(ETarget); } } }
static void Harass() { if (!(Player.ManaPercent > AIO_Menu.Champion.Harass.IfMana)) { return; } if (AIO_Menu.Champion.Harass.UseQ && Q.IsReady()) { var Qtarget = TargetSelector.GetTarget(Q.Range, Q.DamageType); AIO_Func.LCast(Q, Qtarget, QD, float.MaxValue); } if (AIO_Menu.Champion.Harass.UseW && W.IsReady()) { var Wtarget = TargetSelector.GetTarget(W.Range, W.DamageType); AIO_Func.CCast(W, Wtarget); } if (AIO_Menu.Champion.Harass.UseE && E.IsReady() && Q.IsReady()) { var Etarget = TargetSelector.GetTarget(E.Range, E.DamageType); AIO_Func.LCast(E, Etarget, QD, 0); } }
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, Menu.Item("Misc.Etg").GetValue <Slider>().Value, float.MaxValue); } if (AIO_Menu.Champion.Combo.UseW && W.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); if (AIO_Func.isKillable(Rtarget, R)) { R.Cast(Rtarget); } } }
static void Harass() { if (!(AIO_Func.getManaPercent(Player) > AIO_Menu.Champion.Harass.IfMana)) { return; } if (AIO_Menu.Champion.Harass.UseQ && Q.IsReady()) { var Qtarget = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical); AIO_Func.CCast(Q, Qtarget); } if (AIO_Menu.Champion.Harass.UseW && W.IsReady()) { var Wtarget = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Magical); AIO_Func.CCast(W, Wtarget); } if (AIO_Menu.Champion.Harass.UseE && E.IsReady()) { var Etarget = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Magical); AIO_Func.LCast(E, Etarget, Menu.Item("Misc.Etg").GetValue <Slider>().Value, float.MaxValue); } }
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 Combo() { if (AIO_Menu.Champion.Combo.UseQ && Q.IsReady()) { AIO_Func.CCast(Q, Q.GetTarget()); } if (AIO_Menu.Champion.Combo.UseE && E.IsReady()) { AIO_Func.LCast(E, E.GetTarget(), ED, float.MaxValue); } if (AIO_Menu.Champion.Combo.UseW && W.IsReady() && (Q.IsReady() || E.IsReady())) { AIO_Func.CCast(W, E.GetTarget()); } if (AIO_Menu.Champion.Combo.UseR && R.IsReady()) { var Rtarget = R.GetTarget(); if (Player.HealthPercent < 50 && AIO_Func.isKillable(Rtarget, getComboDamage(Rtarget) * 2 / 3) || AIO_Func.ECTarget(Rtarget, R.Width, 0, 100) >= AIO_Menu.Champion.Combo.getSliderValue("R Min Targets").Value) { AIO_Func.CCast(R, Rtarget); } } }
static void Harass() { if (!(Player.ManaPercent > AIO_Menu.Champion.Harass.IfMana)) { return; } if (AIO_Menu.Champion.Harass.UseQ && Q.IsReady()) { var Qtarget = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical); if (Qtarget != null) { AIO_Func.LCast(Q, Qtarget, QD, 0); } } if (AIO_Menu.Champion.Harass.UseE && E.IsReady()) { var Etarget = TargetSelector.GetTarget(E.Range + Player.MoveSpeed * E.Delay, TargetSelector.DamageType.Magical); if (Etarget != null) { E.Cast(Etarget); } } if (AIO_Menu.Champion.Harass.UseW && W.IsReady()) { var Wtarget = TargetSelector.GetTarget(W.Range, W.DamageType); if (Wtarget != null) { AIO_Func.CCast(W, Wtarget); } } }
static void Jungleclear() { if (!(Player.ManaPercent > AIO_Menu.Champion.Jungleclear.IfMana)) { return; } var Mobs = MinionManager.GetMinions(1000, MinionTypes.All, MinionTeam.Neutral, MinionOrderTypes.MaxHealth); if (Mobs.Count <= 0) { return; } if (AIO_Menu.Champion.Jungleclear.UseQ && Q.IsReady()) { var Farmloc = Q.GetLineFarmLocation(Mobs); if (Farmloc.MinionsHit >= 2) { Q.Cast(Farmloc.Position); } } if (AIO_Menu.Champion.Jungleclear.UseE && E.IsReady()) { if (Mobs.Any(x => x.IsValidTarget(E.Range))) { AIO_Func.LCast(E, Mobs[0], 50, 0); } } }
static void CastP() { if (P.IsReady()) { var Ptarget = TargetSelector.GetTarget(P.Range, TargetSelector.DamageType.True); AIO_Func.LCast(P, Ptarget, 200f, float.MaxValue); } }
static void ManualR() { var RTarget = TargetSelector.GetTarget(R.Range, R.DamageType, true); if (RM && RTarget != null && R.IsReady()) { AIO_Func.LCast(R, RTarget); } }
static void KillstealE() { foreach (var target in HeroManager.Enemies.OrderByDescending(x => x.Health)) { if (E.CanCast(target) && AIO_Func.isKillable(target, E)) { AIO_Func.LCast(E, target, Menu.Item("Misc.Etg").GetValue <Slider>().Value, float.MaxValue); } } }
static void KillstealW() { foreach (var target in HeroManager.Enemies.OrderByDescending(x => x.Health)) { if (W.CanCast(target) && AIO_Func.isKillable(target, W)) { AIO_Func.LCast(W, target, 0f, 0f); } } }
static void KillstealQ() { foreach (var target in HeroManager.Enemies.OrderByDescending(x => x.Health)) { if (Q.CanCast(target) && AIO_Func.isKillable(target, Q)) { AIO_Func.LCast(Q, target, QD, 0); } } }
static void KillstealQ() { foreach (var target in HeroManager.Enemies.OrderByDescending(x => x.Health)) { if (Q.CanCast(target) && AIO_Func.isKillable(target, Q)) { AIO_Func.LCast(Q, target, Menu.Item("Misc.Qtg").GetValue <Slider>().Value, 0); } } }
static void KillstealE() { foreach (var target in HeroManager.Enemies.OrderByDescending(x => x.Health)) { if (E.CanCast(target) && AIO_Func.isKillable(target, E)) { AIO_Func.LCast(E, target, ED, float.MaxValue); } } }
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.HasBuff2("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.HasBuff2("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 }
static void Interrupter2_OnInterruptableTarget(Obj_AI_Hero sender, Interrupter2.InterruptableTargetEventArgs args) { if (!AIO_Menu.Champion.Misc.UseInterrupter || Player.IsDead) { return; } if (Q.CanCast(sender)) { AIO_Func.LCast(Q, sender, 0f, 0f); } }
static void Combo() { if (AIO_Menu.Champion.Combo.UseQ && Q.IsReady()) { QSwitchForUnit(TargetSelector.GetTarget(GetQActiveRange + 30, Q.DamageType)); } if (AIO_Menu.Champion.Combo.UseW && W.IsReady()) { var Wtarget = TargetSelector.GetTarget(W.Range, W.DamageType); if (Wtarget != null && !Wtarget.IsValidTarget(200f)) { W.Cast(Wtarget); } } if (AIO_Menu.Champion.Combo.UseE && E.IsReady()) { var Etarget = E_GetBestTarget(); if (Etarget != null) { E.Cast(Etarget, false, true); } } if (AIO_Menu.Champion.Combo.UseR && R.IsReady() && WLastCastedTime + 0.5 < Game.ClockTime) { if (Player.HealthPercent > 20) { foreach (var RT in HeroManager.Enemies.Where(x => x.IsValidTarget(R.Range) && !x.IsValidTarget(DefaultRange) && !Player.HasBuffOfType(BuffType.SpellShield) && !Player.HasBuffOfType(BuffType.Invulnerability) && Utility.GetAlliesInRange(x, 500).Where(ally => !ally.IsMe && ally.IsAlly).Count() <= 1)) { //이전 식대로는 징크스가 절대 궁을 안써서 식을 좀 바꿈. AIO_Func.PredHealth(RT, R); if (RT != null && AIO_Func.PredHealth(RT, R) + RT.HPRegenRate <= (Player.Distance(RT.ServerPosition) < 1500 ? R.GetDamage2(RT, 4) : R.GetDamage2(RT, 1)) && !AIO_Func.CollisionCheck(Player, RT, R.Width)) { AIO_Func.LCast(R, RT, 50f, 0f, true); //R 최대 데미지는 1500범위에서. 그리고 공식 커먼의 징크스 궁 데미지 계산이 잘못되었으니 올인원 자체 데미지 계산사용. } } } else //현재 체력이 20퍼 미만일 경우 평타 사거리 내에도 궁을 쓰도록. { foreach (var RT in HeroManager.Enemies.Where(x => x.IsValidTarget(R.Range) && !Player.HasBuffOfType(BuffType.SpellShield) && !Player.HasBuffOfType(BuffType.Invulnerability) && Utility.GetAlliesInRange(x, 500).Where(ally => !ally.IsMe && ally.IsAlly).Count() <= 1)) { //이전 식대로는 징크스가 절대 궁을 안써서 식을 좀 바꿈. AIO_Func.PredHealth(RT, R); if (RT != null && AIO_Func.PredHealth(RT, R) + RT.HPRegenRate <= (Player.Distance(RT.ServerPosition) < 1500 ? R.GetDamage2(RT, 4) : R.GetDamage2(RT, 1)) && !AIO_Func.CollisionCheck(Player, RT, R.Width)) { AIO_Func.LCast(R, RT, 50f, 0f, true); //R 최대 데미지는 1500범위에서. 그리고 공식 커먼의 징크스 궁 데미지 계산이 잘못되었으니 올인원 자체 데미지 계산사용. } } } } }
static void AntiGapcloser_OnEnemyGapcloser(ActiveGapcloser gapcloser) { if (!AIO_Menu.Champion.Misc.UseAntiGapcloser || Player.IsDead) { return; } if (Q.CanCast(gapcloser.Sender)) { AIO_Func.LCast(Q, gapcloser.Sender, 0f, 0f); } }
static void AntiGapcloser_OnEnemyGapcloser(ActiveGapcloser gapcloser) { if (!AIO_Menu.Champion.Misc.UseAntiGapcloser || Player.IsDead) { return; } if (Q.IsReady() && Player.Distance(gapcloser.Sender.Position) <= Q.Range) { AIO_Func.LCast(Q, gapcloser.Sender, QD); //W.Cast((Vector3)gapcloser.End); } }
static void Interrupter2_OnInterruptableTarget(Obj_AI_Hero sender, Interrupter2.InterruptableTargetEventArgs args) { if (!AIO_Menu.Champion.Misc.UseInterrupter || Player.IsDead) { return; } if (E.IsReady() && Player.Distance(sender.Position) <= E.Range) { AIO_Func.LCast(E, sender); } }
static void Combo() { if (AIO_Menu.Champion.Combo.UseQ && Q.IsReady()) { var Qtarget = TargetSelector.GetTarget(Q.Range, Q.DamageType); AIO_Func.LCast(Q, Qtarget, Menu.Item("Misc.Qtg").GetValue <Slider>().Value, 0); } if (AIO_Menu.Champion.Combo.UseW && W.IsReady()) { T(W); } }
static void Harass() { if (AIO_Menu.Champion.Harass.UseW && W.IsReady()) { var Wtarget = TargetSelector.GetTarget(W.Range, E.DamageType); W.Cast(); } if (AIO_Menu.Champion.Harass.UseE && E.IsReady()) { var Etarget = TargetSelector.GetTarget(E.Range, E.DamageType); AIO_Func.LCast(E, Etarget, ED); } }
static void Combo() { if (AIO_Menu.Champion.Combo.UseR && R.IsReady()) { foreach (var target in HeroManager.Enemies.OrderByDescending(x => x.Health)) { if (R.CanCast(target) && AIO_Func.isKillable(target, getComboDamage(target)) && target.Distance(Player.ServerPosition) < 1000) { AIO_Func.LCast(R, target); } else if (R.CanCast(target) && AIO_Func.isKillable(target, R) && target.Distance(Player.ServerPosition) < 3000) { AIO_Func.LCast(R, target); } } } }
static void Interrupter2_OnInterruptableTarget(Obj_AI_Hero sender, Interrupter2.InterruptableTargetEventArgs args) { if (!AIO_Menu.Champion.Misc.UseInterrupter || Player.IsDead) { return; } if (W.IsReady() && Player.Distance(sender.Position) <= W.Range) { AIO_Func.CCast(W, sender); } if (sender.HasBuff2("brandablaze") && Q.IsReady() && Player.Distance(sender.Position) <= Q.Range) { AIO_Func.LCast(Q, sender, QD, 0); } }
static void Jungleclear() { var Mobs = MinionManager.GetMinions(Orbwalking.GetRealAutoAttackRange(Player), MinionTypes.All, MinionTeam.Neutral, MinionOrderTypes.MaxHealth); if (Mobs.Count <= 0) { return; } if (AIO_Menu.Champion.Jungleclear.UseW && W.IsReady()) { W.Cast(); } if (AIO_Menu.Champion.Jungleclear.UseE && E.IsReady()) { AIO_Func.LCast(E, Mobs[0], ED); } }
static void Combo() { var TTTget = TargetSelector.GetTarget(E.Range + Player.MoveSpeed * E.Delay, TargetSelector.DamageType.Magical); if (TTTget == null) { return; } if (AIO_Menu.Champion.Combo.UseQ && Q.IsReady()) { var Qtarget = TargetSelector.GetTarget(Q.Range, Q.DamageType); AIO_Func.LCast(Q, Qtarget, QD, 1f); } if (AIO_Menu.Champion.Combo.UseE && E.IsReady()) { var Etarget = TargetSelector.GetTarget(E.Range + Player.MoveSpeed * E.Delay, TargetSelector.DamageType.Magical); castE(Etarget); } if (AIO_Menu.Champion.Combo.UseW && W.IsReady()) { var Wtarget = TargetSelector.GetTarget(W.Range, W.DamageType); var pred = W.GetPrediction(Wtarget); if (pred.Hitchance == HitChance.Immobile || Wtarget.Buffs.Where(b => b.IsActive && Game.Time < b.EndTime && (b.Type == BuffType.Charm || b.Type == BuffType.Knockback || b.Type == BuffType.Stun || b.Type == BuffType.Suppression || b.Type == BuffType.Snare)).Aggregate(0f, (current, buff) => Math.Max(current, buff.EndTime)) - Game.Time >= W.Delay - 0.3f && W.IsReady()) { W.Cast(Wtarget, false, true); } } if (AIO_Menu.Champion.Combo.UseR && R.IsReady()) { var Rtarget = TargetSelector.GetTarget(R.Range, R.DamageType); if (AIO_Func.isKillable(Rtarget, R) || Rtarget.Buffs.Where(b => b.IsActive && Game.Time < b.EndTime && (b.Type == BuffType.Charm || b.Type == BuffType.Knockback || b.Type == BuffType.Stun || b.Type == BuffType.Suppression || b.Type == BuffType.Snare)).Aggregate(0f, (current, buff) => Math.Max(current, buff.EndTime)) - Game.Time >= R.Delay && R.IsReady()) { if (HeroManager.Enemies.Any(x => x.IsValidTarget(R.Range))) { R.Cast(Rtarget); } } } }
static void Obj_AI_Hero_OnProcessSpellCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args) { if (!sender.IsMe || Player.IsDead) { return; } if ((Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo || Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Mixed)) { if (args.SData.Name == Player.Spellbook.GetSpell(SpellSlot.E).Name&& HeroManager.Enemies.Any(x => x.IsValidTarget(Q.Range))) { if (AIO_Menu.Champion.Combo.UseQ || AIO_Menu.Champion.Harass.UseQ) { var Qtarget = TargetSelector.GetTarget(Q.Range, Q.DamageType); AIO_Func.LCast(Q, Qtarget, QD, float.MaxValue); } } } }