Depending on how long you've followed CHLW, you may or may not know that it's something that I work on by myself, time/inspiration permitting. It also lets me control the way the map is heading without quibbles over it with a co-mapper, and also lets you guys have a greater say in what goes in too! so That's why it takes so long between updates, but thanks for the offer anyway
I tend to use a boolean for that kind of thing. Attach a boolean to the unit using AIDS or something, then use a timer timeout to flag that it has cooled down after a while. IE on cast set a boolean to true, then on timer timeout set it to false.
For each ability you can use one AIDS struct, actually.