protected virtual bool ShouldDecrepify(out TrinityActor target) { target = null; if (!Skills.Necromancer.Decrepify.CanCast()) { return(false); } //var hasDebuffs = Targeting.UnitsWithDebuff(SNOPower.P6_Necro_Decrepify); //if (hasDebuffs > 0) // return false; if (Skills.Necromancer.Decrepify.TimeSinceUse < 4000) { return(false); } var needsdebuffs = Targeting.BestTargetWithoutDebuff(65f, SNOPower.P6_Necro_Decrepify, Player.Position); if (needsdebuffs == null) { return(false); } target = needsdebuffs; Core.Logger.Error(LogCategory.Routine, $"[Decrepify] - On {target}."); return(true); }
public virtual bool ShouldGrimScythe(out TrinityActor target) { target = null; if (!Skills.Necromancer.GrimScythe.CanCast()) { return(false); } target = (Targeting.BestTargetWithoutDebuff(12f, SNOPower.P6_Necro_Decrepify, Player.Position) ?? Targeting.BestTargetWithoutDebuff(12f, SNOPower.P6_Necro_Leech, Player.Position) ?? Targeting.BestTargetWithoutDebuff(12f, SNOPower.P6_Necro_Frailty, Player.Position)) ?? Target; Core.Logger.Error(LogCategory.Routine, $"[Grim Scythe] - On {target}."); return(true); }
protected virtual bool ShouldLeech(out TrinityActor target) { target = null; if (!Skills.Necromancer.Leech.CanCast()) { return(false); } if (Skills.Necromancer.Leech.TimeSinceUse < 4000) { return(false); } target = Targeting.BestTargetWithoutDebuff(65f, SNOPower.P6_Necro_Leech, Player.Position); if (target == null) { return(false); } Core.Logger.Error(LogCategory.Routine, $"[Leech] - On {target}."); return(true); }
protected virtual bool ShouldFrailty(out TrinityActor target) { target = null; if (!Skills.Necromancer.Frailty.CanCast() || Runes.Necromancer.AuraOfFrailty.IsActive) { return(false); } if (Skills.Necromancer.Frailty.TimeSinceUse < 4000) { return(false); } var needsdebuffs = Targeting.BestTargetWithoutDebuff(65f, SNOPower.P6_Necro_Frailty, Player.Position); if (needsdebuffs == null) { return(false); } target = needsdebuffs; Core.Logger.Error(LogCategory.Routine, $"[Frailty] - On {target}."); return(true); }