private void afterAttack(AttackableUnit unit, AttackableUnit target) { if (unit.IsMe && !player.IsBurrowed() && E1.IsReady() && player.ManaPercent > 99f) { E1.CastOnUnit((Obj_AI_Base)target); } }
private static void AutoHeal(bool healAllies) { if (Player.HasBuff("Recall")) { return; } Obj_AI_Hero Target = healAllies ? ObjectManager.Get <Obj_AI_Hero>() .OrderBy(hero => hero.Health) .First(hero => hero.IsAlly && hero.IsValidTarget(E1.Range, false)) : Target = Player; if (E1.IsReady() && Target.Health / Target.MaxHealth < Config.Item("autoHealPct").GetValue <Slider>().Value / 100f) { E1.CastOnUnit(Target, PacketCasting); } }
private static void doFarm() { foreach ( var Minion in ObjectManager.Get <Obj_AI_Minion>() .Where( minion => minion.Team != Player.Team && !minion.IsDead && Vector2.Distance(minion.ServerPosition.To2D(), Player.ServerPosition.To2D()) < 600f) .OrderBy(minion => Vector2.Distance(minion.Position.To2D(), Player.Position.To2D()))) { if (IsCougar) { if (Q2.IsReady() && Config.Item("farm_Q2").GetValue <bool>()) { Q2.CastOnUnit(Player, PacketCasting); } else if (W2.IsReady() && Config.Item("farm_W2").GetValue <bool>() && Player.Distance(Minion) > 200f) { W2.Cast(Minion.Position, PacketCasting); } else if (E2.IsReady() && Config.Item("farm_E2").GetValue <bool>()) { E2.Cast(Minion.Position, PacketCasting); } } else if (R.IsReady() && Config.Item("farm_R").GetValue <bool>()) { R.CastOnUnit(Player, PacketCasting); } else if (E1.IsReady() && Config.Item("farm_E1").GetValue <bool>()) { E1.CastOnUnit(Player, PacketCasting); } return; } }
private static void Harass() { if (Human() && Player.ManaPercent <= getSliderItem(harassMenu, "harassMana")) { return; } var target = TargetSelector.GetTarget(E.Range, DamageType.Magical); if (target == null) { return; } if (!target.LSIsValidTarget()) { return; } if (Human()) { if (W.IsReady() && getCheckBoxItem(harassMenu, "wHarassH") && target.LSDistance(Player.Position) <= W.Range) { var wprediction = W.GetPrediction(target); switch (wprediction.Hitchance) { case HitChance.Medium: case HitChance.High: case HitChance.VeryHigh: case HitChance.Immobile: W.Cast(wprediction.CastPosition); break; case HitChance.Collision: var colliding = wprediction.CollisionObjects.OrderBy(o => o.LSDistance(Player, true)).ToList(); if (colliding.Count > 0) { if (colliding[0].LSDistance(target, true) <= 25000 || colliding[0].Type == GameObjectType.AIHeroClient) { W.Cast(wprediction.CastPosition); } else if (colliding[0].Type != GameObjectType.AIHeroClient && colliding[0].LSDistance(target, true) > 25000 && R.IsReady() && realcdSQ <= 1 && target.LSDistance(Player.Position) <= Q1.Range + 200 && getCheckBoxItem(harassMenu, "rComboHarass")) { var playerPosition = ObjectManager.Player.Position.LSTo2D(); var direction = ObjectManager.Player.Direction.LSTo2D().LSPerpendicular(); const int distance = 600; const int stepSize = 40; for (var step = 0f; step < 360; step += stepSize) { var currentAngel = step * (float)Math.PI / 180; var currentCheckPoint = playerPosition + distance * direction.LSRotated(currentAngel); var collision = Collision.GetCollision(new List <Vector3> { currentCheckPoint.To3D() }, new PredictionInput { Delay = 0.25f, Radius = 200, Speed = 1000 }); if (collision.Count == 0) { Q.CastOnUnit(target); W.Cast(currentCheckPoint); R.Cast(); //if (Q.IsReady() && Config.Item("qHarassH").GetValue<bool>() && // target.LSDistance(Player.Position) <= Q.Range) //{ // //} } } } } break; } } if (E.IsReady() && getCheckBoxItem(harassMenu, "eHarassH") && target.LSDistance(Player.Position) <= E.Range) { var eprediction = E.GetPrediction(target); switch (eprediction.Hitchance) { case HitChance.VeryHigh: case HitChance.Immobile: E.Cast(eprediction.CastPosition); break; case HitChance.Collision: var colliding = eprediction.CollisionObjects.OrderBy(o => o.LSDistance(Player, true)).ToList(); if (colliding.Count >= 1 && colliding[0].Type == GameObjectType.AIHeroClient) { E.Cast(eprediction.CastPosition); } break; } } if (Q.IsReady() && getCheckBoxItem(harassMenu, "qHarassH") && target.LSDistance(Player.Position) <= Q.Range) { Q.CastOnUnit(target); } if (getCheckBoxItem(harassMenu, "rHarass") && !Q.IsReady() && !W.IsReady() && !E.IsReady() && R.IsReady() && target.LSDistance(Player.Position) <= Q1.Range) { if (realcdSQ == 0 || realcdSW == 0 || realcdSE == 0) { R.Cast(); } } } else { if (Q1.IsReady() && getCheckBoxItem(harassMenu, "qHarass") && target.LSDistance(Player.Position) <= Q1.Range) { Q1.CastOnUnit(target); } if (E1.IsReady() && getCheckBoxItem(harassMenu, "eHarass") && target.LSDistance(Player.Position) <= E1.Range && target.LSDistance(Player.Position) >= getSliderItem(harassMenu, "eMinHarass")) { E1.CastOnUnit(target); } if (getCheckBoxItem(harassMenu, "rHarass") && !Q.IsReady() && !W.IsReady() && !E.IsReady() && R.IsReady()) { if (!Player.HasBuff("EliseSpiderW") || target.LSDistance(Player.Position) >= Player.AttackRange + 100) { if (realcdQ == 0 || realcdW == 0 || realcdE == 0) { R.Cast(); } } } } }
private static void doCombo() { var Target = SimpleTs.GetTarget(Q1.Range, SimpleTs.DamageType.Magical); var Marked = Target.HasBuff("nidaleepassivehunted", true); var Hunting = Player.HasBuff("nidaleepassivehunting", true); var Distance = Player.Distance(Target); var useItems = Config.Item("combo_Items").GetValue <bool>(); if (useItems) { if (Items.CanUseItem(Bork.Id)) { Bork.Cast(Target); } if (Items.CanUseItem(Cutlass.Id)) { Cutlass.Cast(Target); } } var comboUT = Config.Item("combo_UT").GetValue <bool>(); /* Human Form */ if (!IsCougar) { if (Marked && R.IsReady() && Config.Item("combo_R").GetValue <bool>() && Distance < 750f || (!Q1.IsReady() && !Q1.IsReady(2500) && Target.Distance(Player) < 300f) && (!Utility.UnderTurret(Target, true) || comboUT)) { R.CastOnUnit(Player, PacketCasting); } else if (Q1.IsReady() && Config.Item("combo_Q1").GetValue <bool>()) { Q1.Cast(Target, PacketCasting); } else if (W1.IsReady() && Config.Item("combo_W1").GetValue <bool>()) { W1.Cast(Target, PacketCasting); } else if (E1.IsReady() && Config.Item("combo_E1").GetValue <bool>() && (!R.IsReady() || !Marked && Distance < W2.Range + 75f)) { E1.CastOnUnit(Player, PacketCasting); } } /* Cougar Form */ else { if (!Marked && R.IsReady() && Config.Item("combo_R").GetValue <bool>() && Distance < W2.Range + 75f) { R.CastOnUnit(Player, PacketCasting); return; } // Deathfire grasp / Blackfire Torch var dmg = Q1.GetDamage(Target, 1) + W1.GetDamage(Target, 1) + E1.GetDamage(Target, 1); if (Target.IsValidTarget(DFG.Range) && Q1.IsReady() && W1.IsReady() && E1.IsReady() && dmg < Target.Health && (dmg * 1.2f) + (Target.MaxHealth * (DFG.Id == 3188 ? 0.20f : 0.15f)) > Target.Health && useItems) { DFG.Cast(Target); } if (Marked && Hunting && W2.IsReady() && Config.Item("combo_W2").GetValue <bool>() && Distance < 750f && Distance > 200f && (!Utility .UnderTurret(Target, true) || comboUT)) { Player.Spellbook.CastSpell(SpellSlot.W, Target); } else if (E2.IsReady() && Distance < 300f) { var Pred = Prediction.GetPrediction(Target, 0.5f); E2.Cast(Pred.CastPosition, PacketCasting); } } }