User:Horblegorble/Trash/Sandbox/Module/Weapon: Difference between revisions

From Veloren Wiki
Content added Content deleted
(Created page with "local weapons_table = mw.text.jsonDecode(mw.getCurrentFrame():expandTemplate{title='User:Horblegorble/Sandbox/Template: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 _, v in pairs(weapons_table) do weapon_found = true if v['name'] == page_na...")
 
(Blanked the page)
Tag: Blanking
Line 1: Line 1:
local weapons_table = mw.text.jsonDecode(mw.getCurrentFrame():expandTemplate{title='User:Horblegorble/Sandbox/Template: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 _, v in pairs(weapons_table) do
weapon_found = true
if v['name'] == page_name then
-- general
weapon_info['name' ] = v['name' ]
weapon_info['kind' ] = v['kind' ]
weapon_info['hands' ] = v['hands' ]
weapon_info['desc' ] = v['desc' ]
weapon_info['craftable' ] = v['craftable' ]
-- displayed stats
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['range' ] = v['range' ]
weapon_info['efficiency'] = v['efficiency']
weapon_info['buff' ] = v['buff' ]
weapon_info['bufftype' ] = v['bufftype' ]
-- detailed stats
weapon_info['equiptime' ] = v['equiptime' ]
-- assets
weapon_info['path' ] = v['path' ]
weapon_info['vox' ] = v['vox' ]
weapon_info['ron' ] = v['ron' ]
weapon_info['manifest' ] = v['manifest' ]
break
end
end
end

-- general

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.getWeaponDesc = function(frame)
findWeapon(frame.args[1])
return weapon_info['desc']
end

p.getWeaponCraftable = function(frame)
findWeapon(frame.args[1])
return weapon_info['craftable']
end

-- displayed stats

p.getWeaponQuality = function(frame)
findWeapon(frame.args[1])
return frame:expandTemplate{ title = weapon_info['quality'] }
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

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.getWeaponRange = function(frame)
findWeapon(frame.args[1])
return weapon_info['range']
end

p.getWeaponEfficiency = function(frame)
findWeapon(frame.args[1])
return weapon_info['efficiency']
end

p.getWeaponBuff = function(frame)
findWeapon(frame.args[1])
return weapon_info['buff']
end

p.getWeaponBuffType = function(frame)
findWeapon(frame.args[1])
return weapon_info['bufftype']
end

-- detailed stats

p.getWeaponEquipTime = function(frame)
findWeapon(frame.args[1])
return weapon_info['equiptime'] .. ' seconds'
end

-- assets

p.getWeaponPath = function(frame)
findWeapon(frame.args[1])
return weapon_info['path']
end

p.getWeaponImage = function(frame)
findWeapon(frame.args[1])
return "Veloren_" .. weapon_info['name'] .. ".png"
end
p.getWeaponVox = function(frame)
findWeapon(frame.args[1])
return weapon_info['vox']
end

p.getWeaponRon = function(frame)
findWeapon(frame.args[1])
return weapon_info['ron']
end

p.getWeaponManifest = function(frame)
findWeapon(frame.args[1])
return weapon_info['manifest']
end

return p

Revision as of 08:17, 25 August 2022

Cookies help us deliver our services. By using our services, you agree to our use of cookies.