I made a small workaround for the next version of AGS.
It checks against the achievement:
Lua Code:
local MERCENARY_ACHIEVEMENT_ID = 1348
local MERCENARY_BOOK_ITEM_ID = 64715
local MERCENARY_CHAPTER_START_ID = 64716
local MERCENARY_CHAPTER_END_ID = 64729
local function IsMercenaryMotifKnown(link)
local itemId = select(3, zo_strsplit(":", link))
itemId = tonumber(itemId)
if(itemId < MERCENARY_BOOK_ITEM_ID or itemId > MERCENARY_CHAPTER_END_ID) then return false end
if(IsAchievementComplete(MERCENARY_ACHIEVEMENT_ID)) then return true end
if(itemId ~= MERCENARY_BOOK_ITEM_ID) then
local index = itemId - MERCENARY_CHAPTER_START_ID + 1
local _, numCompleted, numRequired = GetAchievementCriterion(MERCENARY_ACHIEVEMENT_ID, index)
return numCompleted == numRequired
end
return false
end
I then call it like this:
Lua Code:
local isKnown = IsItemLinkBookKnown(itemLink) or IsMercenaryMotifKnown(itemLink)