예제 #1
0
        protected virtual bool ShouldExplodingPalm(out TrinityActor target)
        {
            target = null;

            if (!Skills.Monk.ExplodingPalm.CanCast())
            {
                return(false);
            }

            if (Player.PrimaryResource < PrimaryEnergyReserve)
            {
                return(false);
            }

            var isBigCluster         = TargetUtil.ClusterExists(WaveOfLightRange, 3);
            var isEliteInRange       = TargetUtil.AnyElitesInRange(WaveOfLightRange);
            var isFarTooMuchResource = Player.PrimaryResourcePct > 0.8f;

            if (isBigCluster || isEliteInRange || isFarTooMuchResource)
            {
                target = TargetUtil.BestExplodingPalmTarget(MeleeAttackRange);
                return(target != null);
            }

            return(false);
        }