About your worry on spamming attack, maybe you could allow it with a timer in between attacks while being attacked?