- Welcome to the Kancolle Wiki!
- If you have any questions regarding site content, account registration, etc., please visit the KanColle Wiki Discord
Difference between revisions of "Module:BaseData"
Jump to navigation
Jump to search
com>Ckwng |
com>Ckwng (Add size arg to format_image()) |
||
Line 1: | Line 1: | ||
local BaseData = { | local BaseData = { | ||
_image_template = "[[File:%s]]", | _image_template = "[[File:%s]]", | ||
+ | _image_sized_template = "[[File:%s|%s]]", | ||
_no_image = "Catbomb.png|300px", | _no_image = "Catbomb.png|300px", | ||
+ | _no_image_size = "300px", | ||
_simple_link = "[[%s]]", | _simple_link = "[[%s]]", | ||
_aliased_link = "[[%s|%s]]", | _aliased_link = "[[%s|%s]]", | ||
Line 39: | Line 41: | ||
}) | }) | ||
− | function BaseData:format_image(name, raw) | + | function BaseData:format_image(name, size, raw) |
if raw then | if raw then | ||
return name | return name | ||
elseif name == nil then | elseif name == nil then | ||
− | return mw.ustring.format(self. | + | return mw.ustring.format(self._image_sized_template, self._no_image, self._no_image_size) |
else | else | ||
− | return mw.ustring.format(self._image_template, name) | + | if size then |
+ | return mw.ustring.format(self._image_sized_template, name, size) | ||
+ | else | ||
+ | return mw.ustring.format(self._image_template, name) | ||
+ | end | ||
end | end | ||
end | end |
Revision as of 10:42, 16 December 2014
Documentation for this module may be created at Module:BaseData/doc
local BaseData = {
_image_template = "[[File:%s]]",
_image_sized_template = "[[File:%s|%s]]",
_no_image = "Catbomb.png|300px",
_no_image_size = "300px",
_simple_link = "[[%s]]",
_aliased_link = "[[%s|%s]]",
}
function BaseData:create_formatter(lookup)
return function(self, stat, raw)
if raw then
return stat
elseif stat == nil then
return "??"
end
local result = lookup[stat]
if result == nil then
return stat
else
return result
end
end
end
BaseData.format_stat = BaseData:create_formatter({
[false] = "",
})
BaseData.format_speed = BaseData:create_formatter({
[5] = "Slow",
[10] = "Fast",
})
BaseData.format_range = BaseData:create_formatter({
[1] = "Short",
[2] = "Medium",
[3] = "Long",
[0] = "Very Short",
[4] = "Very Long",
})
function BaseData:format_image(name, size, raw)
if raw then
return name
elseif name == nil then
return mw.ustring.format(self._image_sized_template, self._no_image, self._no_image_size)
else
if size then
return mw.ustring.format(self._image_sized_template, name, size)
else
return mw.ustring.format(self._image_template, name)
end
end
end
function BaseData:create(data)
data = data or {}
setmetatable(data, data)
data.__index = self
return data
end
BaseData.__call = function (table, ...)
return table:create(...)
end
setmetatable(BaseData, BaseData)
return BaseData