I won’t pretend I’ve done anything with WoW addons before, but looking at the API docs, wouldn’t the second return value to GetSpellCooldown be better?
duration
Number - Cooldown duration in seconds, 0 if spell is ready to be cast.
So something like
local start, duration = GetSpellCooldown("Flying Serpent Kick",
"BOOKTYPE_SPELL");
if duration == 0 then