The Problem

The recast time on certain abilities aren't in integer multiples of a second so if you lock a macro and use the wait command you're going to encounter macro clipping.

Macro clipping is when your recast timer clips abilities in a second macro you're spamming during the ~0.5 second interval macrolock comes off and your recast timer for the executed ability is in effect.

Video Demonstrating Macro Clipping:
https://youtu.be/J73GDRw7mTA

The Solution

This is easily implementable in the game. Simply add another macro called macrolockrc <defaultrecast_time> which will lock the macro for the recast time of a subset of spells/abilities. Ideally it would be affected by skill speed and spell speed so the macro is spamable with a subset of abilities.

Example:

Code:
/macrolockrc 2.5
/ac "Hard Slash"
This would lock the macro for the recast period of hard slash.

Thank you for your feedback.