- 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 m |
com>Ckwng |
||
Line 2: | Line 2: | ||
_image_template = "[[File:%s]]", | _image_template = "[[File:%s]]", | ||
_no_image = "Catbomb.png|300px", | _no_image = "Catbomb.png|300px", | ||
+ | _simple_link = "[[%s]]", | ||
+ | _aliased_link = "[[%s|%s]]", | ||
} | } | ||
Line 49: | Line 51: | ||
function BaseData:create(data) | function BaseData:create(data) | ||
data = data or {} | data = data or {} | ||
− | setmetatable(data, | + | setmetatable(data, data) |
− | + | data.__index = self | |
return data | return data | ||
end | end |
Revision as of 04:10, 15 December 2014
Documentation for this module may be created at Module:BaseData/doc
local BaseData = {
_image_template = "[[File:%s]]",
_no_image = "Catbomb.png|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, raw)
if raw then
return name
elseif name == nil then
return mw.ustring.format(self._image_template, self._no_image)
else
return mw.ustring.format(self._image_template, name)
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