Content added Content deleted
Horblegorble (talk | contribs) No edit summary |
Horblegorble (talk | contribs) No edit summary |
||
Line 1: | Line 1: | ||
local |
local weapons_table = mw.text.jsonDecode(mw.getCurrentFrame():expandTemplate{title='Template:Horblegorble/Sandbox/Weapons.json'}) |
||
local weapons_table = mw.text.jsonDecode(frame:expandTemplate{title='Template:Horblegorble/Sandbox/Weapons.json'}) |
|||
local p = {} |
local p = {} |
||
Line 9: | Line 8: | ||
end |
end |
||
local weapon_info = {} |
|||
local weapon_found = false |
local weapon_found = false |
||
local |
local weapon_info = {} |
||
⚫ | |||
⚫ | |||
if |
if weapon_found then |
||
return |
|||
⚫ | |||
⚫ | |||
weapon_found = true |
weapon_found = true |
||
if v['name'] == page_name then |
|||
weapon_info[' |
weapon_info['poise'] = v['poise'] |
||
weapon_info[' |
weapon_info['power'] = v['power'] |
||
weapon_info[' |
weapon_info['speed'] = v['speed'] |
||
weapon_info[' |
weapon_info['critchance'] = v['critchance'] |
||
weapon_info[' |
weapon_info['type'] = v['type'] |
||
weapon_info[' |
weapon_info['path'] = v['path'] |
||
weapon_info[' |
weapon_info['name'] = v['name'] |
||
weapon_info[' |
weapon_info['desc'] = v['desc'] |
||
⚫ | |||
break |
break |
||
end |
|||
end |
end |
||
⚫ | |||
if not weapon_found then |
|||
⚫ | |||
end |
end |
||
-- findWeapon('') |
|||
⚫ | |||
⚫ | |||
⚫ | |||
-- local page_name = frame.args[1] |
|||
-- findWeapon(page_name) |
|||
⚫ | |||
return image |
|||
end |
end |
||
p.getWeaponRating = function(frame) |
p.getWeaponRating = function(frame) |
||
local page_name = frame.args[1] |
|||
findWeapon(page_name) |
|||
return 10 * round(weapon_info['rating'], 2) |
return 10 * round(weapon_info['rating'], 2) |
||
end |
end |
||
p.getWeaponPoise = function(frame) |
p.getWeaponPoise = function(frame) |
||
local page_name = frame.args[1] |
|||
findWeapon(page_name) |
|||
return 10 * weapon_info['poise'] |
return 10 * weapon_info['poise'] |
||
end |
end |
||
p.getWeaponCritChance = function(frame) |
p.getWeaponCritChance = function(frame) |
||
local page_name = frame.args[1] |
|||
findWeapon(page_name) |
|||
return round(weapon_info['critchance'], 2) .. "%" |
return round(weapon_info['critchance'], 2) .. "%" |
||
end |
end |
||
p.getWeaponName = function(frame) |
p.getWeaponName = function(frame) |
||
local page_name = frame.args[1] |
|||
findWeapon(page_name) |
|||
return weapon_info['name'] |
return weapon_info['name'] |
||
end |
end |
||
p.getWeaponPath = function(frame) |
p.getWeaponPath = function(frame) |
||
local page_name = frame.args[1] |
|||
findWeapon(page_name) |
|||
return weapon_info['path'] |
return weapon_info['path'] |
||
end |
end |
||
p.getWeaponQuality = function(frame) |
p.getWeaponQuality = function(frame) |
||
local page_name = frame.args[1] |
|||
findWeapon(page_name) |
|||
return frame:expandTemplate{ title = weapon_info['quality'] } |
return frame:expandTemplate{ title = weapon_info['quality'] } |
||
end |
end |
||
p.getWeaponDesc = function(frame) |
p.getWeaponDesc = function(frame) |
||
local page_name = frame.args[1] |
|||
findWeapon(page_name) |
|||
return weapon_info['desc'] |
return weapon_info['desc'] |
||
end |
end |
||
p.getWeaponDamage = function(frame) |
p.getWeaponDamage = function(frame) |
||
local weapon = frame.args[1] |
|||
for k, v in pairs(weapons_table) do |
|||
⚫ | |||
if v['name'] == weapon then |
|||
return 10 * weapon_info['power'] |
|||
damage = v['power'] * 10 |
|||
end |
|||
end |
|||
return damage |
|||
end |
end |
||
p.getWeaponSpeed = function(frame) |
p.getWeaponSpeed = function(frame) |
||
local page_name = frame.args[1] |
|||
findWeapon(page_name) |
|||
return weapon_info['speed'] |
return weapon_info['speed'] |
||
end |
end |
||
p.getWeapon = function(frame) |
p.getWeapon = function(frame) |
||
local page_name = frame.args[1] |
|||
findWeapon(page_name) |
|||
image = weapon_info['name'] |
image = weapon_info['name'] |
||
name = weapon_info['name'] |
name = weapon_info['name'] |
Revision as of 12:39, 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['poise'] = v['poise']
weapon_info['power'] = v['power']
weapon_info['speed'] = v['speed']
weapon_info['critchance'] = v['critchance']
weapon_info['type'] = v['type']
weapon_info['path'] = v['path']
weapon_info['name'] = v['name']
weapon_info['desc'] = v['desc']
weapon_info['damage'] = v['damage']
break
end
end
end
-- findWeapon('')
p.getWeaponImage = function(frame)
-- local page_name = frame.args[1]
-- findWeapon(page_name)
local image = "veloren_" .. weapon_info['name'] .. ".png"
return image
end
p.getWeaponRating = function(frame)
local page_name = frame.args[1]
findWeapon(page_name)
return 10 * round(weapon_info['rating'], 2)
end
p.getWeaponPoise = function(frame)
local page_name = frame.args[1]
findWeapon(page_name)
return 10 * weapon_info['poise']
end
p.getWeaponCritChance = function(frame)
local page_name = frame.args[1]
findWeapon(page_name)
return round(weapon_info['critchance'], 2) .. "%"
end
p.getWeaponName = function(frame)
local page_name = frame.args[1]
findWeapon(page_name)
return weapon_info['name']
end
p.getWeaponPath = function(frame)
local page_name = frame.args[1]
findWeapon(page_name)
return weapon_info['path']
end
p.getWeaponQuality = function(frame)
local page_name = frame.args[1]
findWeapon(page_name)
return frame:expandTemplate{ title = weapon_info['quality'] }
end
p.getWeaponDesc = function(frame)
local page_name = frame.args[1]
findWeapon(page_name)
return weapon_info['desc']
end
p.getWeaponDamage = function(frame)
local weapon = frame.args[1]
for k, v in pairs(weapons_table) do
if v['name'] == weapon then
damage = v['power'] * 10
end
end
return damage
end
p.getWeaponSpeed = function(frame)
local page_name = frame.args[1]
findWeapon(page_name)
return weapon_info['speed']
end
p.getWeapon = function(frame)
local page_name = frame.args[1]
findWeapon(page_name)
image = weapon_info['name']
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
return p