| Line 1: |
Line 1: |
| − | local BaseData = { | + | 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) | | function BaseData:create(data) |