greent refactoring
This commit is contained in:
+25
-16
@@ -1,6 +1,6 @@
|
||||
module 'aux'
|
||||
|
||||
include 'green_t'
|
||||
include 'green_T'
|
||||
|
||||
local info = require 'aux.util.info'
|
||||
local money = require 'aux.util.money'
|
||||
@@ -19,7 +19,8 @@ function M.set_p(v)
|
||||
inspect(nil, v)
|
||||
end
|
||||
|
||||
function M.print(...) auto_release(arg, true)
|
||||
function M.print(...)
|
||||
auto_release(arg, true)
|
||||
DEFAULT_CHAT_FRAME:AddMessage(LIGHTYELLOW_FONT_COLOR_CODE .. '[aux] ' .. join(map(arg, tostring), ' '))
|
||||
end
|
||||
|
||||
@@ -35,9 +36,9 @@ for event in temp-S('ADDON_LOADED', 'VARIABLES_LOADED', 'PLAYER_LOGIN', 'AUCTION
|
||||
event_frame:RegisterEvent(event)
|
||||
end
|
||||
|
||||
ADDON_LOADED = t
|
||||
ADDON_LOADED = T
|
||||
do
|
||||
local handlers, handlers2 = t, t
|
||||
local handlers, handlers2 = T, T
|
||||
function M.set_LOAD(f)
|
||||
tinsert(handlers, f)
|
||||
end
|
||||
@@ -58,9 +59,9 @@ do
|
||||
end)
|
||||
end
|
||||
|
||||
tab_info = t
|
||||
tab_info = T
|
||||
function M.TAB(name)
|
||||
local tab = T('name', name)
|
||||
local tab = O('name', name)
|
||||
local env = getfenv(2)
|
||||
function env.set_OPEN(f) tab.OPEN = f end
|
||||
function env.set_CLOSE(f) tab.CLOSE = f end
|
||||
@@ -80,7 +81,8 @@ do
|
||||
end
|
||||
end
|
||||
|
||||
function SetItemRef(...) auto_release(arg, true)
|
||||
function SetItemRef(...)
|
||||
auto_release(arg, true)
|
||||
if arg[3] ~= 'RightButton' or not index(active_tab, 'CLICK_LINK') or not strfind(arg[1], '^item:%d+') then
|
||||
return orig.SetItemRef(unpack(arg))
|
||||
end
|
||||
@@ -89,7 +91,8 @@ function SetItemRef(...) auto_release(arg, true)
|
||||
end
|
||||
end
|
||||
|
||||
function UseContainerItem(...) auto_release(arg, true)
|
||||
function UseContainerItem(...)
|
||||
auto_release(arg, true)
|
||||
if modified or not index(active_tab, 'USE_ITEM') then
|
||||
return orig.UseContainerItem(unpack(arg))
|
||||
end
|
||||
@@ -98,8 +101,9 @@ function UseContainerItem(...) auto_release(arg, true)
|
||||
end
|
||||
end
|
||||
|
||||
M.orig = setmetatable({[_G]=t}, {__index=function(self, key) return self[_G][key] end})
|
||||
function M.hook(...) auto_release(arg, true)
|
||||
M.orig = setmetatable({[_G]=T}, {__index=function(self, key) return self[_G][key] end})
|
||||
function M.hook(...)
|
||||
auto_release(arg, true)
|
||||
local name, object, handler
|
||||
if arg.n == 3 then
|
||||
name, object, handler = unpack(arg)
|
||||
@@ -107,7 +111,7 @@ function M.hook(...) auto_release(arg, true)
|
||||
object, name, handler = _G, unpack(arg)
|
||||
end
|
||||
handler = handler or getfenv(2)[name]
|
||||
orig[object] = orig[object] or t
|
||||
orig[object] = orig[object] or T
|
||||
assert(not orig[object][name], '"' .. name .. '" is already hooked into.')
|
||||
orig[object][name], object[name] = object[name], handler
|
||||
return hook
|
||||
@@ -195,7 +199,8 @@ end
|
||||
|
||||
do
|
||||
local last_owner_page_requested
|
||||
function GetOwnerAuctionItems(...) auto_release(arg, true)
|
||||
function GetOwnerAuctionItems(...)
|
||||
auto_release(arg, true)
|
||||
local page = arg[1]
|
||||
last_owner_page_requested = page
|
||||
return orig.GetOwnerAuctionItems(unpack(arg))
|
||||
@@ -208,7 +213,8 @@ end
|
||||
function ADDON_LOADED.Blizzard_AuctionUI()
|
||||
AuctionFrame:UnregisterEvent('AUCTION_HOUSE_SHOW')
|
||||
AuctionFrame:SetScript('OnHide', nil)
|
||||
hook('ShowUIPanel', function(...) auto_release(arg, true)
|
||||
hook('ShowUIPanel', function(...)
|
||||
auto_release(arg, true)
|
||||
if arg[1] == AuctionFrame then return AuctionFrame:Show() end
|
||||
return orig.ShowUIPanel(unpack(arg))
|
||||
end)
|
||||
@@ -223,7 +229,8 @@ do
|
||||
return label
|
||||
end
|
||||
function ADDON_LOADED.Blizzard_CraftUI()
|
||||
hook('CraftFrame_SetSelection', function(...) auto_release(arg, true)
|
||||
hook('CraftFrame_SetSelection', function(...)
|
||||
auto_release(arg, true)
|
||||
local ret = temp-A(orig.CraftFrame_SetSelection(unpack(arg)))
|
||||
local id = GetCraftSelectionIndex()
|
||||
local reagent_count = GetCraftNumReagents(id)
|
||||
@@ -250,7 +257,8 @@ do
|
||||
end)
|
||||
end
|
||||
function ADDON_LOADED.Blizzard_TradeSkillUI()
|
||||
hook('TradeSkillFrame_SetSelection', function(...) auto_release(arg, true)
|
||||
hook('TradeSkillFrame_SetSelection', function(...)
|
||||
auto_release(arg, true)
|
||||
local ret = temp-A(orig.TradeSkillFrame_SetSelection(unpack(arg)))
|
||||
local id = GetTradeSkillSelectionIndex()
|
||||
local reagent_count = GetTradeSkillNumReagents(id)
|
||||
@@ -278,7 +286,8 @@ do
|
||||
end
|
||||
end
|
||||
|
||||
function AuctionFrameAuctions_OnEvent(...) auto_release(arg, true)
|
||||
function AuctionFrameAuctions_OnEvent(...)
|
||||
auto_release(arg, true)
|
||||
if AuctionFrameAuctions:IsVisible() then
|
||||
return orig.AuctionFrameAuctions_OnEvent(unpack(arg))
|
||||
end
|
||||
|
||||
+3
-3
@@ -2,7 +2,7 @@ module 'aux'
|
||||
|
||||
local event_frame = CreateFrame('Frame')
|
||||
|
||||
local listeners, threads = t, t
|
||||
local listeners, threads = T, T
|
||||
|
||||
local thread_id
|
||||
function M.get_thread_id() return thread_id end
|
||||
@@ -70,7 +70,7 @@ end
|
||||
|
||||
function M.event_listener(event, cb)
|
||||
local listener_id = unique_id
|
||||
listeners[listener_id] = T(
|
||||
listeners[listener_id] = O(
|
||||
'event', event,
|
||||
'cb', cb,
|
||||
'kill', vararg-function(arg) if getn(arg) == 0 or arg[1] then kill_listener(listener_id) end end
|
||||
@@ -95,7 +95,7 @@ do
|
||||
auto_release(arg, false)
|
||||
arg.f = tremove(arg, 1)
|
||||
local thread_id = unique_id
|
||||
threads[thread_id] = T('k', setmetatable(arg, mt))
|
||||
threads[thread_id] = O('k', setmetatable(arg, mt))
|
||||
return thread_id
|
||||
end
|
||||
|
||||
|
||||
+11
-11
@@ -1,6 +1,6 @@
|
||||
module 'aux.core.cache'
|
||||
|
||||
include 'green_t'
|
||||
include 'green_T'
|
||||
include 'aux'
|
||||
|
||||
local info = require 'aux.util.info'
|
||||
@@ -12,12 +12,12 @@ local MAX_ITEM_ID = 30000
|
||||
local items_schema = {'tuple', '#', {name='string'}, {quality='number'}, {level='number'}, {class='string'}, {subclass='string'}, {slot='string'}, {max_stack='number'}, {texture='string'}}
|
||||
local merchant_buy_schema = {'tuple', '#', {unit_price='number'}, {limited='boolean'}}
|
||||
|
||||
_G.aux_items = t
|
||||
_G.aux_item_ids = t
|
||||
_G.aux_auctionable_items = t
|
||||
_G.aux_merchant_buy = t
|
||||
_G.aux_merchant_sell = t
|
||||
_G.aux_characters = t
|
||||
_G.aux_items = T
|
||||
_G.aux_item_ids = T
|
||||
_G.aux_auctionable_items = T
|
||||
_G.aux_merchant_buy = T
|
||||
_G.aux_merchant_sell = T
|
||||
_G.aux_characters = T
|
||||
|
||||
function LOAD()
|
||||
scan_wdb()
|
||||
@@ -87,7 +87,7 @@ function M.item_info(item_id)
|
||||
local data_string = aux_items[item_id]
|
||||
if data_string then
|
||||
local cached_data = temp-persistence.read(items_schema, data_string)
|
||||
return T(
|
||||
return O(
|
||||
'name', cached_data.name,
|
||||
'itemstring', 'item:' .. item_id .. ':0:0:0',
|
||||
'quality', cached_data.quality,
|
||||
@@ -125,12 +125,12 @@ function merchant_buy_scan()
|
||||
unit_price = min(buy_info.unit_price, new_unit_price)
|
||||
end
|
||||
|
||||
aux_merchant_buy[item_id] = persistence.write(merchant_buy_schema, T(
|
||||
aux_merchant_buy[item_id] = persistence.write(merchant_buy_schema, O(
|
||||
'unit_price', unit_price,
|
||||
'limited', buy_info.limited and new_limited
|
||||
))
|
||||
else
|
||||
aux_merchant_buy[item_id] = persistence.write(merchant_buy_schema, T(
|
||||
aux_merchant_buy[item_id] = persistence.write(merchant_buy_schema, O(
|
||||
'unit_price', new_unit_price,
|
||||
'limited', new_limited
|
||||
))
|
||||
@@ -161,7 +161,7 @@ function scan_wdb(item_id)
|
||||
local name, _, quality, level, class, subclass, max_stack, slot, texture = GetItemInfo(itemstring)
|
||||
if name and not aux_item_ids[strlower(name)] then
|
||||
aux_item_ids[strlower(name)] = item_id
|
||||
aux_items[item_id] = persistence.write(items_schema, T(
|
||||
aux_items[item_id] = persistence.write(items_schema, O(
|
||||
'name', name,
|
||||
'quality', quality,
|
||||
'level', level,
|
||||
|
||||
+50
-50
@@ -1,6 +1,6 @@
|
||||
module 'aux.core.disenchant'
|
||||
|
||||
include 'green_t'
|
||||
include 'green_T'
|
||||
include 'aux'
|
||||
|
||||
local history = require 'aux.core.history'
|
||||
@@ -8,7 +8,7 @@ local history = require 'aux.core.history'
|
||||
local UNCOMMON, RARE, EPIC = 2, 3, 4
|
||||
|
||||
do
|
||||
local data = T(
|
||||
local data = O(
|
||||
10940, A('DUST', '1-20'),
|
||||
11083, A('DUST', '21-30'),
|
||||
11137, A('DUST', '31-40'),
|
||||
@@ -86,7 +86,7 @@ end
|
||||
|
||||
function M.distribution(slot, quality, level)
|
||||
if not ARMOR[slot] and not WEAPON[slot] or level == 0 then
|
||||
return t
|
||||
return T
|
||||
end
|
||||
|
||||
local function p(probability_armor, probability_weapon)
|
||||
@@ -100,102 +100,102 @@ function M.distribution(slot, quality, level)
|
||||
if quality == UNCOMMON then
|
||||
if level <= 10 then
|
||||
return A(
|
||||
weak-T('item_id', 10940, 'min_quantity', 1, 'max_quantity', 2, 'probability', p(.8, .2)),
|
||||
weak-T('item_id', 10938, 'min_quantity', 1, 'max_quantity', 2, 'probability', p(.2, .8))
|
||||
weak-O('item_id', 10940, 'min_quantity', 1, 'max_quantity', 2, 'probability', p(.8, .2)),
|
||||
weak-O('item_id', 10938, 'min_quantity', 1, 'max_quantity', 2, 'probability', p(.2, .8))
|
||||
)
|
||||
elseif level <= 15 then
|
||||
return A(
|
||||
weak-T('item_id', 10940, 'min_quantity', 2, 'max_quantity', 3, 'probability', p(.75, .2)),
|
||||
weak-T('item_id', 10939, 'min_quantity', 1, 'max_quantity', 2, 'probability', p(.2, .75)),
|
||||
weak-T('item_id', 10978, 'min_quantity', 1, 'max_quantity', 1, 'probability', .05)
|
||||
weak-O('item_id', 10940, 'min_quantity', 2, 'max_quantity', 3, 'probability', p(.75, .2)),
|
||||
weak-O('item_id', 10939, 'min_quantity', 1, 'max_quantity', 2, 'probability', p(.2, .75)),
|
||||
weak-O('item_id', 10978, 'min_quantity', 1, 'max_quantity', 1, 'probability', .05)
|
||||
)
|
||||
elseif level <= 20 then
|
||||
return A(
|
||||
weak-T('item_id', 10940, 'min_quantity', 4, 'max_quantity', 6, 'probability', p(.75, .15)),
|
||||
weak-T('item_id', 10998, 'min_quantity', 1, 'max_quantity', 2, 'probability', p(.15, .75)),
|
||||
weak-T('item_id', 10978, 'min_quantity', 1, 'max_quantity', 1, 'probability', .10)
|
||||
weak-O('item_id', 10940, 'min_quantity', 4, 'max_quantity', 6, 'probability', p(.75, .15)),
|
||||
weak-O('item_id', 10998, 'min_quantity', 1, 'max_quantity', 2, 'probability', p(.15, .75)),
|
||||
weak-O('item_id', 10978, 'min_quantity', 1, 'max_quantity', 1, 'probability', .10)
|
||||
)
|
||||
elseif level <= 25 then
|
||||
return A(
|
||||
weak-T('item_id', 11083, 'min_quantity', 1, 'max_quantity', 2, 'probability', p(.75, .2)),
|
||||
weak-T('item_id', 11082, 'min_quantity', 1, 'max_quantity', 2, 'probability', p(.2, .75)),
|
||||
weak-T('item_id', 11084, 'min_quantity', 1, 'max_quantity', 1, 'probability', .05)
|
||||
weak-O('item_id', 11083, 'min_quantity', 1, 'max_quantity', 2, 'probability', p(.75, .2)),
|
||||
weak-O('item_id', 11082, 'min_quantity', 1, 'max_quantity', 2, 'probability', p(.2, .75)),
|
||||
weak-O('item_id', 11084, 'min_quantity', 1, 'max_quantity', 1, 'probability', .05)
|
||||
)
|
||||
elseif level <= 30 then
|
||||
return A(
|
||||
weak-T('item_id', 11083, 'min_quantity', 2, 'max_quantity', 5, 'probability', p(.75, .2)),
|
||||
weak-T('item_id', 11134, 'min_quantity', 1, 'max_quantity', 2, 'probability', p(.2, .75)),
|
||||
weak-T('item_id', 11138, 'min_quantity', 1, 'max_quantity', 1, 'probability', .05)
|
||||
weak-O('item_id', 11083, 'min_quantity', 2, 'max_quantity', 5, 'probability', p(.75, .2)),
|
||||
weak-O('item_id', 11134, 'min_quantity', 1, 'max_quantity', 2, 'probability', p(.2, .75)),
|
||||
weak-O('item_id', 11138, 'min_quantity', 1, 'max_quantity', 1, 'probability', .05)
|
||||
)
|
||||
elseif level <= 35 then
|
||||
return A(
|
||||
weak-T('item_id', 11137, 'min_quantity', 1, 'max_quantity', 2, 'probability', p(.75, .2)),
|
||||
weak-T('item_id', 11135, 'min_quantity', 1, 'max_quantity', 2, 'probability', p(.2, .75)),
|
||||
weak-T('item_id', 11139, 'min_quantity', 1, 'max_quantity', 1, 'probability', .05)
|
||||
weak-O('item_id', 11137, 'min_quantity', 1, 'max_quantity', 2, 'probability', p(.75, .2)),
|
||||
weak-O('item_id', 11135, 'min_quantity', 1, 'max_quantity', 2, 'probability', p(.2, .75)),
|
||||
weak-O('item_id', 11139, 'min_quantity', 1, 'max_quantity', 1, 'probability', .05)
|
||||
)
|
||||
elseif level <= 40 then
|
||||
return A(
|
||||
weak-T('item_id', 11137, 'min_quantity', 2, 'max_quantity', 5, 'probability', p(.75, .2)),
|
||||
weak-T('item_id', 11174, 'min_quantity', 1, 'max_quantity', 2, 'probability', p(.2, .75)),
|
||||
weak-T('item_id', 11177, 'min_quantity', 1, 'max_quantity', 1, 'probability', .05)
|
||||
weak-O('item_id', 11137, 'min_quantity', 2, 'max_quantity', 5, 'probability', p(.75, .2)),
|
||||
weak-O('item_id', 11174, 'min_quantity', 1, 'max_quantity', 2, 'probability', p(.2, .75)),
|
||||
weak-O('item_id', 11177, 'min_quantity', 1, 'max_quantity', 1, 'probability', .05)
|
||||
)
|
||||
elseif level <= 45 then
|
||||
return A(
|
||||
weak-T('item_id', 11176, 'min_quantity', 1, 'max_quantity', 2, 'probability', p(.75, .2)),
|
||||
weak-T('item_id', 11175, 'min_quantity', 1, 'max_quantity', 2, 'probability', p(.2, .75)),
|
||||
weak-T('item_id', 11178, 'min_quantity', 1, 'max_quantity', 1, 'probability', .05)
|
||||
weak-O('item_id', 11176, 'min_quantity', 1, 'max_quantity', 2, 'probability', p(.75, .2)),
|
||||
weak-O('item_id', 11175, 'min_quantity', 1, 'max_quantity', 2, 'probability', p(.2, .75)),
|
||||
weak-O('item_id', 11178, 'min_quantity', 1, 'max_quantity', 1, 'probability', .05)
|
||||
)
|
||||
elseif level <= 50 then
|
||||
return A(
|
||||
weak-T('item_id', 11176, 'min_quantity', 2, 'max_quantity', 5, 'probability', p(.75, .22)),
|
||||
weak-T('item_id', 16202, 'min_quantity', 1, 'max_quantity', 2, 'probability', p(.2, .75)),
|
||||
weak-T('item_id', 14343, 'min_quantity', 1, 'max_quantity', 1, 'probability', p(.05, .03))
|
||||
weak-O('item_id', 11176, 'min_quantity', 2, 'max_quantity', 5, 'probability', p(.75, .22)),
|
||||
weak-O('item_id', 16202, 'min_quantity', 1, 'max_quantity', 2, 'probability', p(.2, .75)),
|
||||
weak-O('item_id', 14343, 'min_quantity', 1, 'max_quantity', 1, 'probability', p(.05, .03))
|
||||
)
|
||||
elseif level <= 55 then
|
||||
return A(
|
||||
weak-T('item_id', 16204, 'min_quantity', 1, 'max_quantity', 2, 'probability', p(.75, .22)),
|
||||
weak-T('item_id', 16203, 'min_quantity', 1, 'max_quantity', 2, 'probability', p(.2, .75)),
|
||||
weak-T('item_id', 14344, 'min_quantity', 1, 'max_quantity', 1, 'probability', p(.05, .03))
|
||||
weak-O('item_id', 16204, 'min_quantity', 1, 'max_quantity', 2, 'probability', p(.75, .22)),
|
||||
weak-O('item_id', 16203, 'min_quantity', 1, 'max_quantity', 2, 'probability', p(.2, .75)),
|
||||
weak-O('item_id', 14344, 'min_quantity', 1, 'max_quantity', 1, 'probability', p(.05, .03))
|
||||
)
|
||||
elseif level <= 60 then
|
||||
return A(
|
||||
weak-T('item_id', 16204, 'min_quantity', 2, 'max_quantity', 5, 'probability', p(.75, .22)),
|
||||
weak-T('item_id', 16203, 'min_quantity', 2, 'max_quantity', 3, 'probability', p(.2, .75)),
|
||||
weak-T('item_id', 14344, 'min_quantity', 1, 'max_quantity', 1, 'probability', p(.05, .03))
|
||||
weak-O('item_id', 16204, 'min_quantity', 2, 'max_quantity', 5, 'probability', p(.75, .22)),
|
||||
weak-O('item_id', 16203, 'min_quantity', 2, 'max_quantity', 3, 'probability', p(.2, .75)),
|
||||
weak-O('item_id', 14344, 'min_quantity', 1, 'max_quantity', 1, 'probability', p(.05, .03))
|
||||
)
|
||||
end
|
||||
elseif quality == RARE then
|
||||
if level <= 20 then
|
||||
return A(weak-T('item_id', 10978, 'min_quantity', 1, 'max_quantity', 1, 'probability', 1))
|
||||
return A(weak-O('item_id', 10978, 'min_quantity', 1, 'max_quantity', 1, 'probability', 1))
|
||||
elseif level <= 25 then
|
||||
return A(weak-T('item_id', 11084, 'min_quantity', 1, 'max_quantity', 1, 'probability', 1))
|
||||
return A(weak-O('item_id', 11084, 'min_quantity', 1, 'max_quantity', 1, 'probability', 1))
|
||||
elseif level <= 30 then
|
||||
return A(weak-T('item_id', 11138, 'min_quantity', 1, 'max_quantity', 1, 'probability', 1))
|
||||
return A(weak-O('item_id', 11138, 'min_quantity', 1, 'max_quantity', 1, 'probability', 1))
|
||||
elseif level <= 35 then
|
||||
return A(weak-T('item_id', 11139, 'min_quantity', 1, 'max_quantity', 1, 'probability', 1))
|
||||
return A(weak-O('item_id', 11139, 'min_quantity', 1, 'max_quantity', 1, 'probability', 1))
|
||||
elseif level <= 40 then
|
||||
return A(weak-T('item_id', 11177, 'min_quantity', 1, 'max_quantity', 1, 'probability', 1))
|
||||
return A(weak-O('item_id', 11177, 'min_quantity', 1, 'max_quantity', 1, 'probability', 1))
|
||||
elseif level <= 45 then
|
||||
return A(weak-T('item_id', 11178, 'min_quantity', 1, 'max_quantity', 1, 'probability', 1))
|
||||
return A(weak-O('item_id', 11178, 'min_quantity', 1, 'max_quantity', 1, 'probability', 1))
|
||||
elseif level <= 50 then
|
||||
return A(weak-T('item_id', 14343, 'min_quantity', 1, 'max_quantity', 1, 'probability', 1))
|
||||
return A(weak-O('item_id', 14343, 'min_quantity', 1, 'max_quantity', 1, 'probability', 1))
|
||||
elseif level <= 55 then
|
||||
return A(weak-T('item_id', 14344, 'min_quantity', 1, 'max_quantity', 1, 'probability', .995), T('item_id', 20725, 'min_quantity', 1, 'max_quantity', 1, 'probability', .005))
|
||||
return A(weak-O('item_id', 14344, 'min_quantity', 1, 'max_quantity', 1, 'probability', .995), O('item_id', 20725, 'min_quantity', 1, 'max_quantity', 1, 'probability', .005))
|
||||
elseif level <= 60 then
|
||||
return A(weak-T('item_id', 14344, 'min_quantity', 1, 'max_quantity', 1, 'probability', .995), T('item_id', 20725, 'min_quantity', 1, 'max_quantity', 1, 'probability', .005))
|
||||
return A(weak-O('item_id', 14344, 'min_quantity', 1, 'max_quantity', 1, 'probability', .995), O('item_id', 20725, 'min_quantity', 1, 'max_quantity', 1, 'probability', .005))
|
||||
end
|
||||
elseif quality == EPIC then
|
||||
if level <= 40 then
|
||||
return A(weak-T('item_id', 11177, 'min_quantity', 2, 'max_quantity', 4, 'probability', 1))
|
||||
return A(weak-O('item_id', 11177, 'min_quantity', 2, 'max_quantity', 4, 'probability', 1))
|
||||
elseif level <= 45 then
|
||||
return A(weak-T('item_id', 11178, 'min_quantity', 2, 'max_quantity', 4, 'probability', 1))
|
||||
return A(weak-O('item_id', 11178, 'min_quantity', 2, 'max_quantity', 4, 'probability', 1))
|
||||
elseif level <= 50 then
|
||||
return A(weak-T('item_id', 14343, 'min_quantity', 2, 'max_quantity', 4, 'probability', 1))
|
||||
return A(weak-O('item_id', 14343, 'min_quantity', 2, 'max_quantity', 4, 'probability', 1))
|
||||
elseif level <= 55 then
|
||||
return A(weak-T('item_id', 20725, 'min_quantity', 1, 'max_quantity', 1, 'probability', 1))
|
||||
return A(weak-O('item_id', 20725, 'min_quantity', 1, 'max_quantity', 1, 'probability', 1))
|
||||
elseif level <= 60 then
|
||||
return A(weak-T('item_id', 20725, 'min_quantity', 1, 'max_quantity', 2, 'probability', 1))
|
||||
return A(weak-O('item_id', 20725, 'min_quantity', 1, 'max_quantity', 2, 'probability', 1))
|
||||
end
|
||||
end
|
||||
return t
|
||||
return T
|
||||
end
|
||||
+8
-8
@@ -1,20 +1,20 @@
|
||||
module 'aux.core.history'
|
||||
|
||||
include 'green_t'
|
||||
include 'green_T'
|
||||
include 'aux'
|
||||
|
||||
local persistence = require 'aux.util.persistence'
|
||||
|
||||
local history_schema = {'tuple', '#', {next_push='number'}, {daily_min_buyout='number'}, {daily_max_price='number'}, {data_points={'list', ';', {'tuple', '@', {market_value='number'}, {time='number'}}}}}
|
||||
|
||||
local value_cache = t
|
||||
local value_cache = T
|
||||
|
||||
do
|
||||
local cache
|
||||
function get_data()
|
||||
if not cache then
|
||||
local dataset = persistence.dataset
|
||||
cache = dataset.history or t
|
||||
cache = dataset.history or T
|
||||
dataset.history = cache
|
||||
end
|
||||
return cache
|
||||
@@ -34,7 +34,7 @@ do
|
||||
end
|
||||
|
||||
function get_new_record()
|
||||
return T('next_push', next_push, 'data_points', t)
|
||||
return O('next_push', next_push, 'data_points', T)
|
||||
end
|
||||
|
||||
function read_record(item_key)
|
||||
@@ -79,11 +79,11 @@ function M.value(item_key)
|
||||
local item_record, value
|
||||
item_record = read_record(item_key)
|
||||
if getn(item_record.data_points) > 0 then
|
||||
local total_weight, weighted_values = 0, tt
|
||||
local total_weight, weighted_values = 0, temp-T
|
||||
for _, data_point in item_record.data_points do
|
||||
local weight = .99 ^ round((item_record.data_points[1].time - data_point.time) / (60 * 60 * 24))
|
||||
total_weight = total_weight + weight
|
||||
tinsert(weighted_values, T('value', data_point.market_value, 'weight', weight))
|
||||
tinsert(weighted_values, O('value', data_point.market_value, 'weight', weight))
|
||||
end
|
||||
for _, weighted_value in weighted_values do
|
||||
weighted_value.weight = weighted_value.weight / total_weight
|
||||
@@ -92,7 +92,7 @@ function M.value(item_key)
|
||||
else
|
||||
value = calculate_market_value(item_record)
|
||||
end
|
||||
value_cache[item_key] = T('value', value, 'next_push', item_record.next_push)
|
||||
value_cache[item_key] = O('value', value, 'next_push', item_record.next_push)
|
||||
end
|
||||
return value_cache[item_key].value
|
||||
end
|
||||
@@ -118,7 +118,7 @@ end
|
||||
|
||||
function push_record(item_record)
|
||||
for market_value in present(calculate_market_value(item_record)) do
|
||||
tinsert(item_record.data_points, 1, weak-T('market_value', market_value, 'time', item_record.next_push))
|
||||
tinsert(item_record.data_points, 1, weak-O('market_value', market_value, 'time', item_record.next_push))
|
||||
while getn(item_record.data_points) > 11 do
|
||||
release(item_record.data_points[getn(item_record.data_points)])
|
||||
tremove(item_record.data_points)
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
module 'aux.core.post'
|
||||
|
||||
include 'green_t'
|
||||
include 'green_T'
|
||||
include 'aux'
|
||||
|
||||
local info = require 'aux.util.info'
|
||||
|
||||
+4
-4
@@ -1,6 +1,6 @@
|
||||
module 'aux.core.scan'
|
||||
|
||||
include 'green_t'
|
||||
include 'green_T'
|
||||
include 'aux'
|
||||
|
||||
local info = require 'aux.util.info'
|
||||
@@ -9,7 +9,7 @@ local history = require 'aux.core.history'
|
||||
local PAGE_SIZE = 50
|
||||
|
||||
do
|
||||
local scan_states = t
|
||||
local scan_states = T
|
||||
|
||||
function M.start(params)
|
||||
for old_state in present(scan_states[params.type]) do
|
||||
@@ -25,7 +25,7 @@ do
|
||||
end
|
||||
|
||||
function M.abort(scan_id)
|
||||
local aborted = t
|
||||
local aborted = T
|
||||
for type, state in scan_states do
|
||||
if not scan_id or state.id == scan_id then
|
||||
kill_thread(state.id)
|
||||
@@ -96,7 +96,7 @@ do
|
||||
elseif state.params.type == 'owner' then
|
||||
GetOwnerAuctionItems(state.page)
|
||||
else
|
||||
local blizzard_query = query.blizzard_query or t
|
||||
local blizzard_query = query.blizzard_query or T
|
||||
QueryAuctionItems(
|
||||
blizzard_query.name,
|
||||
blizzard_query.min_level,
|
||||
|
||||
+10
-10
@@ -1,6 +1,6 @@
|
||||
module 'aux.core.slash'
|
||||
|
||||
include 'green_t'
|
||||
include 'green_T'
|
||||
include 'aux'
|
||||
|
||||
local persistence = require 'aux.util.persistence'
|
||||
@@ -19,18 +19,18 @@ function SlashCmdList.AUX(command)
|
||||
persistence.dataset.post = nil
|
||||
print('Post settings cleared.')
|
||||
elseif arguments[1] == 'clear' and arguments[2] == 'datasets' then
|
||||
_G.aux_datasets = t
|
||||
_G.aux_datasets = T
|
||||
print('Datasets cleared.')
|
||||
elseif arguments[1] == 'clear' and arguments[2] == 'merchant' and arguments[3] == 'buy' then
|
||||
_G.aux_merchant_buy = t
|
||||
_G.aux_merchant_buy = T
|
||||
print('Merchant buy prices cleared.')
|
||||
elseif arguments[1] == 'clear' and arguments[2] == 'merchant' and arguments[3] == 'sell' then
|
||||
_G.aux_merchant_sell = t
|
||||
_G.aux_merchant_sell = T
|
||||
print('Merchant sell prices cleared.')
|
||||
elseif arguments[1] == 'clear' and arguments[2] == 'item' and arguments[3] == 'cache' then
|
||||
_G.aux_items = t
|
||||
_G.aux_item_ids = t
|
||||
_G.aux_auctionable_items = t
|
||||
_G.aux_items = T
|
||||
_G.aux_item_ids = T
|
||||
_G.aux_auctionable_items = T
|
||||
print('Item cache cleared.')
|
||||
elseif arguments[1] == 'populate' and arguments[2] == 'wdb' then
|
||||
cache.populate_wdb()
|
||||
@@ -60,7 +60,7 @@ function SlashCmdList.AUX(command)
|
||||
print('Ignoring of owner ' .. (aux_ignore_owner and 'enabled' or 'disabled') .. '.')
|
||||
elseif arguments[1] == 'chars' and arguments[2] == 'add' then
|
||||
local realm = GetCVar'realmName'
|
||||
aux_characters[realm] = aux_characters[realm] or t
|
||||
aux_characters[realm] = aux_characters[realm] or T
|
||||
for i = 3, getn(arguments) do
|
||||
local name = gsub(strlower(arguments[i]), '^%l', strupper)
|
||||
if not aux_characters[realm][name] then
|
||||
@@ -82,8 +82,8 @@ function SlashCmdList.AUX(command)
|
||||
end
|
||||
elseif arguments[1] == 'chars' then
|
||||
local realm = GetCVar'realmName'
|
||||
local chars = t
|
||||
for name in aux_characters[realm] or t do
|
||||
local chars = T
|
||||
for name in aux_characters[realm] or T do
|
||||
tinsert(chars, name)
|
||||
end
|
||||
if getn(chars) > 0 then
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
module 'aux.core.stack'
|
||||
|
||||
include 'green_t'
|
||||
include 'green_T'
|
||||
include 'aux'
|
||||
|
||||
local info = require 'aux.util.info'
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
module 'aux.core.tooltip'
|
||||
|
||||
include 'green_t'
|
||||
include 'green_T'
|
||||
include 'aux'
|
||||
|
||||
local info = require 'aux.util.info'
|
||||
@@ -20,7 +20,7 @@ local color = {
|
||||
|
||||
_G.aux_tooltip_value = true
|
||||
|
||||
local game_tooltip_hooks, game_tooltip_money = t, 0
|
||||
local game_tooltip_hooks, game_tooltip_money = T, 0
|
||||
|
||||
function LOAD()
|
||||
do
|
||||
|
||||
+12
-11
@@ -1,6 +1,6 @@
|
||||
module 'aux.gui.auction_listing'
|
||||
|
||||
include 'green_t'
|
||||
include 'green_T'
|
||||
include 'aux'
|
||||
|
||||
local info = require 'aux.util.info'
|
||||
@@ -703,13 +703,13 @@ local methods = {
|
||||
self.rowInfo[getn(self.rowInfo)].children[getn(self.rowInfo[getn(self.rowInfo)].children)].numAuctions = self.rowInfo[getn(self.rowInfo)].children[getn(self.rowInfo[getn(self.rowInfo)].children)].numAuctions + 1
|
||||
elseif prevRecord and record.item_key == prevRecord.item_key then
|
||||
-- it's the same base item as the previous row so insert a new auction
|
||||
tinsert(self.rowInfo[getn(self.rowInfo)].children, T('numAuctions', 1, 'record', record))
|
||||
tinsert(self.rowInfo[getn(self.rowInfo)].children, O('numAuctions', 1, 'record', record))
|
||||
if self.expanded[self.rowInfo[getn(self.rowInfo)].expandKey] then
|
||||
self.rowInfo.numDisplayRows = self.rowInfo.numDisplayRows + 1
|
||||
end
|
||||
else
|
||||
-- it's a different base item from the previous row
|
||||
tinsert(self.rowInfo, T('item_key', record.item_key, 'expandKey', record.item_key, 'children', A(T('numAuctions', 1, 'record', record))))
|
||||
tinsert(self.rowInfo, O('item_key', record.item_key, 'expandKey', record.item_key, 'children', A(O('numAuctions', 1, 'record', record))))
|
||||
self.rowInfo.numDisplayRows = self.rowInfo.numDisplayRows + 1
|
||||
end
|
||||
end
|
||||
@@ -918,7 +918,8 @@ local methods = {
|
||||
end
|
||||
end,
|
||||
|
||||
SetSort = function(self, ...) auto_release(arg, true)
|
||||
SetSort = function(self, ...)
|
||||
auto_release(arg, true)
|
||||
for k = 1, arg.n do
|
||||
for i, sort in self.sorts do
|
||||
if sort.index == abs(arg[k]) then
|
||||
@@ -988,10 +989,10 @@ function M.CreateAuctionResultsTable(parent, config)
|
||||
local numRows = 16
|
||||
rt.ROW_HEIGHT = (parent:GetHeight() - HEAD_HEIGHT - HEAD_SPACE) / numRows
|
||||
rt.scrollDisabled = nil
|
||||
rt.expanded = t
|
||||
rt.handlers = t
|
||||
rt.sorts = t
|
||||
rt.records = t
|
||||
rt.expanded = T
|
||||
rt.handlers = T
|
||||
rt.sorts = T
|
||||
rt.records = T
|
||||
rt.rowInfo = {numDisplayRows=0}
|
||||
|
||||
for name, func in methods do
|
||||
@@ -1036,7 +1037,7 @@ function M.CreateAuctionResultsTable(parent, config)
|
||||
_G[scrollBar:GetName() .. 'ScrollDownButton']:Hide()
|
||||
|
||||
-- create the header cells
|
||||
rt.headCells = t
|
||||
rt.headCells = T
|
||||
for i, column_config in rt.config do
|
||||
local cell = CreateFrame('Button', nil, rt.contentFrame)
|
||||
cell:SetHeight(HEAD_HEIGHT)
|
||||
@@ -1079,7 +1080,7 @@ function M.CreateAuctionResultsTable(parent, config)
|
||||
end
|
||||
|
||||
-- create the rows
|
||||
rt.rows = t
|
||||
rt.rows = T
|
||||
for i = 1, numRows do
|
||||
local row = CreateFrame('Frame', nil, rt.contentFrame)
|
||||
row:SetHeight(rt.ROW_HEIGHT)
|
||||
@@ -1097,7 +1098,7 @@ function M.CreateAuctionResultsTable(parent, config)
|
||||
row.highlight = highlight
|
||||
row.rt = rt
|
||||
|
||||
row.cells = t
|
||||
row.cells = T
|
||||
for j = 1, getn(rt.config) do
|
||||
local cell = CreateFrame('Button', nil, row)
|
||||
local text = cell:CreateFontString()
|
||||
|
||||
+7
-6
@@ -1,6 +1,6 @@
|
||||
module 'aux.gui'
|
||||
|
||||
include 'green_t'
|
||||
include 'green_T'
|
||||
include 'aux'
|
||||
|
||||
M.font = [[Fonts\ARIALN.TTF]]
|
||||
@@ -24,7 +24,8 @@ function LOAD()
|
||||
aux_background:SetTexture(color.content.background())
|
||||
aux_background:SetAllPoints(DropDownList1Backdrop)
|
||||
blizzard_backdrop = DropDownList1Backdrop:GetBackdrop()
|
||||
hook('ToggleDropDownMenu', function(...) auto_release(arg, true)
|
||||
hook('ToggleDropDownMenu', function(...)
|
||||
auto_release(arg, true)
|
||||
local ret = temp-A(orig.ToggleDropDownMenu(unpack(arg)))
|
||||
local dropdown = _G[arg[4] or ''] or this:GetParent()
|
||||
if strfind(dropdown:GetName() or '', '^AuxFrame%d+$') then
|
||||
@@ -96,7 +97,7 @@ end
|
||||
do
|
||||
local menu = CreateFrame('Frame', unique_name, UIParent, 'UIMenuTemplate')
|
||||
local orig = menu:GetScript'OnShow'
|
||||
local structure = t
|
||||
local structure = T
|
||||
menu:SetScript('OnShow', function()
|
||||
UIMenu_Initialize()
|
||||
for i = 1, getn(structure), 2 do
|
||||
@@ -203,7 +204,7 @@ function M.button(parent, text_height)
|
||||
end
|
||||
|
||||
do
|
||||
local mt = {__index=t}
|
||||
local mt = {__index=T}
|
||||
function mt.__index:create_tab(text)
|
||||
local id = getn(self._tabs) + 1
|
||||
|
||||
@@ -290,7 +291,7 @@ do
|
||||
local self = {
|
||||
_frame = parent,
|
||||
_orientation = orientation,
|
||||
_tabs = t,
|
||||
_tabs = T,
|
||||
}
|
||||
return setmetatable(self, mt)
|
||||
end
|
||||
@@ -335,7 +336,7 @@ function M.editbox(parent)
|
||||
end)
|
||||
editbox:SetScript('OnChar', function() (this.char or nop)() end)
|
||||
do
|
||||
local last_click = T('t', 0)
|
||||
local last_click = O('t', 0)
|
||||
editbox:SetScript('OnMouseDown', function()
|
||||
if arg1 == 'RightButton' then
|
||||
this:SetText('')
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
module 'aux.gui.item_listing'
|
||||
|
||||
include 'green_t'
|
||||
include 'green_T'
|
||||
include 'aux'
|
||||
|
||||
local info = require 'aux.util.info'
|
||||
@@ -63,7 +63,7 @@ function M.create(parent, on_click, selected)
|
||||
_G[scrollBar:GetName() .. 'ScrollUpButton']:Hide()
|
||||
_G[scrollBar:GetName() .. 'ScrollDownButton']:Hide()
|
||||
|
||||
local rows = t
|
||||
local rows = T
|
||||
local row_index = 1
|
||||
local max_height = content:GetHeight()
|
||||
local total_height = 0
|
||||
|
||||
+6
-6
@@ -1,6 +1,6 @@
|
||||
module 'aux.gui.listing'
|
||||
|
||||
include 'green_t'
|
||||
include 'green_T'
|
||||
include 'aux'
|
||||
|
||||
local gui = require 'aux.gui'
|
||||
@@ -442,11 +442,11 @@ function M.CreateScrollingTable(parent)
|
||||
|
||||
-- setup default values
|
||||
st.isTSMScrollingTable = true
|
||||
st.sizes = t
|
||||
st.headCols = t
|
||||
st.rows = t
|
||||
st.handlers = t
|
||||
st.sortInfo = t
|
||||
st.sizes = T
|
||||
st.headCols = T
|
||||
st.rows = T
|
||||
st.handlers = T
|
||||
st.sortInfo = T
|
||||
st.colInfo = DEFAULT_COL_INFO
|
||||
|
||||
return st
|
||||
|
||||
+3
-9
@@ -1,4 +1,4 @@
|
||||
library 'green_t'
|
||||
library 'green_T'
|
||||
|
||||
local next, getn, setn, tremove, type, setmetatable = next, getn, table.setn, tremove, type, setmetatable
|
||||
|
||||
@@ -62,13 +62,7 @@ do
|
||||
M.dep_release = dep_release
|
||||
end
|
||||
|
||||
M.get_t = acquire
|
||||
|
||||
function M.get_tt()
|
||||
local t = acquire()
|
||||
auto_release(t, true)
|
||||
return t
|
||||
end
|
||||
M.get_T = acquire
|
||||
|
||||
M.temp = setmetatable({}, {
|
||||
__metatable = false,
|
||||
@@ -152,7 +146,7 @@ M.S = vararg(function(arg)
|
||||
end
|
||||
return t
|
||||
end)
|
||||
M.T = vararg(function(arg)
|
||||
M.O = vararg(function(arg)
|
||||
local t = acquire()
|
||||
for i = 1, getn(arg), 2 do
|
||||
t[arg[i]] = arg[i + 1]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
module 'aux.tabs.auctions'
|
||||
|
||||
include 'green_t'
|
||||
include 'green_T'
|
||||
include 'aux'
|
||||
|
||||
local info = require 'aux.util.info'
|
||||
@@ -9,7 +9,7 @@ local scan = require 'aux.core.scan'
|
||||
|
||||
TAB 'Auctions'
|
||||
|
||||
auction_records = t
|
||||
auction_records = T
|
||||
|
||||
function OPEN()
|
||||
frame:Show()
|
||||
@@ -34,7 +34,7 @@ function M.scan_auctions()
|
||||
update_listing()
|
||||
scan.start{
|
||||
type = 'owner',
|
||||
queries = {{blizzard_query = t}},
|
||||
queries = {{blizzard_query = T}},
|
||||
on_page_loaded = function(page, total_pages)
|
||||
status_bar:update_status((page - 1) / total_pages, 0)
|
||||
status_bar:set_text(format('Scanning (Page %d / %d)', page, total_pages))
|
||||
@@ -56,7 +56,7 @@ end
|
||||
|
||||
do
|
||||
local scan_id = 0
|
||||
local IDLE, SEARCHING, FOUND = t, t, t
|
||||
local IDLE, SEARCHING, FOUND = T, T, T
|
||||
local state = IDLE
|
||||
local found_index
|
||||
|
||||
|
||||
+3
-3
@@ -1,6 +1,6 @@
|
||||
module 'aux.tabs.bids'
|
||||
|
||||
include 'green_t'
|
||||
include 'green_T'
|
||||
include 'aux'
|
||||
|
||||
local info = require 'aux.util.info'
|
||||
@@ -9,7 +9,7 @@ local scan = require 'aux.core.scan'
|
||||
|
||||
TAB 'Bids'
|
||||
|
||||
auction_records = t
|
||||
auction_records = T
|
||||
|
||||
function OPEN()
|
||||
frame:Show()
|
||||
@@ -34,7 +34,7 @@ function M.scan_bids()
|
||||
update_listing()
|
||||
scan.start{
|
||||
type = 'bidder',
|
||||
queries = A(T('blizzard_query', t)),
|
||||
queries = A(O('blizzard_query', T)),
|
||||
on_page_loaded = function(page, total_pages)
|
||||
status_bar:update_status((page - 1) / total_pages, 0)
|
||||
status_bar:set_text(format('Scanning (Page %d / %d)', page, total_pages))
|
||||
|
||||
+20
-20
@@ -1,6 +1,6 @@
|
||||
module 'aux.tabs.post'
|
||||
|
||||
include 'green_t'
|
||||
include 'green_T'
|
||||
include 'aux'
|
||||
|
||||
local info = require 'aux.util.info'
|
||||
@@ -20,7 +20,7 @@ local DURATION_4, DURATION_8, DURATION_24 = 120, 480, 1440
|
||||
local settings_schema = {'tuple', '#', {stack_size='number'}, {duration='number'}, {start_price='number'}, {buyout_price='number'}, {hidden='boolean'}}
|
||||
|
||||
function get_default_settings()
|
||||
return T('duration', DURATION_8 , 'stack_size', 1, 'start_price', 0, 'buyout_price', 0, 'hidden', false)
|
||||
return O('duration', DURATION_8 , 'stack_size', 1, 'start_price', 0, 'buyout_price', 0, 'hidden', false)
|
||||
end
|
||||
|
||||
do
|
||||
@@ -28,7 +28,7 @@ do
|
||||
function get_data()
|
||||
if not data then
|
||||
local dataset = persistence.dataset
|
||||
data = dataset.post or t
|
||||
data = dataset.post or T
|
||||
dataset.post = data
|
||||
end
|
||||
return data
|
||||
@@ -45,7 +45,7 @@ function write_settings(settings, item_key)
|
||||
data[item_key] = persistence.write(settings_schema, settings)
|
||||
end
|
||||
|
||||
local scan_id, inventory_records, existing_auctions = 0, t, t
|
||||
local scan_id, inventory_records, existing_auctions = 0, T, T
|
||||
|
||||
function refresh_button_click()
|
||||
scan.abort(scan_id)
|
||||
@@ -108,12 +108,12 @@ end
|
||||
|
||||
function update_auction_listing()
|
||||
if not ACTIVE then return end
|
||||
local auction_rows = t
|
||||
local auction_rows = T
|
||||
if selected_item then
|
||||
local unit_start_price = get_unit_start_price()
|
||||
local unit_buyout_price = get_unit_buyout_price()
|
||||
|
||||
for i, auction_record in existing_auctions[selected_item.key] or tt do
|
||||
for i, auction_record in existing_auctions[selected_item.key] or temp-T do
|
||||
|
||||
local blizzard_bid_undercut, buyout_price_undercut = undercut(auction_record, stack_size_slider:GetValue())
|
||||
blizzard_bid_undercut = money.from_string(money.to_string(blizzard_bid_undercut, true, nil, 3))
|
||||
@@ -144,15 +144,15 @@ function update_auction_listing()
|
||||
buyout_color = inline_color.yellow
|
||||
end
|
||||
|
||||
tinsert(auction_rows, T(
|
||||
tinsert(auction_rows, O(
|
||||
'cols', A(
|
||||
T('value', auction_record.own and color.yellow(auction_record.count) or auction_record.count),
|
||||
T('value', al.time_left(auction_record.duration)),
|
||||
T('value', auction_record.stack_size == stack_size and color.yellow(auction_record.stack_size) or auction_record.stack_size),
|
||||
T('value', money.to_string(auction_record.unit_blizzard_bid, true, nil, 3, bid_color)),
|
||||
T('value', historical_value and al.percentage_historical(round(auction_record.unit_blizzard_bid / historical_value * 100)) or '---'),
|
||||
T('value', auction_record.unit_buyout_price > 0 and money.to_string(auction_record.unit_buyout_price, true, nil, 3, buyout_color) or '---'),
|
||||
T('value', auction_record.unit_buyout_price > 0 and historical_value and al.percentage_historical(round(auction_record.unit_buyout_price / historical_value * 100)) or '---')
|
||||
O('value', auction_record.own and color.yellow(auction_record.count) or auction_record.count),
|
||||
O('value', al.time_left(auction_record.duration)),
|
||||
O('value', auction_record.stack_size == stack_size and color.yellow(auction_record.stack_size) or auction_record.stack_size),
|
||||
O('value', money.to_string(auction_record.unit_blizzard_bid, true, nil, 3, bid_color)),
|
||||
O('value', historical_value and al.percentage_historical(round(auction_record.unit_blizzard_bid / historical_value * 100)) or '---'),
|
||||
O('value', auction_record.unit_buyout_price > 0 and money.to_string(auction_record.unit_buyout_price, true, nil, 3, buyout_color) or '---'),
|
||||
O('value', auction_record.unit_buyout_price > 0 and historical_value and al.percentage_historical(round(auction_record.unit_buyout_price / historical_value * 100)) or '---')
|
||||
),
|
||||
'record', auction_record
|
||||
))
|
||||
@@ -407,18 +407,18 @@ function update_item(item)
|
||||
end
|
||||
|
||||
function update_inventory_records()
|
||||
local auctionable_map = tt
|
||||
local auctionable_map = temp-T
|
||||
for slot in info.inventory do auto_release(slot, true)
|
||||
for item_info in present(temp-info.container_item(unpack(slot))) do
|
||||
local charge_class = item_info.charges or 0
|
||||
if info.auctionable(item_info.tooltip, nil, item_info.lootable) then
|
||||
if not auctionable_map[item_info.item_key] then
|
||||
local availability = t
|
||||
local availability = T
|
||||
for i = 0, 10 do
|
||||
availability[i] = 0
|
||||
end
|
||||
availability[charge_class] = item_info.count
|
||||
auctionable_map[item_info.item_key] = T(
|
||||
auctionable_map[item_info.item_key] = O(
|
||||
'item_id', item_info.item_id,
|
||||
'suffix_id', item_info.suffix_id,
|
||||
'key', item_info.item_key,
|
||||
@@ -481,7 +481,7 @@ function refresh_entries()
|
||||
status_bar:set_text('Scan aborted')
|
||||
end,
|
||||
on_complete = function()
|
||||
existing_auctions[item_key] = existing_auctions[item_key] or t
|
||||
existing_auctions[item_key] = existing_auctions[item_key] or T
|
||||
refresh = true
|
||||
status_bar:update_status(1, 1)
|
||||
status_bar:set_text('Scan complete')
|
||||
@@ -491,7 +491,7 @@ function refresh_entries()
|
||||
end
|
||||
|
||||
function record_auction(key, aux_quantity, unit_blizzard_bid, unit_buyout_price, duration, owner)
|
||||
existing_auctions[key] = existing_auctions[key] or t
|
||||
existing_auctions[key] = existing_auctions[key] or T
|
||||
local entry
|
||||
for _, record in existing_auctions[key] do
|
||||
if unit_blizzard_bid == record.unit_blizzard_bid and unit_buyout_price == record.unit_buyout_price and aux_quantity == record.stack_size and duration == record.duration and is_player(owner) == record.own then
|
||||
@@ -499,7 +499,7 @@ function record_auction(key, aux_quantity, unit_blizzard_bid, unit_buyout_price,
|
||||
end
|
||||
end
|
||||
if not entry then
|
||||
entry = T('stack_size', aux_quantity, 'unit_blizzard_bid', unit_blizzard_bid, 'unit_buyout_price', unit_buyout_price, 'duration', duration, 'own', is_player(owner), 'count', 0)
|
||||
entry = O('stack_size', aux_quantity, 'unit_blizzard_bid', unit_blizzard_bid, 'unit_buyout_price', unit_buyout_price, 'duration', duration, 'own', is_player(owner), 'count', 0)
|
||||
tinsert(existing_auctions[key], entry)
|
||||
end
|
||||
entry.count = entry.count + 1
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
module 'aux.tabs.search'
|
||||
|
||||
include 'green_t'
|
||||
include 'green_T'
|
||||
include 'aux'
|
||||
|
||||
TAB 'Search'
|
||||
|
||||
+13
-13
@@ -10,7 +10,7 @@ function valid_level(str)
|
||||
return level and bounded(1, 60, level)
|
||||
end
|
||||
|
||||
blizzard_query = setmetatable(t, {
|
||||
blizzard_query = setmetatable(T, {
|
||||
__index = function(_, key)
|
||||
if key == 'name' then
|
||||
return name_input:GetText()
|
||||
@@ -195,7 +195,7 @@ end
|
||||
|
||||
function formatted_post_filter(components)
|
||||
local no_line_break
|
||||
local stack = tt
|
||||
local stack = temp-T
|
||||
local str = ''
|
||||
|
||||
for i, component in components do
|
||||
@@ -241,8 +241,8 @@ function data_link(id, str)
|
||||
return '|H' .. id .. '|h' .. str .. '|h'
|
||||
end
|
||||
|
||||
post_filter = t
|
||||
filter_builder_state = T('selected', 0)
|
||||
post_filter = T
|
||||
filter_builder_state = O('selected', 0)
|
||||
|
||||
function data_link_click()
|
||||
local button = arg3
|
||||
@@ -325,7 +325,7 @@ end
|
||||
|
||||
function initialize_filter_dropdown()
|
||||
for filter in temp-S('and', 'or', 'not', 'min-unit-bid', 'min-unit-buy', 'max-unit-bid', 'max-unit-buy', 'bid-profit', 'buy-profit', 'bid-vend-profit', 'buy-vend-profit', 'bid-dis-profit', 'buy-dis-profit', 'bid-pct', 'buy-pct', 'item', 'tooltip', 'min-lvl', 'max-lvl', 'rarity', 'left', 'utilizable', 'discard') do
|
||||
UIDropDownMenu_AddButton(T(
|
||||
UIDropDownMenu_AddButton(O(
|
||||
'text', filter,
|
||||
'value', filter,
|
||||
'func', function()
|
||||
@@ -354,9 +354,9 @@ function initialize_class_dropdown()
|
||||
update_form()
|
||||
end
|
||||
end
|
||||
UIDropDownMenu_AddButton(T('text', ALL, 'value', 0, 'func', on_click))
|
||||
UIDropDownMenu_AddButton(O('text', ALL, 'value', 0, 'func', on_click))
|
||||
for i, class in temp-A(GetAuctionItemClasses()) do
|
||||
UIDropDownMenu_AddButton(T('text', class, 'value', i, 'func', on_click))
|
||||
UIDropDownMenu_AddButton(O('text', class, 'value', i, 'func', on_click))
|
||||
end
|
||||
end
|
||||
|
||||
@@ -367,9 +367,9 @@ function initialize_subclass_dropdown()
|
||||
update_form()
|
||||
end
|
||||
end
|
||||
UIDropDownMenu_AddButton(T('text', ALL, 'value', 0, 'func', on_click))
|
||||
UIDropDownMenu_AddButton(O('text', ALL, 'value', 0, 'func', on_click))
|
||||
for i, subclass in temp-A(GetAuctionItemSubClasses(blizzard_query.class or 0)) do
|
||||
UIDropDownMenu_AddButton(T('text', subclass, 'value', i, 'func', on_click))
|
||||
UIDropDownMenu_AddButton(O('text', subclass, 'value', i, 'func', on_click))
|
||||
end
|
||||
end
|
||||
|
||||
@@ -378,9 +378,9 @@ function initialize_slot_dropdown()
|
||||
UIDropDownMenu_SetSelectedValue(slot_dropdown, this.value)
|
||||
update_form()
|
||||
end
|
||||
UIDropDownMenu_AddButton(T('text', ALL, 'value', '', 'func', on_click))
|
||||
UIDropDownMenu_AddButton(O('text', ALL, 'value', '', 'func', on_click))
|
||||
for i, slot in temp-A(GetAuctionInvTypes(blizzard_query.class == 2 and 2 or 0, blizzard_query.subclass or 0)) do
|
||||
UIDropDownMenu_AddButton(T('text', _G[slot], 'value', i, 'func', on_click))
|
||||
UIDropDownMenu_AddButton(O('text', _G[slot], 'value', i, 'func', on_click))
|
||||
end
|
||||
end
|
||||
|
||||
@@ -389,8 +389,8 @@ function initialize_quality_dropdown()
|
||||
UIDropDownMenu_SetSelectedValue(quality_dropdown, this.value)
|
||||
update_form()
|
||||
end
|
||||
UIDropDownMenu_AddButton(T('text', ALL, 'value', -1, 'func', on_click))
|
||||
UIDropDownMenu_AddButton(O('text', ALL, 'value', -1, 'func', on_click))
|
||||
for i = 0, 4 do
|
||||
UIDropDownMenu_AddButton(T('text', _G['ITEM_QUALITY' .. i .. '_DESC'], 'value', i, 'func', on_click))
|
||||
UIDropDownMenu_AddButton(O('text', _G['ITEM_QUALITY' .. i .. '_DESC'], 'value', i, 'func', on_click))
|
||||
end
|
||||
end
|
||||
|
||||
@@ -520,8 +520,8 @@ do
|
||||
filter_display = scroll_child
|
||||
end
|
||||
|
||||
status_bars = t
|
||||
tables = t
|
||||
status_bars = T
|
||||
tables = T
|
||||
for _ = 1, 5 do
|
||||
local status_bar = gui.status_bar(frame)
|
||||
status_bar:SetAllPoints(status_bar_frame)
|
||||
|
||||
@@ -32,7 +32,7 @@ function update_real_time(enable)
|
||||
end
|
||||
|
||||
do
|
||||
local searches = t
|
||||
local searches = T
|
||||
local search_index = 1
|
||||
|
||||
function get_current_search()
|
||||
@@ -75,7 +75,7 @@ do
|
||||
while getn(searches) > search_index do
|
||||
tremove(searches)
|
||||
end
|
||||
local search = T('records', t, 'filter_string', filter_string, 'first_page', first_page, 'last_page', last_page, 'real_time', real_time)
|
||||
local search = O('records', T, 'filter_string', filter_string, 'first_page', first_page, 'last_page', last_page, 'real_time', real_time)
|
||||
tinsert(searches, search)
|
||||
if getn(searches) > 5 then
|
||||
tremove(searches, 1)
|
||||
@@ -152,7 +152,7 @@ function start_real_time_scan(query, search, continuation)
|
||||
end
|
||||
|
||||
local next_page
|
||||
local new_records = t
|
||||
local new_records = T
|
||||
search_scan_id = scan.start{
|
||||
type = 'list',
|
||||
queries = {query},
|
||||
@@ -173,7 +173,7 @@ function start_real_time_scan(query, search, continuation)
|
||||
end
|
||||
end,
|
||||
on_complete = function()
|
||||
local map = tt
|
||||
local map = temp-T
|
||||
for _, record in search.records do
|
||||
map[record.sniping_signature] = record
|
||||
end
|
||||
@@ -334,7 +334,7 @@ function M.execute(resume, real_time)
|
||||
end
|
||||
new_recent_search(filter_string, join(map(copy(queries), function(filter) return filter.prettified end), ';'))
|
||||
else
|
||||
current_search.records = t
|
||||
current_search.records = T
|
||||
current_search.table:SetDatabase(current_search.records)
|
||||
end
|
||||
current_search.first_page = first_page
|
||||
@@ -362,7 +362,7 @@ end
|
||||
|
||||
do
|
||||
local scan_id = 0
|
||||
local IDLE, SEARCHING, FOUND = t, t, t
|
||||
local IDLE, SEARCHING, FOUND = T, T, T
|
||||
local state = IDLE
|
||||
local found_index
|
||||
|
||||
|
||||
+16
-16
@@ -2,38 +2,38 @@ module 'aux.tabs.search'
|
||||
|
||||
local filter_util = require 'aux.util.filter'
|
||||
|
||||
_G.aux_auto_buy_filters = t
|
||||
_G.aux_favorite_searches = t
|
||||
_G.aux_recent_searches = t
|
||||
_G.aux_auto_buy_filters = T
|
||||
_G.aux_favorite_searches = T
|
||||
_G.aux_recent_searches = T
|
||||
|
||||
function update_search_listings()
|
||||
local autobuy_filter_rows = t
|
||||
local autobuy_filter_rows = T
|
||||
for i, autobuy_filter in aux_auto_buy_filters do
|
||||
local name = strsub(autobuy_filter.prettified, 1, 250)
|
||||
tinsert(autobuy_filter_rows, T(
|
||||
'cols', A(T('value', name)),
|
||||
tinsert(autobuy_filter_rows, O(
|
||||
'cols', A(O('value', name)),
|
||||
'search', autobuy_filter,
|
||||
'index', i
|
||||
))
|
||||
end
|
||||
auto_buy_listing:SetData(autobuy_filter_rows)
|
||||
|
||||
local favorite_search_rows = t
|
||||
local favorite_search_rows = T
|
||||
for i, favorite_search in aux_favorite_searches do
|
||||
local name = strsub(favorite_search.prettified, 1, 250)
|
||||
tinsert(favorite_search_rows, T(
|
||||
'cols', A(T('value', name)),
|
||||
tinsert(favorite_search_rows, O(
|
||||
'cols', A(O('value', name)),
|
||||
'search', favorite_search,
|
||||
'index', i
|
||||
))
|
||||
end
|
||||
favorite_searches_listing:SetData(favorite_search_rows)
|
||||
|
||||
local recent_search_rows = t
|
||||
local recent_search_rows = T
|
||||
for i, recent_search in aux_recent_searches do
|
||||
local name = strsub(recent_search.prettified, 1, 250)
|
||||
tinsert(recent_search_rows, T(
|
||||
'cols', A(T('value', name)),
|
||||
tinsert(recent_search_rows, O(
|
||||
'cols', A(O('value', name)),
|
||||
'search', recent_search,
|
||||
'index', i
|
||||
))
|
||||
@@ -42,7 +42,7 @@ function update_search_listings()
|
||||
end
|
||||
|
||||
function new_recent_search(filter_string, prettified)
|
||||
tinsert(aux_recent_searches, 1, T(
|
||||
tinsert(aux_recent_searches, 1, O(
|
||||
'filter_string', filter_string,
|
||||
'prettified', prettified
|
||||
))
|
||||
@@ -105,7 +105,7 @@ handlers = {
|
||||
}
|
||||
|
||||
function get_auto_buy_validator()
|
||||
local validators = t
|
||||
local validators = T
|
||||
for _, filter in aux_auto_buy_filters do
|
||||
local queries, error = filter_util.queries(filter.filter_string)
|
||||
if queries then
|
||||
@@ -122,7 +122,7 @@ end
|
||||
function add_favorite(filter_string)
|
||||
local queries, error = filter_util.queries(filter_string)
|
||||
if queries then
|
||||
tinsert(aux_favorite_searches, 1, T(
|
||||
tinsert(aux_favorite_searches, 1, O(
|
||||
'filter_string', filter_string,
|
||||
'prettified', join(map(queries, function(query) return query.prettified end), ';')
|
||||
))
|
||||
@@ -140,7 +140,7 @@ function add_auto_buy(filter_string)
|
||||
elseif size(queries[1].blizzard_query) > 0 and not filter_util.parse_filter_string(filter_string).blizzard.exact then
|
||||
print('Error: The automatic buyout filter does not support Blizzard filters')
|
||||
else
|
||||
tinsert(aux_auto_buy_filters, 1, T(
|
||||
tinsert(aux_auto_buy_filters, 1, O(
|
||||
'filter_string', filter_string,
|
||||
'prettified', join(map(queries, function(query) return query.prettified end), ';')
|
||||
))
|
||||
|
||||
@@ -34,17 +34,27 @@ do
|
||||
end
|
||||
|
||||
do
|
||||
local _state = setmetatable(t, T('__mode', 'kv'))
|
||||
local _state = setmetatable({}, {__mode='kv'})
|
||||
local __index = function(self, k)
|
||||
return _state[self].handler({public=self, private=_state[self].state}, k)
|
||||
end
|
||||
function M.index_function(state, handler) -- TODO rename table-accessor, use predicate to stop
|
||||
local state, self = {handler=handler, state=state}, t
|
||||
local state, self = {handler=handler, state=state}, T
|
||||
_state[self] = state
|
||||
return setmetatable(self, {__metatable=false, __index=__index, state=state})
|
||||
end
|
||||
end
|
||||
|
||||
do
|
||||
local mt = {__metatable=false, __newindex=nop}
|
||||
function mt:__sub(table)
|
||||
return setmetatable(T, O('__metatable', false, '__newindex', nop, '__index', table))
|
||||
end
|
||||
function M.wrapper()
|
||||
return setmetatable(T, mt)
|
||||
end
|
||||
end
|
||||
|
||||
M.select = vararg-function(arg)
|
||||
for _ = 1, arg[1] do
|
||||
tremove(arg, 1)
|
||||
@@ -92,7 +102,7 @@ function M.get_modified()
|
||||
end
|
||||
|
||||
function M.copy(t)
|
||||
local copy = _M.t
|
||||
local copy = T
|
||||
for k, v in t do copy[k] = v end
|
||||
table.setn(copy, getn(t))
|
||||
return setmetatable(copy, getmetatable(t))
|
||||
@@ -109,13 +119,13 @@ function M.key(value, t)
|
||||
end
|
||||
|
||||
function M.keys(t)
|
||||
local keys = _M.t
|
||||
local keys = T
|
||||
for k in t do tinsert(keys, k) end
|
||||
return keys
|
||||
end
|
||||
|
||||
function M.values(t)
|
||||
local values = _M.t
|
||||
local values = T
|
||||
for _, v in t do tinsert(values, v) end
|
||||
return values
|
||||
end
|
||||
@@ -170,7 +180,7 @@ function M.trim(str)
|
||||
end
|
||||
|
||||
function M.split(str, separator)
|
||||
local parts = t
|
||||
local parts = T
|
||||
while true do
|
||||
local start_index = strfind(str, separator, 1, true)
|
||||
if start_index then
|
||||
@@ -186,7 +196,7 @@ function M.split(str, separator)
|
||||
end
|
||||
|
||||
function M.tokenize(str)
|
||||
local tokens = t
|
||||
local tokens = T
|
||||
for token in string.gfind(str, '%S+') do tinsert(tokens, token) end
|
||||
return tokens
|
||||
end
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
module 'aux.util.completion'
|
||||
|
||||
include 'green_t'
|
||||
include 'green_T'
|
||||
include 'aux'
|
||||
|
||||
local filter_util = require 'aux.util.filter'
|
||||
|
||||
+14
-14
@@ -1,6 +1,6 @@
|
||||
module 'aux.util.filter'
|
||||
|
||||
include 'green_t'
|
||||
include 'green_T'
|
||||
include 'aux'
|
||||
|
||||
local info = require 'aux.util.info'
|
||||
@@ -265,7 +265,7 @@ do
|
||||
end,
|
||||
}
|
||||
function blizzard_filter_parser()
|
||||
return setmetatable(t, mt)
|
||||
return setmetatable(T, mt)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -284,10 +284,10 @@ function parse_parameter(input_type, str)
|
||||
end
|
||||
|
||||
function M.parse_filter_string(str)
|
||||
local filter, post_filter = t, t
|
||||
local filter, post_filter = T, T
|
||||
local blizzard_filter_parser = blizzard_filter_parser()
|
||||
|
||||
local parts = str and map(split(str, '/'), function(part) return strlower(trim(part)) end) or t
|
||||
local parts = str and map(split(str, '/'), function(part) return strlower(trim(part)) end) or T
|
||||
|
||||
local i = 1
|
||||
while parts[i] do
|
||||
@@ -327,14 +327,14 @@ function M.parse_filter_string(str)
|
||||
i = i + 1
|
||||
end
|
||||
|
||||
return T('components', filter, 'blizzard', blizzard_filter_parser(), 'post', post_filter)
|
||||
return O('components', filter, 'blizzard', blizzard_filter_parser(), 'post', post_filter)
|
||||
end
|
||||
|
||||
function M.query(filter_string)
|
||||
local filter, error, suggestions = parse_filter_string(filter_string)
|
||||
|
||||
if not filter then
|
||||
return nil, suggestions or t, error
|
||||
return nil, suggestions or T, error
|
||||
end
|
||||
|
||||
local polish_notation_counter = 0
|
||||
@@ -348,7 +348,7 @@ function M.query(filter_string)
|
||||
end
|
||||
|
||||
if polish_notation_counter > 0 then
|
||||
local suggestions = t
|
||||
local suggestions = T
|
||||
for key in filters do
|
||||
tinsert(suggestions, strlower(key))
|
||||
end
|
||||
@@ -367,7 +367,7 @@ end
|
||||
|
||||
function M.queries(filter_string)
|
||||
local parts = split(filter_string, ';')
|
||||
local queries = t
|
||||
local queries = T
|
||||
for _, str in parts do
|
||||
str = trim(str)
|
||||
local query, _, error = query(str)
|
||||
@@ -381,7 +381,7 @@ function M.queries(filter_string)
|
||||
end
|
||||
|
||||
function suggestions(filter)
|
||||
local suggestions = t
|
||||
local suggestions = T
|
||||
|
||||
if filter.blizzard.name and size(filter.blizzard) == 1 then tinsert(suggestions, 'exact') end
|
||||
|
||||
@@ -498,7 +498,7 @@ end
|
||||
|
||||
function blizzard_query(filter)
|
||||
local filters = filter.blizzard
|
||||
local query = T('name', filters.name and filters.name[2])
|
||||
local query = O('name', filters.name and filters.name[2])
|
||||
local item_info, class_index, subclass_index, slot_index
|
||||
local item_id = filters.name and cache.item_id(filters.name[2])
|
||||
item_info = item_id and info.item(item_id)
|
||||
@@ -526,7 +526,7 @@ end
|
||||
|
||||
function validator(filter)
|
||||
|
||||
local validators = t
|
||||
local validators = T
|
||||
for i, component in filter.post do
|
||||
local type, name, param = unpack(component)
|
||||
if type == 'filter' then
|
||||
@@ -538,11 +538,11 @@ function validator(filter)
|
||||
if filter.blizzard.exact and strlower(info.item(record.item_id).name) ~= filter.blizzard.name[2] then
|
||||
return false
|
||||
end
|
||||
local stack = tt
|
||||
local stack = temp-T
|
||||
for i = getn(filter.post), 1, -1 do
|
||||
local type, name, param = unpack(filter.post[i])
|
||||
if type == 'operator' then
|
||||
local args = tt
|
||||
local args = temp-T
|
||||
while (not param or param > 0) and getn(stack) > 0 do
|
||||
tinsert(args, tremove(stack))
|
||||
param = param and param - 1
|
||||
@@ -564,7 +564,7 @@ end
|
||||
|
||||
function M.query_builder()
|
||||
local filter
|
||||
return T(
|
||||
return O(
|
||||
'append', function(part)
|
||||
filter = not filter and part or filter .. '/' .. part
|
||||
end,
|
||||
|
||||
+11
-11
@@ -1,6 +1,6 @@
|
||||
module 'aux.util.info'
|
||||
|
||||
include 'green_t'
|
||||
include 'green_T'
|
||||
include 'aux'
|
||||
|
||||
local cache = require 'aux.core.cache'
|
||||
@@ -38,7 +38,7 @@ do
|
||||
INVTYPE_TABARD = {19},
|
||||
}
|
||||
function M.inventory_index(slot)
|
||||
return unpack(inventory_index_map[slot] or tt)
|
||||
return unpack(inventory_index_map[slot] or temp-T)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -53,7 +53,7 @@ function M.container_item(bag, slot)
|
||||
local max_charges = max_item_charges(item_id)
|
||||
local charges = max_charges and item_charges(tooltip)
|
||||
local aux_quantity = charges or count
|
||||
return T(
|
||||
return O(
|
||||
'item_id', item_id,
|
||||
'suffix_id', suffix_id,
|
||||
'unique_id', unique_id,
|
||||
@@ -88,7 +88,7 @@ end
|
||||
|
||||
function M.auction_sell_item()
|
||||
for name, texture, count, quality, usable, vendor_price in GetAuctionSellItemInfo do
|
||||
return T(
|
||||
return O(
|
||||
'name', name,
|
||||
'texture', texture,
|
||||
'quality', quality,
|
||||
@@ -116,7 +116,7 @@ function M.auction(index, query_type)
|
||||
local blizzard_bid = high_bid > 0 and high_bid or start_price
|
||||
local bid_price = high_bid > 0 and (high_bid + min_increment) or start_price
|
||||
|
||||
return T(
|
||||
return O(
|
||||
'item_id', item_id,
|
||||
'suffix_id', suffix_id,
|
||||
'unique_id', unique_id,
|
||||
@@ -180,7 +180,7 @@ end
|
||||
|
||||
function M.set_shopping_tooltip(slot)
|
||||
local index1, index2 = inventory_index(slot)
|
||||
local tooltips = tt
|
||||
local tooltips = temp-T
|
||||
if index1 then
|
||||
local tooltip = tooltip('inventory', 'player', index1)
|
||||
if getn(tooltip) > 0 then
|
||||
@@ -195,7 +195,7 @@ function M.set_shopping_tooltip(slot)
|
||||
end
|
||||
|
||||
if tooltips[1] then
|
||||
tinsert(tooltips[1], 1, temp-T('left_text', 'Currently Equipped', 'left_color', temp-A(.5, .5, .5)))
|
||||
tinsert(tooltips[1], 1, temp-O('left_text', 'Currently Equipped', 'left_color', temp-A(.5, .5, .5)))
|
||||
ShoppingTooltip1:SetOwner(GameTooltip, 'ANCHOR_BOTTOMRIGHT')
|
||||
load_tooltip(ShoppingTooltip1, tooltips[1])
|
||||
ShoppingTooltip1:Show()
|
||||
@@ -203,7 +203,7 @@ function M.set_shopping_tooltip(slot)
|
||||
end
|
||||
|
||||
if tooltips[2] then
|
||||
tinsert(tooltips[2], 1, temp-T('left_text', 'Currently Equipped', 'left_color', temp-A(.5, .5, .5)))
|
||||
tinsert(tooltips[2], 1, temp-O('left_text', 'Currently Equipped', 'left_color', temp-A(.5, .5, .5)))
|
||||
ShoppingTooltip2:SetOwner(ShoppingTooltip1, 'ANCHOR_BOTTOMRIGHT')
|
||||
load_tooltip(ShoppingTooltip2, tooltips[2])
|
||||
ShoppingTooltip2:Show()
|
||||
@@ -283,9 +283,9 @@ function M.tooltip(setter, arg1, arg2)
|
||||
elseif setter == 'link' then
|
||||
AuxTooltip:SetHyperlink(arg1)
|
||||
end
|
||||
local tooltip = t
|
||||
local tooltip = T
|
||||
for i = 1, AuxTooltip:NumLines() do
|
||||
tinsert(tooltip, weak-T(
|
||||
tinsert(tooltip, weak-O(
|
||||
'left_text', _G['AuxTooltipTextLeft' .. i]:GetText(),
|
||||
'left_color', weak-A(_G['AuxTooltipTextLeft' .. i]:GetTextColor()),
|
||||
'right_text', _G['AuxTooltipTextRight' .. i]:IsVisible() and _G['AuxTooltipTextRight' .. i]:GetText(),
|
||||
@@ -367,7 +367,7 @@ end
|
||||
function M.item(item_id, suffix_id)
|
||||
local itemstring = 'item:' .. (item_id or 0) .. ':0:' .. (suffix_id or 0) .. ':0'
|
||||
local name, itemstring, quality, level, class, subclass, max_stack, slot, texture = GetItemInfo(itemstring)
|
||||
return name and T(
|
||||
return name and O(
|
||||
'name', name,
|
||||
'itemstring', itemstring,
|
||||
'quality', quality,
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
module 'aux.util.money'
|
||||
|
||||
include 'green_t'
|
||||
include 'green_T'
|
||||
include 'aux'
|
||||
|
||||
M.GOLD_TEXT = '|cffffd70ag|r'
|
||||
@@ -83,7 +83,7 @@ function M.to_string(money, pad, trim, decimal_points, color, no_color)
|
||||
|
||||
local text
|
||||
if trim then
|
||||
local parts = tt
|
||||
local parts = temp-T
|
||||
if gold > 0 then
|
||||
tinsert(parts, format_number(gold, false, nil, color) .. gold_text)
|
||||
end
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
module 'aux.util.persistence'
|
||||
|
||||
include 'green_t'
|
||||
include 'green_T'
|
||||
include 'aux'
|
||||
|
||||
_G.aux_datasets = t
|
||||
_G.aux_datasets = T
|
||||
|
||||
do
|
||||
local dataset
|
||||
function M.get_dataset()
|
||||
if not dataset then
|
||||
local dataset_key = format('%s|%s', GetCVar'realmName', UnitFactionGroup'player')
|
||||
dataset = aux_datasets[dataset_key] or t
|
||||
dataset = aux_datasets[dataset_key] or T
|
||||
aux_datasets[dataset_key] = dataset
|
||||
end
|
||||
return dataset
|
||||
@@ -50,7 +50,7 @@ function M.write(schema, obj)
|
||||
end
|
||||
|
||||
function read_list(schema, str)
|
||||
if str == '' then return t end
|
||||
if str == '' then return T end
|
||||
local separator = schema[2]
|
||||
local element_type = schema[3]
|
||||
return map(split(str, separator), function(part)
|
||||
@@ -69,7 +69,7 @@ end
|
||||
|
||||
function read_tuple(schema, str)
|
||||
local separator = schema[2]
|
||||
local tuple = t
|
||||
local tuple = T
|
||||
local parts = temp-split(str, separator)
|
||||
for i = 3, getn(schema) do
|
||||
local key, type = next(schema[i])
|
||||
@@ -80,7 +80,7 @@ end
|
||||
|
||||
function write_tuple(schema, tuple)
|
||||
local separator = schema[2]
|
||||
local parts = tt
|
||||
local parts = temp-T
|
||||
for i = 3 , getn(schema) do
|
||||
local key, type = next(schema[i])
|
||||
tinsert(parts, write(type, tuple[key]))
|
||||
|
||||
+5
-5
@@ -1,6 +1,6 @@
|
||||
module 'aux.util.scan'
|
||||
|
||||
include 'green_t'
|
||||
include 'green_T'
|
||||
include 'aux'
|
||||
|
||||
local info = require 'aux.util.info'
|
||||
@@ -14,19 +14,19 @@ end
|
||||
|
||||
function M.find(auction_record, status_bar, on_abort, on_failure, on_success)
|
||||
|
||||
local queries = A(t)
|
||||
local queries = A(T)
|
||||
|
||||
if auction_record.blizzard_query then
|
||||
local blizzard_query1 = copy(auction_record.blizzard_query)
|
||||
blizzard_query1.first_page = auction_record.page
|
||||
blizzard_query1.last_page = auction_record.page
|
||||
tinsert(queries, T('blizzard_query', blizzard_query1))
|
||||
tinsert(queries, O('blizzard_query', blizzard_query1))
|
||||
|
||||
if auction_record.page > 0 then
|
||||
local blizzard_query2 = copy(auction_record.blizzard_query)
|
||||
blizzard_query2.first_page = auction_record.page - 1
|
||||
blizzard_query2.last_page = auction_record.page - 1
|
||||
tinsert(queries, T('blizzard_query', blizzard_query2))
|
||||
tinsert(queries, O('blizzard_query', blizzard_query2))
|
||||
end
|
||||
|
||||
local item_query = item_query(auction_record.item_id, 0, 0)
|
||||
@@ -77,6 +77,6 @@ function M.item_query(item_id, first_page, last_page)
|
||||
local query = filter_util.query(item_info.name .. '/exact')
|
||||
query.blizzard_query.first_page = first_page
|
||||
query.blizzard_query.last_page = last_page
|
||||
return T('validator', query.validator, 'blizzard_query', query.blizzard_query)
|
||||
return O('validator', query.validator, 'blizzard_query', query.blizzard_query)
|
||||
end
|
||||
end
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
module 'aux.util.sort'
|
||||
|
||||
include 'green_t'
|
||||
include 'green_T'
|
||||
include 'aux'
|
||||
|
||||
M.EQ = 0
|
||||
|
||||
Reference in New Issue
Block a user