Shadowheart didn't choose to be brainwashed and raised in a cult, spiritually she is a virgin and not evil which is why selune takes her in when shar abandons her.