private void LaneClear() { LastHit(); if (q.UseOnLaneClear && energy.ReadyToLaneClear) { MinionManager.FarmLocation farmLocation = q.GetLineFarmLocation(MinionManager.GetMinions(q.Range)); if (farmLocation.MinionsHit >= zedMenu.GetParamSlider("koreanzed.laneclearmenu.useqif")) { q.Cast(farmLocation.Position); } else { Obj_AI_Base jungleMob = MinionManager.GetMinions(q.Range / 1.5F, MinionTypes.All, MinionTeam.Neutral, MinionOrderTypes.MaxHealth) .FirstOrDefault(); if (jungleMob != null) { q.Cast(q.GetPrediction(jungleMob).CastPosition); } } } if (e.UseOnLaneClear && energy.ReadyToLaneClear) { if (MinionManager.GetMinions(e.Range).Count() >= zedMenu.GetParamSlider("koreanzed.laneclearmenu.useeif")) { e.Cast(); } else { if (MinionManager.GetMinions(e.Range, MinionTypes.All, MinionTeam.Neutral, MinionOrderTypes.MaxHealth) .Any()) { e.Cast(); } } } }
public void LaneClear(ActionQueue actionQueue, ActionQueueList laneClearQueue) { Obj_AI_Base shadow = GetShadows().FirstOrDefault(); if (!energy.ReadyToLaneClear || shadow == null) { return; } if (e.UseOnLaneClear && e.IsReady()) { int extendedWillHit = MinionManager.GetMinions(shadow.Position, e.Range).Count(); int shortenWillHit = MinionManager.GetMinions(e.Range).Count; int param = zedMenu.GetParamSlider("koreanzed.laneclearmenu.useeif"); if (extendedWillHit >= param || shortenWillHit >= param) { actionQueue.EnqueueAction( laneClearQueue, () => true, () => e.Cast(), () => !e.IsReady()); //Console.WriteLine("shadow lc e 1"); return; } } if (q.UseOnLaneClear && q.IsReady()) { int extendedWillHit = 0; Vector3 extendedFarmLocation = Vector3.Zero; foreach (Obj_AI_Base objAiBase in MinionManager.GetMinions(shadow.Position, q.Range)) { var colisionList = q.GetCollision( shadow.Position.To2D(), new List <Vector2>() { objAiBase.Position.To2D() }, w.Delay); if (colisionList.Count > extendedWillHit) { extendedFarmLocation = colisionList.OrderByDescending(c => c.Distance(shadow.Position)).FirstOrDefault().Position; extendedWillHit = colisionList.Count; } } var shortenFarmLocation = q.GetLineFarmLocation(MinionManager.GetMinions(q.Range)); int shortenWillHit = shortenFarmLocation.MinionsHit; int param = zedMenu.GetParamSlider("koreanzed.laneclearmenu.useqif"); if (CanCast && shadow.Position != Vector3.Zero && extendedWillHit >= param) { actionQueue.EnqueueAction( laneClearQueue, () => CanCast, () => Cast(shadow.Position), () => !CanCast); //Console.WriteLine("shadow lc w 2"); actionQueue.EnqueueAction( laneClearQueue, () => w.Instance.ToggleState != 0, () => q.Cast(extendedFarmLocation), () => !q.IsReady()); //Console.WriteLine("shadow lc q 3"); return; } else if (shortenWillHit >= param) { actionQueue.EnqueueAction( laneClearQueue, () => q.IsReady(), () => q.Cast(shortenFarmLocation.Position), () => !q.IsReady()); //Console.WriteLine("shadow lc q 4"); return; } } }
private void LaneClear() { if (actionQueue.ExecuteNextAction(laneClearQueue)) { return; } LastHit(); JungleClear(); if ((zedMenu.GetParamBool("koreanzed.laneclearmenu.items.hydra") || zedMenu.GetParamBool("koreanzed.laneclearmenu.items.tiamat")) && (MinionManager.GetMinions(300F).Count() >= zedMenu.GetParamSlider("koreanzed.laneclearmenu.items.when") || MinionManager.GetMinions(300F, MinionTypes.All, MinionTeam.Neutral, MinionOrderTypes.MaxHealth).Any())) { zedItems.UseItemsLaneClear(); } if (shadows.GetShadows().Any()) { shadows.LaneClear(actionQueue, laneClearQueue); return; } if (w.UseOnLaneClear) { WlaneClear(); return; } else { if (e.UseOnLaneClear && e.IsReady()) { int willHit = MinionManager.GetMinions(e.Range).Count; int param = zedMenu.GetParamSlider("koreanzed.laneclearmenu.useeif"); if (willHit >= param) { actionQueue.EnqueueAction( laneClearQueue, () => true, () => e.Cast(), () => !e.IsReady()); return; } } if (q.UseOnLaneClear && q.IsReady()) { var farmLocation = q.GetLineFarmLocation(MinionManager.GetMinions(q.Range)); int willHit = farmLocation.MinionsHit; int param = zedMenu.GetParamSlider("koreanzed.laneclearmenu.useqif"); if (willHit >= param) { actionQueue.EnqueueAction( laneClearQueue, () => q.IsReady(), () => q.Cast(farmLocation.Position), () => !q.IsReady()); return; } } } }