protected override bool ShouldCripplingWave(out TrinityActor target) { target = null; if (!Skills.Monk.CripplingWave.CanCast()) { return(false); } target = TargetUtil.BestEliteInRange(45, true); if (target != null && target.Distance < 12) { return(true); } target = TargetUtil.BestAoeUnit(45, true); if (target != null && target.Distance < 12) //removed resource check here { return(true); } target = TargetUtil.BestAuraUnit(SNOPower.Monk_CripplingWave, 12f, true); if (target != null && target.Distance < 12) { return(true); } target = TargetUtil.GetClosestUnit(12f); return(target != null); }
protected override bool ShouldHaunt(out TrinityActor target) { target = null; if (!Skills.WitchDoctor.Haunt.CanCast()) { return(false); } if (SpellHistory.LastPowerUsed == Skills.WitchDoctor.Haunt.SNOPower) { return(false); } target = TargetUtil.BestAuraUnit(SNOPower.Witchdoctor_Haunt, 35, true) ?? CurrentTarget; return(target != null); }
protected virtual bool ShouldCripplingWave(out TrinityActor target) { target = null; if (!Skills.Monk.CripplingWave.CanCast()) { return(false); } var range = Skills.Monk.Epiphany.TimeSinceUse < 15000 ? 20 : 7f; target = TargetUtil.BestAuraUnit(SNOPower.Monk_CripplingWave, range, true) ?? target; if (target != null && target.Distance < range) { return(true); } target = TargetUtil.GetClosestUnit(range); return(target != null); }