| Line 1: |
Line 1: |
| − | local Utils = require("Module:Utils") | + | local _ = require("Module:Core") |
| | local Equipment = require('Module:Equipment') | | local Equipment = require('Module:Equipment') |
| | + | |
| | + | function getEquipment(frame) |
| | + | local args = _.getTemplateArgs(frame) |
| | + | local name = args.explicit[1] or args.implicit.pagename or "" |
| | + | return Equipment(name) |
| | + | end |
| | + | |
| | + | function wikipediaLink(wikipedia) |
| | + | if not wikipedia then |
| | + | return |
| | + | end |
| | + | local parts = _.split(wikipedia, ":") |
| | + | if parts[1] and parts[2] then |
| | + | return string.format("[[wikipedia:%s:%s|%s]]", parts[1], parts[2], parts[2]) |
| | + | else |
| | + | return string.format("[[wikipedia:%s|%s]]", wikipedia, wikipedia) |
| | + | end |
| | + | end |
| | | | |
| | return { | | return { |
| | + | info = function(frame) |
| | + | return getEquipment(frame):info() |
| | + | end, |
| | + | info_en = function(frame) |
| | + | return getEquipment(frame):info_en() |
| | + | end, |
| | + | wikipedia = function(frame) |
| | + | return wikipediaLink(getEquipment(frame):wikipedia()) |
| | + | end, |
| | buildable = function(frame) | | buildable = function(frame) |
| − | local args = Utils.getTemplateArgs(frame) | + | return getEquipment(frame):buildable() and "true" or "" |
| − | local name = args.explicit[1] or args.implicit.pagename or ""
| + | end, |
| − | local equip = Equipment(name)
| + | improvable = function(frame) |
| − | return equip:buildable() and "true" or "" | + | return getEquipment(frame):improvable() and "true" or "" |
| | end, | | end, |
| | } | | } |