Fixed LostIsles coord issue. Restructured collectors to output tables only.
Cette révision appartient à :
Parent
f6710e075b
révision
e1f08c9146
|
@ -27,7 +27,9 @@ local function ScanAchievements(oldADB, newADB)
|
||||||
if v.complete ~= oldADB.achievements[k].complete then
|
if v.complete ~= oldADB.achievements[k].complete then
|
||||||
QuestHelper: Assert(v.complete and not oldADB.achievements[k].complete)
|
QuestHelper: Assert(v.complete and not oldADB.achievements[k].complete)
|
||||||
if not QHCA[k] then QHCA[k] = {} end
|
if not QHCA[k] then QHCA[k] = {} end
|
||||||
QHCA[k].achieved = (QHCA[k].achieved or "") .. cloc
|
if not QHCA[k].achieved then QHCA[k].achieved = {} end
|
||||||
|
table.insert(QHCA[k].achieved, cloc)
|
||||||
|
--QHCA[k].achieved = (QHCA[k].achieved or "") .. cloc
|
||||||
|
|
||||||
--QuestHelper:TextOut(string.format("Achievement complete, %s", select(2, GetAchievementInfo(k))))
|
--QuestHelper:TextOut(string.format("Achievement complete, %s", select(2, GetAchievementInfo(k))))
|
||||||
end
|
end
|
||||||
|
@ -38,7 +40,9 @@ local function ScanAchievements(oldADB, newADB)
|
||||||
--QuestHelper:TextOut(string.format("Criteria complete, %d", k))
|
--QuestHelper:TextOut(string.format("Criteria complete, %d", k))
|
||||||
--QuestHelper:TextOut(string.format("Criteria complete, %s", select(1, GetAchievementCriteriaInfo(k))))
|
--QuestHelper:TextOut(string.format("Criteria complete, %s", select(1, GetAchievementCriteriaInfo(k))))
|
||||||
if not QHCA[v.parent] then QHCA[v.parent] = {} end
|
if not QHCA[v.parent] then QHCA[v.parent] = {} end
|
||||||
QHCA[v.parent][k] = (QHCA[v.parent][k] or "") .. cloc
|
if not QHCA[v.parent][k] then QHCA[v.parent][k] = {} end
|
||||||
|
table.insert(QHCA[v.parent][k], cloc)
|
||||||
|
--QHCA[v.parent][k] = (QHCA[v.parent][k] or "") .. cloc
|
||||||
elseif v.progress > oldADB.criteria[k].progress then
|
elseif v.progress > oldADB.criteria[k].progress then
|
||||||
--QuestHelper:TextOut(string.format("Criteria progress, %d", k))
|
--QuestHelper:TextOut(string.format("Criteria progress, %d", k))
|
||||||
--QuestHelper:TextOut(string.format("Criteria progress, %s", select(1, GetAchievementCriteriaInfo(k))))
|
--QuestHelper:TextOut(string.format("Criteria progress, %s", select(1, GetAchievementCriteriaInfo(k))))
|
||||||
|
|
|
@ -6,6 +6,19 @@ if QuestHelper_File["collect_loot.lua"] == "Development Version" then debug_outp
|
||||||
|
|
||||||
local QHC
|
local QHC
|
||||||
|
|
||||||
|
local PseudoIDs = {
|
||||||
|
["gold"] = -1,
|
||||||
|
["Dwarf"] = -2,
|
||||||
|
["Troll"] = -3,
|
||||||
|
["Fossil"] = -4,
|
||||||
|
["Night Elf"] = -5,
|
||||||
|
["Nerubian"] = -6,
|
||||||
|
["Vrykul"] = -7,
|
||||||
|
["Draenei"] = -8,
|
||||||
|
["Orc"] = -9,
|
||||||
|
["Tol'vir"] = -10,
|
||||||
|
}
|
||||||
|
|
||||||
local GetMonsterUID
|
local GetMonsterUID
|
||||||
local GetMonsterType
|
local GetMonsterType
|
||||||
|
|
||||||
|
@ -446,9 +459,13 @@ local function LootOpened()
|
||||||
if IsFishingLoot() then
|
if IsFishingLoot() then
|
||||||
-- yaaaaay
|
-- yaaaaay
|
||||||
--if debug_output then QuestHelper:TextOut("Fishing loot") end
|
--if debug_output then QuestHelper:TextOut("Fishing loot") end
|
||||||
local loc = "(" .. GetLoc() .. ")"
|
local loc = GetLoc()
|
||||||
if not QHC.fishing[loc] then QHC.fishing[loc] = {} end
|
if not QHC.fishing[loc.delayed] then QHC.fishing[loc.delayed] = {} end
|
||||||
spot = QHC.fishing[loc]
|
if not QHC.fishing[loc.delayed][loc.c] then QHC.fishing[loc.delayed][loc.c] = {} end
|
||||||
|
if not QHC.fishing[loc.delayed][loc.c][loc.z] then QHC.fishing[loc.delayed][loc.c][loc.z] = {} end
|
||||||
|
if not QHC.fishing[loc.delayed][loc.c][loc.z][loc.x] then QHC.fishing[loc.delayed][loc.c][loc.z][loc.x] = {} end
|
||||||
|
if not QHC.fishing[loc.delayed][loc.c][loc.z][loc.x][loc.y] then QHC.fishing[loc.delayed][loc.c][loc.z][loc.x][loc.y] = {} end
|
||||||
|
spot = QHC.fishing[loc.delayed][loc.c][loc.z][loc.x][loc.y]
|
||||||
prefix = "fish"
|
prefix = "fish"
|
||||||
|
|
||||||
elseif pickpocket_phase == PP_PHASE_COMPLETE and pickpocket_timestamp and pickpocket_timestamp + 1 > GetTime() and targetguid == pickpocket_otarget_guid then
|
elseif pickpocket_phase == PP_PHASE_COMPLETE and pickpocket_timestamp and pickpocket_timestamp + 1 > GetTime() and targetguid == pickpocket_otarget_guid then
|
||||||
|
@ -505,33 +522,36 @@ local function LootOpened()
|
||||||
monsterrefresh[targetguid] = GetTime() + 2
|
monsterrefresh[targetguid] = GetTime() + 2
|
||||||
else
|
else
|
||||||
--if debug_output then QuestHelper:TextOut("Who knows") end -- ugh
|
--if debug_output then QuestHelper:TextOut("Who knows") end -- ugh
|
||||||
local loc = "(" .. GetLoc() .. ")"
|
local loc = GetLoc()
|
||||||
if not QHC.worldloot[loc] then QHC.worldloot[loc] = {} end
|
if not QHC.worldloot[loc.delayed] then QHC.fishing[loc.delayed] = {} end
|
||||||
spot = QHC.worldloot[loc]
|
if not QHC.worldloot[loc.delayed][loc.c] then QHC.fishing[loc.delayed][loc.c] = {} end
|
||||||
|
if not QHC.worldloot[loc.delayed][loc.c][loc.z] then QHC.fishing[loc.delayed][loc.c][loc.z] = {} end
|
||||||
|
if not QHC.worldloot[loc.delayed][loc.c][loc.z][loc.x] then QHC.fishing[loc.delayed][loc.c][loc.z][loc.x] = {} end
|
||||||
|
if not QHC.worldloot[loc.delayed][loc.c][loc.z][loc.x][loc.y] then QHC.fishing[loc.delayed][loc.c][loc.z][loc.x][loc.y] = {} end
|
||||||
|
spot = QHC.worldloot[loc.delayed][loc.c][loc.z][loc.x][loc.y]
|
||||||
prefix = "loot"
|
prefix = "loot"
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
local items = {}
|
local items = {}
|
||||||
items.gold = 0
|
items[pseudoIDs["gold"]] = 0
|
||||||
for i = 1, GetNumLootItems() do
|
for i = 1, GetNumLootItems() do
|
||||||
_, name, quant, _ = GetLootSlotInfo(i)
|
_, name, quant, _ = GetLootSlotInfo(i)
|
||||||
link = GetLootSlotLink(i)
|
link = GetLootSlotLink(i)
|
||||||
if quant == 0 then
|
if quant == 0 then
|
||||||
-- moneys
|
-- moneys
|
||||||
local _, _, amount = string.find(name, Patterns.GOLD_AMOUNT)
|
local tot = 0
|
||||||
if amount then items.gold = items.gold + tonumber(amount) * 10000 end
|
local _, _, gold = string.find(name, Patterns.GOLD_AMOUNT)
|
||||||
|
local _, _, silver = string.find(name, Patterns.SILVER_AMOUNT)
|
||||||
local _, _, amount = string.find(name, Patterns.SILVER_AMOUNT)
|
local _, _, copper = string.find(name, Patterns.COPPER_AMOUNT)
|
||||||
if amount then items.gold = items.gold + tonumber(amount) * 100 end
|
tot = (tonumber(gold) or 0) * 10000 + (tonumber(silver) or 0) * 100 + (tonumber(copper) or 0) * 1
|
||||||
|
items[pseudoIDs["gold"]] = tot
|
||||||
local _, _, amount = string.find(name, Patterns.COPPER_AMOUNT)
|
|
||||||
if amount then items.gold = items.gold + tonumber(amount) * 1 end
|
|
||||||
else
|
else
|
||||||
if string.find(name, "Archaeology Fragment") then
|
if string.find(name, "Archaeology Fragment") then
|
||||||
items[name] = (items[name] or 0) + quant
|
local _, _, match = string.find(name, "(.*) Archaeology Fragment")
|
||||||
|
items[pseudoIDs[match]] = (items[pseudoIDs[match]] or 0) + quant
|
||||||
else
|
else
|
||||||
local itype = GetItemType(link)
|
local itype = GetItemType(link)
|
||||||
items[itype] = (items[itype] or 0) + quant
|
items[itype] = (items[itype] or 0) + quant
|
||||||
|
@ -539,9 +559,10 @@ local function LootOpened()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
spot[prefix .. "_count"] = (spot[prefix .. "_count"] or 0) + 1
|
if not spot[prefix] then spot[prefix] = {}
|
||||||
if not spot[prefix .. "_loot"] then spot[prefix .. "_loot"] = {} end
|
spot[prefix]["count"] = (spot[prefix]["count"] or 0) + 1
|
||||||
local pt = spot[prefix .. "_loot"]
|
if not spot[prefix]["loot"] then spot[prefix]["loot"] = {} end
|
||||||
|
local pt = spot[prefix]["loot"]
|
||||||
for k, v in pairs(items) do
|
for k, v in pairs(items) do
|
||||||
if v > 0 then pt[k] = (pt[k] or 0) + v end
|
if v > 0 then pt[k] = (pt[k] or 0) + v end
|
||||||
end
|
end
|
||||||
|
|
|
@ -80,7 +80,12 @@ local function MouseoverUnit()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
QuestHelper: Assert(minrange >= 0 and minrange < 256 and maxrange >= 0 and maxrange < 256)
|
QuestHelper: Assert(minrange >= 0 and minrange < 256 and maxrange >= 0 and maxrange < 256)
|
||||||
Merger.Add(critter, string.format("(%s %s %s),", GetLoc(), tostring(minrange), tostring(maxrange))) --strchar(minrange, maxrange))
|
local data = {}
|
||||||
|
data.loc = GetLoc()
|
||||||
|
data.minrange = minrange
|
||||||
|
data.maxrange = maxrange
|
||||||
|
table.insert(critter, data)
|
||||||
|
--Merger.Add(critter, string.format("(%s %s %s),", GetLoc(), tostring(minrange), tostring(maxrange))) --strchar(minrange, maxrange))
|
||||||
|
|
||||||
if #recentlySeenCritters_Recent >= 100 then
|
if #recentlySeenCritters_Recent >= 100 then
|
||||||
for k, v in recentlySeenCritters_NextTrash do
|
for k, v in recentlySeenCritters_NextTrash do
|
||||||
|
|
|
@ -88,7 +88,20 @@ local function Tooltipy(self)
|
||||||
|
|
||||||
-- We have no unique identifier, so I'm just going to record every position we see. That said, I wonder if it's a good idea to add a cooldown.
|
-- We have no unique identifier, so I'm just going to record every position we see. That said, I wonder if it's a good idea to add a cooldown.
|
||||||
-- Obviously, we also have no possible range data, so, welp.
|
-- Obviously, we also have no possible range data, so, welp.
|
||||||
Merger.Add(qhci, "(" .. GetLoc() .. ")", true)
|
local loc = GetLoc()
|
||||||
|
local contained = false
|
||||||
|
for _, v in pairs(qhci) do
|
||||||
|
if v.delayed then
|
||||||
|
if v.delayed == loc.delayed and
|
||||||
|
v.c == loc.c and v.z == loc.z and
|
||||||
|
v.x == loc.x and v.y == loc.y then
|
||||||
|
contained = true
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if not contained then table.insert(qhci, loc)
|
||||||
|
--Merger.Add(qhci, "(" .. GetLoc() .. ")", true)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -152,7 +152,7 @@ local function Looted(message)
|
||||||
if type(ltype) ~= "number" then
|
if type(ltype) ~= "number" then
|
||||||
error(string.format("Expected a number but got a %s.", type(ltype)) .. "The value is:" .. ltype)
|
error(string.format("Expected a number but got a %s.", type(ltype)) .. "The value is:" .. ltype)
|
||||||
end
|
end
|
||||||
table.insert(eventy, {time = GetTime(), event = string.format("I%di", ltype)})
|
table.insert(eventy, {time = GetTime(), event = {type = "item", value = ltype}})
|
||||||
--if debug_output then QuestHelper:TextOut(string.format("Added event %s", string.format("I%di", ltype))) end
|
--if debug_output then QuestHelper:TextOut(string.format("Added event %s", string.format("I%di", ltype))) end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -160,7 +160,7 @@ local function Combat(_, event, _, _, _, guid)
|
||||||
if event ~= "UNIT_DIED" then return end
|
if event ~= "UNIT_DIED" then return end
|
||||||
if not IsMonsterGUID(guid) then return end
|
if not IsMonsterGUID(guid) then return end
|
||||||
local mtype = GetMonsterType(guid, true)
|
local mtype = GetMonsterType(guid, true)
|
||||||
table.insert(eventy, {time = GetTime(), event = string.format("M%dm", mtype)})
|
table.insert(eventy, {time = GetTime(), event = { type = "monster", value = mtype}})
|
||||||
--if debug_output then QuestHelper:TextOut(string.format("Added event %s", string.format("M%dm", mtype))) end
|
--if debug_output then QuestHelper:TextOut(string.format("Added event %s", string.format("M%dm", mtype))) end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -180,19 +180,25 @@ local function WatchUpdate() -- we're currently ignoring the ID of the quest th
|
||||||
end
|
end
|
||||||
|
|
||||||
local function AppendMember(tab, key, dat)
|
local function AppendMember(tab, key, dat)
|
||||||
tab[key] = (tab[key] or "") .. dat
|
if not tab[key] then tab[key] = {} end
|
||||||
|
table.insert(tab[key], dat)
|
||||||
|
--tab[key] = (tab[key] or "") .. dat
|
||||||
end
|
end
|
||||||
|
|
||||||
local function StartOrEnd(se, id)
|
local function StartOrEnd(se, id)
|
||||||
local targuid = UnitGUID("target")
|
local targuid = UnitGUID("target")
|
||||||
local chunk = ""
|
local chunk = {}
|
||||||
if targuid and IsMonsterGUID(targuid) then
|
if targuid and IsMonsterGUID(targuid) then
|
||||||
chunk = string.format("M%dm", GetMonsterType(targuid))
|
chunk.m = GetMonsterType(targuid)
|
||||||
end
|
end
|
||||||
chunk = chunk .. "(" .. GetLoc() ..")"
|
chunk.loc = GetLoc()
|
||||||
|
chunk.spec = GetSpecBolus()
|
||||||
|
|
||||||
AppendMember(QHCQ[id], se, chunk)
|
if not QHCQ[id][se] then QHCQ[id][se] = {} end
|
||||||
AppendMember(QHCQ[id], se .. "_spec", GetSpecBolus())
|
|
||||||
|
table.insert(QHCQ[id][se], chunk)
|
||||||
|
--AppendMember(QHCQ[id], se, chunk)
|
||||||
|
--AppendMember(QHCQ[id], se .. "_spec", GetSpecBolus())
|
||||||
end
|
end
|
||||||
|
|
||||||
local abandoncomplete = ""
|
local abandoncomplete = ""
|
||||||
|
@ -274,34 +280,27 @@ local function UpdateQuests()
|
||||||
QuestHelper: Assert(#deebey[k] == #noobey[k], string.format("%d vs %d, %d", #deebey[k], #noobey[k], k))
|
QuestHelper: Assert(#deebey[k] == #noobey[k], string.format("%d vs %d, %d", #deebey[k], #noobey[k], k))
|
||||||
for i = 1, #deebey[k] do
|
for i = 1, #deebey[k] do
|
||||||
|
|
||||||
--[[
|
|
||||||
if not (noobey[k][i] >= deebey[k][i]) then
|
|
||||||
QuestHelper:TextOut(string.format("%s, %s", type(noobey[k][i]), type(deebey[k][i])))
|
|
||||||
QuestHelper:TextOut(string.format("%d, %d", noobey[k][i], deebey[k][i]))
|
|
||||||
for index = 1, 100 do
|
|
||||||
local qlink = GetQuestLink(index)
|
|
||||||
if qlink then qlink = GetQuestType(qlink) end
|
|
||||||
if qlink == k then
|
|
||||||
QuestHelper:TextOut(GetQuestLogLeaderBoard(i, index))
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
QuestHelper: Assert(noobey[k][i] >= deebey[k][i]) -- man I hope this is true]] -- This entire section can fail if people throw away quest items, or if quest items have a duration that expires. Sigh.
|
|
||||||
|
|
||||||
if noobey[k][i] > deebey[k][i] then
|
if noobey[k][i] > deebey[k][i] then
|
||||||
if not token then
|
if not token then
|
||||||
token = ""
|
token = {}
|
||||||
for k, v in pairs(eventy) do token = token .. v.event end
|
token["events"] = {}
|
||||||
|
for k, v in pairs(eventy) do table.insert(token.events, = v.event) end
|
||||||
debugtok = token
|
debugtok = token
|
||||||
token = token .. "(" .. GetLoc() .. ")"
|
token["loc"] = GetLoc()
|
||||||
|
--token = token .. "(" .. GetLoc() .. ")"
|
||||||
end
|
end
|
||||||
|
|
||||||
local ttok = token
|
local ttok = token
|
||||||
if noobey[k][i] - 1 ~= deebey[k][i] then
|
if noobey[k][i] - 1 ~= deebey[k][i] then
|
||||||
ttok = string.format("C%dc", noobey[k][i] - deebey[k][i]) .. ttok
|
--ttok = string.format("C%dc", noobey[k][i] - deebey[k][i]) .. ttok
|
||||||
|
if not ttok["Cdc"] then ttok["Cdc"] = {} end
|
||||||
|
table.insert(ttok["Cdc"], noobey[k][i] - deebey[k][i])
|
||||||
end
|
end
|
||||||
|
|
||||||
AppendMember(QHCQ[k], string.format("criteria_%d_satisfied", i), ttok)
|
if not QHCQ[k]["criteria_satisfied"] then QHCQ[k]["criteria_satisfied"] = {} end
|
||||||
|
if not QHCQ[k]["criteria_satisfied"][i] then QHCQ[k]["criteria_satisfied"][i] = {} end
|
||||||
|
table.insert(QHCQ[k]["criteria_satisfied"][i], ttok)
|
||||||
|
--AppendMember(QHCQ[k], string.format("criteria_%d_satisfied", i), ttok)
|
||||||
|
|
||||||
if debug_output then QuestHelper:TextOut(string.format("Updated! Questid %d item %d count %d tok %s", k, i, noobey[k][i] - deebey[k][i], debugtok)) end
|
if debug_output then QuestHelper:TextOut(string.format("Updated! Questid %d item %d count %d tok %s", k, i, noobey[k][i] - deebey[k][i], debugtok)) end
|
||||||
diffs = diffs + 1
|
diffs = diffs + 1
|
||||||
|
|
|
@ -42,30 +42,27 @@ local function GetSpecBolus()
|
||||||
--[[ assert(racelookup[race]) ]]
|
--[[ assert(racelookup[race]) ]]
|
||||||
|
|
||||||
--local bso = Bitstream.Output(8)
|
--local bso = Bitstream.Output(8)
|
||||||
|
local talents = {}
|
||||||
|
|
||||||
for t = 1, GetNumTalentTabs() do -- come on. Is this ever not going to be 3? Seriously?
|
for t = 1, GetNumTalentTabs() do -- come on. Is this ever not going to be 3? Seriously?
|
||||||
if t == 1 then
|
talents[t] = {}
|
||||||
talstr = talstr .. "("
|
|
||||||
else
|
|
||||||
talstr = talstr .. ",("
|
|
||||||
end
|
|
||||||
for ta = 1, GetNumTalents(t) do
|
for ta = 1, GetNumTalents(t) do
|
||||||
local _, _, _, _, rank, _ = GetTalentInfo(t, ta)
|
local _, _, _, _, rank, _ = GetTalentInfo(t, ta)
|
||||||
if ta == 1 then
|
talents[t][ta] = rank
|
||||||
talstr = talstr .. rank
|
|
||||||
else
|
|
||||||
talstr = talstr .. "," .. rank
|
|
||||||
end
|
|
||||||
--bso:append(rank, 3)
|
--bso:append(rank, 3)
|
||||||
end
|
end
|
||||||
talstr = talstr .. ")"
|
|
||||||
--bso:append(6, 3) -- no 6-point talents, so we use this as an end-of-tree market
|
--bso:append(6, 3) -- no 6-point talents, so we use this as an end-of-tree market
|
||||||
end
|
end
|
||||||
talstr = talstr .. ")"
|
|
||||||
--bso:append(7, 3) -- end-of-spec! because of *all of those 4-tree classes*
|
--bso:append(7, 3) -- end-of-spec! because of *all of those 4-tree classes*
|
||||||
|
|
||||||
--return string.format("2%s%s%02d", classlookup[id], racelookup[race] or "", level) .. bso:finish()
|
--return string.format("2%s%s%02d", classlookup[id], racelookup[race] or "", level) .. bso:finish()
|
||||||
return string.format("(2%s,%s,%02d)", classlookup[id], racelookup[race] or "", level) .. talstr
|
local spec = {}
|
||||||
|
spec.talents = talents
|
||||||
|
spec.class = classlookup[id]
|
||||||
|
spec.race = racelookup[id] or ""
|
||||||
|
spec.level = level
|
||||||
|
--return string.format("(2%s,%s,%02d)", classlookup[id], racelookup[race] or "", level) .. talstr
|
||||||
|
return spec
|
||||||
end
|
end
|
||||||
|
|
||||||
function QH_Collect_Spec_Init(_, API)
|
function QH_Collect_Spec_Init(_, API)
|
||||||
|
|
|
@ -49,15 +49,17 @@ local dy = {0, 1, 0, -1}
|
||||||
|
|
||||||
local function InitWorking()
|
local function InitWorking()
|
||||||
QHCT.working = {}
|
QHCT.working = {}
|
||||||
QHCT.working.prefix = ""
|
QHCT.working.prefix = {}
|
||||||
end
|
end
|
||||||
|
|
||||||
local function AddDataPrefix(data)
|
local function AddDataPrefix(data)
|
||||||
QHCT.working.prefix = QHCT.working.prefix .. data
|
table.insert(QHCT.working.prefix, data)
|
||||||
|
--QHCT.working.prefix = QHCT.working.prefix .. data
|
||||||
end
|
end
|
||||||
|
|
||||||
local function AddData(data)
|
local function AddData(data)
|
||||||
Merger.Add(QHCT.working, data)
|
table.insert(QHCT.working, data)
|
||||||
|
--Merger.Add(QHCT.working, data)
|
||||||
end
|
end
|
||||||
|
|
||||||
local function FinishData()
|
local function FinishData()
|
||||||
|
@ -137,6 +139,8 @@ local function QH_Collect_Traveled_Point(c, x, y, rc, rz)
|
||||||
|
|
||||||
cc, cx, cy, cd = c, nx, ny, 1
|
cc, cx, cy, cd = c, nx, ny, 1
|
||||||
swim, mount, flying, taxi = false, false, false, false
|
swim, mount, flying, taxi = false, false, false, false
|
||||||
|
local b = Bolus(c, x, y, rc, rz)
|
||||||
|
b.faction = QuestHelper:PlayerFaction()
|
||||||
AddDataPrefix(Bolus(c, x, y, rc, rz) .. strchar(tostring(QuestHelper:PlayerFaction()))) -- The playerfaction can be removed, as it's now encoded in the collection shard. Not removing it for compatibility reasons.
|
AddDataPrefix(Bolus(c, x, y, rc, rz) .. strchar(tostring(QuestHelper:PlayerFaction()))) -- The playerfaction can be removed, as it's now encoded in the collection shard. Not removing it for compatibility reasons.
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -43,7 +43,9 @@ local function OnUpdate()
|
||||||
|
|
||||||
if last_warp + 10 < GetTime() and leapy then
|
if last_warp + 10 < GetTime() and leapy then
|
||||||
if debug_output then QuestHelper:TextOut("REAL Warpy!") end
|
if debug_output then QuestHelper:TextOut("REAL Warpy!") end
|
||||||
Merger.Add(QHCW, "(" .. lastloc_bolus .. ")(" .. bolus .. ")")
|
local warpy = { last = lastloc_bolus, current = bolus }
|
||||||
|
table.insert(QHCW, warpy)
|
||||||
|
--Merger.Add(QHCW, "(" .. lastloc_bolus .. ")(" .. bolus .. ")")
|
||||||
last_warp = GetTime()
|
last_warp = GetTime()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -23,9 +23,12 @@ local function DoZoneUpdate(label, debugverbose)
|
||||||
QHCZ[zname].mapname = GetMapInfo()
|
QHCZ[zname].mapname = GetMapInfo()
|
||||||
|
|
||||||
local loc = GetLoc()
|
local loc = GetLoc()
|
||||||
if loc == "€\000\000\000€\000\000\000€€€" then return end -- this is kind of the "null value"
|
if loc.delayed == 128 and loc.c == 0 and loc.z == 0 and loc.x == -128 and loc.y == -128 then return end
|
||||||
|
--if loc == "€\000\000\000€\000\000\000€€€" then return end -- this is kind of the "null value"
|
||||||
|
local found = false
|
||||||
|
|
||||||
Merger.Add(znl, loc, true)
|
-- Commented out, 'cause this module isn't really loaded anymore. I'll remove it after the next commit.
|
||||||
|
--Merger.Add(znl, loc, true)
|
||||||
end
|
end
|
||||||
|
|
||||||
local function OnEvent()
|
local function OnEvent()
|
||||||
|
|
|
@ -286,15 +286,20 @@ function load_graph_links()
|
||||||
coord[1] = 198
|
coord[1] = 198
|
||||||
end
|
end
|
||||||
|
|
||||||
-- I hate Blizzard... They can't make up their mind weather we are on LostIsles or Hyjal_terrain1, but we only seem to be on one or the other.
|
-- I hate Blizzard... They can't make up their mind weather we are on LostIsles, LostIsles_terrain1 or LostIsles_terrain2, but we only seem to be on one.
|
||||||
if (coord[1] == 208 or coord[1] == 209) and not QuestHelper_ZoneLookup[coord[1]] then
|
-- Trust me when I say that unless there's more terrains for LostIsles, this does NOT loop back to coord[1] == 181.
|
||||||
coord[1] = 181
|
if not QuestHelper_ZoneLookup[coord[1]] and coord[1] == 181 then
|
||||||
elseif (coord[1] == 181 or coord[1] == 209) and not QuestHelper_ZoneLookup[coord[1]] then
|
|
||||||
coord[1] = 208
|
coord[1] = 208
|
||||||
elseif (coord[1] == 181 or coord[1] == 208) and not QuestHelper_ZoneLookup[coord[1]] then
|
end
|
||||||
|
|
||||||
|
if not QuestHelper_ZoneLookup[coord[1]] and coord[1] == 208 then
|
||||||
coord[1] = 209
|
coord[1] = 209
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if not QuestHelper_ZoneLookup[coord[1]] and coord[1] == 209 then
|
||||||
|
coord[1] = 181
|
||||||
|
end
|
||||||
|
|
||||||
QuestHelper: Assert(QuestHelper_ZoneLookup[coord[1]], string.format("Coord[1] = %d", coord[1]))
|
QuestHelper: Assert(QuestHelper_ZoneLookup[coord[1]], string.format("Coord[1] = %d", coord[1]))
|
||||||
local c, x, y = QuestHelper.Astrolabe:GetAbsoluteContinentPosition(QuestHelper_ZoneLookup[coord[1]][1], QuestHelper_ZoneLookup[coord[1]][2], coord[2], coord[3])
|
local c, x, y = QuestHelper.Astrolabe:GetAbsoluteContinentPosition(QuestHelper_ZoneLookup[coord[1]][1], QuestHelper_ZoneLookup[coord[1]][2], coord[2], coord[3])
|
||||||
QuestHelper: Assert(c)
|
QuestHelper: Assert(c)
|
||||||
|
|
Référencer dans un nouveau ticket