49 lignes
2,1 Kio
Lua
49 lignes
2,1 Kio
Lua
|
QuestHelper_File["collect_util.lua"] = "1.4.0"
|
||
|
QuestHelper_Loadtime["collect_util.lua"] = GetTime()
|
||
|
|
||
|
local function IsMonsterGUID(guid)
|
||
|
QuestHelper: Assert(#guid == 18, "guid len " .. guid) -- 64 bits, plus the 0x prefix
|
||
|
QuestHelper: Assert(guid:sub(1, 2) == "0x", "guid 0x-prefix " .. guid)
|
||
|
return guid:sub(5, 5) == "3" or guid:sub(5, 5) == "5"
|
||
|
end
|
||
|
|
||
|
local function GetMonsterUID(guid)
|
||
|
QuestHelper: Assert(#guid == 18, "guid len " .. guid) -- 64 bits, plus the 0x prefix
|
||
|
QuestHelper: Assert(guid:sub(1, 2) == "0x", "guid 0x-prefix " .. guid)
|
||
|
QuestHelper: Assert(guid:sub(5, 5) == "3" or guid:sub(5, 5) == "5", "guid 3-prefix " .. guid) -- It *shouldn't* be a player or a pet by the time we've gotten here. If so, something's gone wrong.
|
||
|
return guid:sub(9, 18) -- here's our actual identifier
|
||
|
end
|
||
|
|
||
|
local function GetMonsterType(guid)
|
||
|
QuestHelper: Assert(#guid == 18, "guid len " .. guid) -- 64 bits, plus the 0x prefix
|
||
|
QuestHelper: Assert(guid:sub(1, 2) == "0x", "guid 0x-prefix " .. guid)
|
||
|
QuestHelper: Assert(guid:sub(5, 5) == "3" or guid:sub(5, 5) == "5", "guid 3-prefix " .. guid) -- It *shouldn't* be a player or a pet by the time we've gotten here. If so, something's gone wrong.
|
||
|
if GetBuildInfo():sub(1, 3) == "3.2" then
|
||
|
return tonumber(guid:sub(9, 12), 16) -- here's our actual identifier
|
||
|
else
|
||
|
return tonumber(guid:sub(7, 10), 16) -- 3.3 and in the future, including 0.3.0
|
||
|
end
|
||
|
end
|
||
|
|
||
|
local function GetItemType(link, vague)
|
||
|
return tonumber(string.match(link,
|
||
|
(vague and "" or "^") .. "|cff%x%x%x%x%x%x|Hitem:(%d+):[%d:-]+|h%[[^%]]*%]|h|r".. (vague and "" or "$")
|
||
|
))
|
||
|
end
|
||
|
|
||
|
local function GetQuestType(link)
|
||
|
return tonumber(string.match(link,
|
||
|
"^|cff%x%x%x%x%x%x|Hquest:(%d+):[%d-]+|h%[[^%]]*%]|h|r$"
|
||
|
)), tonumber(string.match(link,
|
||
|
"^|cff%x%x%x%x%x%x|Hquest:%d+:([%d-]+)|h%[[^%]]*%]|h|r$"
|
||
|
))
|
||
|
end
|
||
|
|
||
|
function QH_Collect_Util_Init(_, API)
|
||
|
API.Utility_IsMonsterGUID = IsMonsterGUID
|
||
|
API.Utility_GetMonsterUID = GetMonsterUID
|
||
|
API.Utility_GetMonsterType = GetMonsterType
|
||
|
API.Utility_GetItemType = GetItemType
|
||
|
API.Utility_GetQuestType = GetQuestType
|
||
|
end
|