CheckInteractDistance(id, 1) and CanInspect(id) then
if not inspecting then
inspecting = guid;
- print("Sending inspect", UnitName(id));
NotifyInspect(id);
redoGuid = guid;
CTimerAfter(20, redo);
cached.cb = callback;
cached.needItems = needItems;
local elapsed = GetTime() - cached.time;
- if force or (not needItems and (not cached.talent or elapsed > 60)) or
- (needItems and (not cached.weapon or elapsed > 60)) then
+ if force or (not needItems and (cached.talent == nil or elapsed > 60)) or
+ (needItems and (cached.weapon == nil or elapsed > 60)) then
if not pending[guid] or inspecting ~= guid then -- don't send multiple inspects
inspect(id);
end
end
local function inspectReady(guid)
- if not guid or inspecting ~= guid then print("Got inspect from elsewhere"); return end
+ if not guid or inspecting ~= guid then return end
local cached = cache[guid];
if cached and cached.id and UnitGUID(cached.id) == guid then
local time = GetTime();
cached.wrist = GetInventoryItemID(id, INVSLOT_WRIST);
end
cached.spec = GetInspectSpecialization(id);
- local _, _, _, selected = GetTalentInfo(6, 2, 1, true, id);
+ local _, _, _, selected = GetTalentInfo(6, 1, 1, true, id);
cached.talent = selected;
end
if not inspectui then ClearInspectPlayer() end
if (cached.needItems and cached.weapon) or
(not cached.needItems and cached.talent ~= nil) then
- print("Got inspect done", UnitName(id));
cached.cb(guid, cached.spec, cached.talent, cached.weapon, cached.wrist);
else
pending[guid] = true;
tick();
end
-frame:RegisterEvent("PLAYER_LOGIN");
frame:SetScript("OnEvent", function(self, event)
- if event == "PLAYER_LOGIN" then
- return create();
- end
+ return create();
end);
+frame:RegisterEvent("PLAYER_LOGIN");