Content added Content deleted
Horblegorble (talk | contribs) No edit summary |
Horblegorble (talk | contribs) No edit summary |
||
Line 17: | Line 17: | ||
weapon_found = true |
weapon_found = true |
||
if v['name'] == page_name then |
if v['name'] == page_name then |
||
weapon_info[' |
weapon_info['name'] = v['name'] |
||
⚫ | |||
⚫ | |||
⚫ | |||
weapon_info['power'] = v['power'] |
weapon_info['power'] = v['power'] |
||
weapon_info['speed'] = v['speed'] |
weapon_info['speed'] = v['speed'] |
||
⚫ | |||
weapon_info['critchance'] = v['critchance'] |
weapon_info['critchance'] = v['critchance'] |
||
⚫ | |||
⚫ | |||
⚫ | |||
weapon_info['desc'] = v['desc'] |
weapon_info['desc'] = v['desc'] |
||
weapon_info[' |
weapon_info['path'] = v['path'] |
||
weapon_info['rating'] = v['rating'] |
|||
⚫ | |||
break |
break |
||
end |
end |
||
Line 33: | Line 32: | ||
end |
end |
||
p. |
p.getWeaponName = function(frame) |
||
findWeapon(frame.args[1]) |
findWeapon(frame.args[1]) |
||
return |
return weapon_info['name'] |
||
end |
end |
||
p. |
p.getWeaponKind = function(frame) |
||
findWeapon(frame.args[1]) |
findWeapon(frame.args[1]) |
||
return |
return weapon_info['kind'] |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
end |
end |
||
Line 51: | Line 60: | ||
findWeapon(frame.args[1]) |
findWeapon(frame.args[1]) |
||
return round(weapon_info['critchance'], 2) .. "%" |
return round(weapon_info['critchance'], 2) .. "%" |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
end |
end |
||
Line 73: | Line 77: | ||
end |
end |
||
p. |
p.getWeaponPower = function(frame) |
||
findWeapon(frame.args[1]) |
findWeapon(frame.args[1]) |
||
return 10 * weapon_info['power'] |
return 10 * weapon_info['power'] |
||
Line 81: | Line 85: | ||
findWeapon(frame.args[1]) |
findWeapon(frame.args[1]) |
||
return weapon_info['speed'] |
return weapon_info['speed'] |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
name = weapon_info['name'] |
|||
w_type = weapon_info['type'] |
|||
path = weapon_info['path'] |
|||
quality = weapon_info['quality'] |
|||
damage = weapon_info['damage'] * 10 |
|||
speed = weapon_info['speed'] |
|||
critchance = weapon_info['critchance'] |
|||
desc = weapon_info['desc'] |
|||
txt = frame:expandTemplate{ title = 'Template:Horblegorble/Sandbox/Infobox weapon', args = { image = image .. '.png', title = name, description = desc, power = damage, quality = quality, speed = speed, critchance = critchance .. '%'} } |
|||
return txt |
|||
end |
end |
||
Revision as of 13:54, 15 August 2022
Documentation for this module may be created at Module:Horblegorble/Sandbox/Weapon/doc
local weapons_table = mw.text.jsonDecode(mw.getCurrentFrame():expandTemplate{title='Template:Horblegorble/Sandbox/Weapons.json'})
local p = {}
function round(number, decimals)
local power = 10 ^ decimals
return math.floor(number * power) / power
end
local weapon_found = false
local weapon_info = {}
local findWeapon = function(page_name)
if weapon_found then
return
end
for i, v in ipairs(weapons_table) do
weapon_found = true
if v['name'] == page_name then
weapon_info['name'] = v['name']
weapon_info['kind'] = v['kind']
weapon_info['hands'] = v['hands']
weapon_info['quality'] = v['quality']
weapon_info['power'] = v['power']
weapon_info['speed'] = v['speed']
weapon_info['poise'] = v['poise']
weapon_info['critchance'] = v['critchance']
weapon_info['desc'] = v['desc']
weapon_info['path'] = v['path']
break
end
end
end
p.getWeaponName = function(frame)
findWeapon(frame.args[1])
return weapon_info['name']
end
p.getWeaponKind = function(frame)
findWeapon(frame.args[1])
return weapon_info['kind']
end
p.getWeaponHands = function(frame)
findWeapon(frame.args[1])
return weapon_info['hands']
end
p.getWeaponImage = function(frame)
findWeapon(frame.args[1])
return "veloren_" .. weapon_info['name'] .. ".png"
end
p.getWeaponPoise = function(frame)
findWeapon(frame.args[1])
return 10 * weapon_info['poise']
end
p.getWeaponCritChance = function(frame)
findWeapon(frame.args[1])
return round(weapon_info['critchance'], 2) .. "%"
end
p.getWeaponPath = function(frame)
findWeapon(frame.args[1])
return weapon_info['path']
end
p.getWeaponQuality = function(frame)
findWeapon(frame.args[1])
return frame:expandTemplate{ title = weapon_info['quality'] }
end
p.getWeaponDesc = function(frame)
findWeapon(frame.args[1])
return weapon_info['desc']
end
p.getWeaponPower = function(frame)
findWeapon(frame.args[1])
return 10 * weapon_info['power']
end
p.getWeaponSpeed = function(frame)
findWeapon(frame.args[1])
return weapon_info['speed']
end
return p