Module:View/Expedition
Documentation for this module may be created at Module:View/Expedition/doc
local U = require('Module:Core')
local F = require('Module:Formatting')
local view = require('Module:View')
local data = require('Module:Data/Expedition')
local backgrounds = {
[0] = 'EDEDED',
[1] = 'EDEDED',
[2] = 'EDEDD5',
[3] = 'CFE8E8',
[4] = 'C5E6D5',
[5] = 'D3D3EB',
-- [7] = '?',
}
local template = [=[|-
|style="${style}"|${id}
|style="${style}"|${name}
|style="${style}"|${time}
|style="${style}"|${hq}
|style="${style}"|${ship}
|style="${style}"|${fuel}
|style="${style}"|${ammo}
|style="${style}"|${steel}
|style="${style}"|${bauxite}
|style="${style}"|${item1}
|style="${style}"|${item2}]=]
local function formatTime(time)
return math.floor(time / 60) .. ':' .. time % 60
end
local function tooltip(text, title)
return F:tooltip2(text, title, '<br>')
end
local function render(args)
local es = U.ifilter(data, function(e) return e.maparea_id == args.explicit.world end)
return U.joinLines(U.imap(es, function(e)
return U.format{
template,
style = string.format('text-align: center; height: 35px; background: #%s; color:#000', backgrounds[e.maparea_id] or backgrounds[0]),
id = tooltip(e.disp_no, 'ID number as displayed in game'),
name = tooltip(e.name, e.details),
time = tooltip(formatTime(e.time), 'Time required for expedition'),
hq = tooltip(args.explicit.hq or '??', 'Admiral experience gained upon completion from this expedition'),
ship = tooltip(args.explicit.ship or '??', 'Ship experience gained upon completion from this expedition'),
fuel = tooltip(args.explicit.fuel or '??', 'Base resources gain from expedition (at 100% ratio)'),
ammo = tooltip(args.explicit.ammo or '??', 'Base resources gain from expedition (at 100% ratio)'),
steel = tooltip(args.explicit.steel or '??', 'Base resources gain from expedition (at 100% ratio)'),
bauxite = tooltip(args.explicit.bauxite or '??', 'Base resources gain from expedition (at 100% ratio)'),
item1 = args.explicit.item1 or '??',
item2 = args.explicit.item2 or '??',
}
end))
end
local test = { explicit = { world = 7 } }
-- print(p.test())
return view(render, test)