Module:SpellData
Jump to navigation
Jump to search
- Module:SpellData has the following documentation.
Fetches all data items for League of Legends summoner spells.
The data is stored at Module:SpellData/data. If you wish to edit that data, please follow the format documented at the top of that page.
-- <pre>
local p = {}
local spellData = mw.loadData('Module:SpellData/data')
local lib = require('Module:Feature')
local function getSpellData(spell)
return spellData[spell] or {}
end
function p.fullData()
return spellData
end
function p.spellargument(frame)
local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
local s = args['spell'] or args[1]
s = s:sub(1,1):upper()..s:sub(2)
return s
end
function p.smiteswap(frame)
local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
args['spell'] = p.spellargument(frame)
if args['spell'] == "Unleashed Smite" or args['spell'] == "Primal Smite" then args['spell'] = "Smite"
end
return args['spell']
end
function p.getdisp_name(frame)
local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
args['spell'] = p.spellargument(frame)
return getSpellData(args['spell']).disp_name or getSpellData(p.smiteswap(frame)).disp_name or args['spell']
end
function p.getlink(frame)
local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
args['spell'] = p.spellargument(frame)
return (
getSpellData(args['spell']) and getSpellData(args['spell']).link or
getSpellData(p.smiteswap(frame)) and getSpellData(p.smiteswap(frame)).link or
args['spell']
)
end
function p.getfile(frame)
local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
args['spell'] = p.spellargument(frame)
local FN = require("Module:Filename")
return FN.spell{args['spell'], args['variant']}
end
function p.getcooldown(frame)
local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
args['spell'] = p.spellargument(frame)
local result = getSpellData(args['spell']).cooldown or getSpellData(p.smiteswap(frame)).cooldown or ""
return frame:preprocess(result)
end
function p.getrecharge(frame)
local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
args['spell'] = p.spellargument(frame)
return getSpellData(args['spell']).recharge or getSpellData(p.smiteswap(frame)).recharge
end
function p.getcharges(frame)
local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
args['spell'] = p.spellargument(frame)
return getSpellData(args['spell']).charges or getSpellData(p.smiteswap(frame)).charges
end
function p.getlevel(frame)
local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
args['spell'] = p.spellargument(frame)
local result = getSpellData(args['spell']).level or getSpellData(p.smiteswap(frame)).level or ""
return frame:preprocess(result)
end
function p.getrange(frame)
local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
args['spell'] = p.spellargument(frame)
local result = getSpellData(args['spell']).range or getSpellData(p.smiteswap(frame)).range or ""
return frame:preprocess(result)
end
function p.getstealth(frame)
local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
args['spell'] = p.spellargument(frame)
return getSpellData(args['spell']).stealth or getSpellData(p.smiteswap(frame)).stealth
end
function p.getmaps(frame)
local spell = p.smiteswap(frame)
local s = ""
for k,v in pairs(getSpellData(spell).maps or {}) do
if v then s = s .. k:upper() end
end
return s
end
function p.getsr(frame)
local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
args['spell'] = p.spellargument(frame)
return getSpellData(args['spell']).maps.sr or getSpellData(p.smiteswap(frame)).maps.sr or false
end
function p.getha(frame)
local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
args['spell'] = p.spellargument(frame)
return getSpellData(args['spell']).maps.ha or getSpellData(p.smiteswap(frame)).maps.ha or false
end
function p.gettt(frame)
local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
args['spell'] = p.spellargument(frame)
return getSpellData(args['spell']).maps.tt or getSpellData(p.smiteswap(frame)).maps.tt or false
end
function p.getnb(frame)
local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
args['spell'] = p.spellargument(frame)
return getSpellData(args['spell']).maps.nb or getSpellData(p.smiteswap(frame)).maps.nb or false
end
function p.getar(frame)
local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
args['spell'] = p.spellargument(frame)
return getSpellData(args['spell']).maps.ar or getSpellData(p.smiteswap(frame)).maps.ar or false
end
function p.getcs(frame)
local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
args['spell'] = p.spellargument(frame)
return getSpellData(args['spell']).maps.cs or getSpellData(p.smiteswap(frame)).maps.cs or false
end
function p.geteffect(frame)
local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
args['spell'] = p.spellargument(frame)
local result = getSpellData(args['spell']).effect or getSpellData(p.smiteswap(frame)).effect or ""
return frame:preprocess(result)
end
function p.geteffect2(frame)
local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
args['spell'] = p.spellargument(frame)
local result = getSpellData(args['spell']).effect2 or getSpellData(p.smiteswap(frame)).effect2 or ""
return frame:preprocess(result)
end
function p.geteffect3(frame)
local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
args['spell'] = p.spellargument(frame)
local result = getSpellData(args['spell']).effect3 or getSpellData(p.smiteswap(frame)).effect3 or ""
return frame:preprocess(result)
end
function p.getdescription(frame)
local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
args['spell'] = p.spellargument(frame)
local result = getSpellData(args['spell']).description or getSpellData(p.smiteswap(frame)).description or ""
return frame:preprocess(result)
end
function p.getremoved(frame)
local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
args['spell'] = p.spellargument(frame)
return getSpellData(args['spell']).removed or getSpellData(p.smiteswap(frame)).removed or false
end
function p.getpatch(frame)
local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
args['spell'] = p.spellargument(frame)
return getSpellData(args['spell']).patch or getSpellData(p.smiteswap(frame)).patch
end
function p.getexample(frame)
local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
args['spell'] = p.spellargument(frame)
return getSpellData(args['spell']).example or getSpellData(p.smiteswap(frame)).example
end
function p.getexample2(frame)
local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
args['spell'] = p.spellargument(frame)
return getSpellData(args['spell']).example2 or getSpellData(p.smiteswap(frame)).example2
end
return p
-- </pre>
-- [[Category:Lua]]