Maybe I do error with enabled https://wowpedia.fandom.com/wiki/API_GetItemCooldown, seems return true when item is ready, try:
robotManager.Events.FiniteStateMachineEvents.OnRunState += (engine, state, cancelable) =>
{
int itemId = 1234;
int questId = 1234;
if (!wManager.Wow.Helpers.Conditions.InGameAndConnectedAndAliveAndProductStartedNotInPause)
return;
if (wManager.Wow.Helpers.Conditions.IsAttackedAndCannotIgnore)
return;
if (state.DisplayName == "Quester")
{
if (wManager.Wow.Helpers.Quest.HasQuest(questId) &&
!wManager.Wow.Helpers.Lua.LuaDoString<bool>("local start, duration, enable = GetItemCooldown("+ itemId + "); return enable;"))
{
cancelable.Cancel = true;
}
}
};
or
robotManager.Events.FiniteStateMachineEvents.OnRunState += (engine, state, cancelable) =>
{
int itemId = 1234;
int questId = 1234;
if (!wManager.Wow.Helpers.Conditions.InGameAndConnectedAndAliveAndProductStartedNotInPause)
return;
if (wManager.Wow.Helpers.Conditions.IsAttackedAndCannotIgnore)
return;
if (state.DisplayName == "Quester")
{
if (wManager.Wow.Helpers.Quest.HasQuest(questId) &&
wManager.Wow.Helpers.Lua.LuaDoString<bool>("local start, duration, enable = GetItemCooldown("+ itemId + "); return start ~= nil and start > 0 and duration ~= nil and duration > 0;"))
{
cancelable.Cancel = true;
}
}
};