so could it be done, put the exhaust at normal 1000, but then, in the function onCastSpell, put an if statement that checks if there is a buff already in place, since your ticks count it down, and if it is in place, report "Sorry, cannot recast buff until it expires" or such sentence.