Here are the options (sorry for it's a bit long):
Of course, something else can be suggested too! I've also been thinking of allowing the @cooldown to take either fail_messageor fail_callback, making it very versatile yet most of the time easy to use.
Any opinions?
Edit: I'm not sure how important a custom fail message even is. It could by default say "<skill_name> cooldown: <duration>" but then you could provide a custom fail_callbackif you need to. It would end up looking like this for static cooldowns:
Syntax: Select all
@cooldown(8)
Syntax: Select all
@cooldown(lambda self, **eargs: 11 - self.level)
Syntax: Select all
@cooldown([10, 9, 8, 7])