void ForceGrab() { var bestmin = GrabbableObjects.MaxOrDefault(x => x.priority).unit; if (bestmin != null) { if (ObjectManager.Player.Spellbook.CastSpell(SpellSlot.W, bestmin)) { LastWTick = Utils.TickCount; } } }
void CastW(Obj_AI_Hero paramtarget) { var targ = paramtarget == null?TargetSelector.GetTarget(SpellManager.W.Range, TargetSelector.DamageType.Magical) : paramtarget; if (targ == null) { return; } if (HasSecondW) { var result = SpellManager.W2.GetAoeSPrediction(); if (result.HitCount > 0) { SpellManager.W2.Cast(result.CastPosition); return; } else if (result.HitCount == 0) { var pred = SpellManager.W2.GetSPrediction(targ); if (pred.HitChance >= HitChance.Low) { SpellManager.W2.Cast(pred.CastPosition); return; } //Common if SPrediction cant find else { var predc = SpellManager.W2.GetPrediction(targ); if (predc.Hitchance >= HitChance.VeryHigh) { SpellManager.W2.Cast(predc.CastPosition); return; } } } } //Add if W about to run out, throw at closeby minions? //if first W else if (WGood) { var target = paramtarget == null?TargetSelector.GetTarget(0.90f *SpellManager.W.Range, TargetSelector.DamageType.Magical) : paramtarget; if (target != null) { var bestmin = GrabbableObjects.MaxOrDefault(x => x.priority).unit; if (bestmin != null) { if (ObjectManager.Player.Spellbook.CastSpell(SpellSlot.W, bestmin)) { LastWTick = Utils.TickCount; } } } } }