public void QSmite(Obj_AI_Base target) { var pred = this.Q.GetPrediction(target); var objects = pred.CollisionObjects; if (pred.HitChance != HitChance.Collision || !objects.Any()) { return; } if (SummonerSpells.Smite == null || !SummonerSpells.Smite.Ready || SummonerSpells.Ammo("Smite") < 2) { return; } var current = objects.FirstOrDefault(); if (current == null || current.NetworkId == target.NetworkId || current.Health > SummonerSpells.SmiteMonsters() || current.ServerPosition.Distance(Global.Player) > SummonerSpells.Smite.Range) { return; } SummonerSpells.Smite.CastOnUnit(current); Global.Player.SpellBook.CastSpell(SpellSlot.Q, target.ServerPosition); }
public void SmiteMob() { var smiteAbleMob = ObjectManager.Get<Obj_AI_Minion>().FirstOrDefault(x => x.Distance(Global.Player) < 1300); if (smiteAbleMob != null && (smiteAlways.Contains(smiteAbleMob.UnitSkinName) || smiteOptional.Contains(smiteAbleMob.UnitSkinName))) { if (smiteAbleMob.Health < StealDamage(smiteAbleMob)) { if (smiteOptional.Contains(smiteAbleMob.UnitSkinName) && Global.Player.HealthPercent() >= (SummonerSpells.Ammo("Smite") <= 1 ? 40 : 50) || smiteAbleMob.UnitSkinName.ToLower().Contains("blue") && !this.BlueEnabled) { return; } if (this.SmiteEnabled && SummonerSpells.IsValid(SummonerSpells.Smite)) { SummonerSpells.Smite.CastOnUnit(smiteAbleMob); } if (spellConfig.IsQ2() && spellConfig.Q.Ready) { spellConfig.Q.Cast(); } } } var mob = GameObjects.JungleLegendary.FirstOrDefault(x => x.Distance(Global.Player) <= 1500); if (mob == null || !this.SmiteEnabled) { return; } if (q2Time > 0 && Game.TickCount - q2Time <= 1500 && SummonerSpells.IsValid(SummonerSpells.Smite) && StealDamage(mob) > mob.Health) { if (spellConfig.W.Ready && spellConfig.IsFirst(spellConfig.W) && Global.Player.Distance(mob) <= 500) { SummonerSpells.Smite.CastOnUnit(mob); wardManager.WardJump(positions.FirstOrDefault(), (int) mob.Distance(Global.Player)); } } if (mob.Position.CountAllyHeroesInRange(700) <= 1 && spellConfig.Q.Ready && spellConfig.IsQ2() && StealDamage(mob) > mob.Health) { spellConfig.Q.Cast(); q2Time = Game.TickCount; } }