예제 #1
0
        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);
        }
예제 #2
0
        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);
        }
예제 #3
0
        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);
        }
예제 #4
0
        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);
        }