A documentação para este módulo pode ser criada em Módulo:Icone/doc
--WARFRAME Wiki PT-BR Módulo Icone
--WARFRAME Wiki Icon Module
--http://warframe.wikia.com/
--Written by User:ChickenBar
local p = {}
local IconData = mw.loadData( 'Module:Icon/data' )
function p.Item(frame)
local iconname = frame.args[1]
local textexist = frame.args[2]
local imagesize = frame.args.imgsize
return p._Item(iconname, textexist, imagesize)
end
--Extracting out to this function allows other Modules to call item text
--Since any templates output by another module won't be parsed by the wiki
function p._Item(iconname, textexist, imagesize)
local iconname = string.gsub(" "..string.lower( iconname ), "%W%l", string.upper):sub(2)
local link = ''
if IconData["Items"][iconname] == nil then
return "<span style=\"color:red;\">Invalid</span>[[Category:Icon Module error]]"
else
link = IconData["Items"][iconname]["link"]
title = IconData["Items"][iconname]["title"]
iconname = IconData["Items"][iconname]["icon"]
if (imagesize == nil or imagesize == '') then
imagesize = 'x26'
end
local imgText = '[[File:'..iconname..'|'..imagesize..'px'
if(link ~= nil) then
imgText = imgText..'|link='..link
elseif(title~=nil) then
imgText = imgText..'|'..title
end
imgText = imgText..']]'
if (textexist == 'text' or textexist == 'Text') then
if (link ~= nil) then
return imgText..' [['..link..']]'
elseif (title ~= nil) then
return imgText..' '..title
else
return imgText
end
end
return imgText
end
end
function p.Pol(frame)
local iconname = frame.args[1]
local imagesize = frame.args.imgsize
return p._Pol(iconname, imagesize)
end
function p._Pol(iconname, imagesize)
if IconData["Polarities"][iconname] == nil then
return "<span style=\"color:red;\">Invalid</span>"
else
iconname = IconData["Polarities"][iconname]
if (imagesize == nil or imagesize == '') then
imagesize = 'x20'
end
return '[[File:'..iconname..'|'..imagesize..'px|link=Polaridade]]'
end
end
function p.Dis( frame )
local iconname = frame.args[1]
local textexist = frame.args[2]
local color = frame.args[3]
local imagesize = frame.args.imgsize
return p._Dis(iconname, textexist, color, imagesize)
end
function p._Dis(iconname, textexist, color, imagesize)
if(color == nil)then
color = "Black"
end
iconname = iconname..""
local link = ''
if IconData["Disposition"][iconname] == nil then
return "<span style=\"color:red;\">Invalid</span>"
else
local iconFile = ""
link = IconData["Disposition"][iconname]["link"]
if (color == 'white') then
iconFile = IconData["Disposition"][iconname]["icon"][2] --white icon
else
iconFile = IconData["Disposition"][iconname]["icon"][1] --black icon
end
if (imagesize == nil or imagesize == '') then
imagesize = 'x16'
end
if (textexist == 'text' or textexist == 'Text') then
textcolor = IconData["Disposition"][iconname]["color"]
if (iconname == '0') then
return '<span style=\"color:'..color..';\">N/A</span>'
else
if (iconFile == 'Disposition1.png' or iconFile == 'Disposition2.png' or iconFile == 'Disposition1_w.png' or iconFile == 'Disposition2_w.png') then
return '[[File:'..iconFile..'|'..imagesize..'px|link='..link..']] <span style=\"color:'..color..';\">Faint</span>'
else
if (iconFile == 'Disposition3.png' or iconFile == 'Disposition3_w.png') then
return '[[File:'..iconFile..'|'..imagesize..'px|link='..link..']] <span style=\"color:'..color..';\">Neutral</span>'
else
return '[[File:'..iconFile..'|'..imagesize..'px|link='..link..']] <span style=\"color:'..color..';\">Strong</span>'
end
end
end
end
if (iconname == '0') then
return '<span style=\"color:'..color..';\">N/A</span>'
else
return '[[File:'..iconFile..'|'..imagesize..'px|link='..link..']]'
end
end
end
function p.Affinity( frame )
local iconname = frame.args[1]
local textexist = frame.args[2]
local imagesize = frame.args.imgsize
return p._Affinity(iconname, textexist, imagesize)
end
function p._Affinity(iconname, textexist, imagesize)
local link = ''
if IconData["Affinity"][iconname] == nil then
return "<span style=\"color:red;\">Invalid</span>"
else
link = IconData["Affinity"][iconname]["link"]
local imgname = IconData["Affinity"][iconname]["icon"]
if (imagesize == nil or imagesize == '') then
imagesize = 'x26'
end
if (textexist == 'text' or textexist == 'Text') then
return '[[File:'..imgname..'|'..imagesize..'px|link='..link..']] [['..link..'|'..iconname..']]'
end
return '[[File:'..imgname..'|'..imagesize..'px|link='..link..']]'
end
end
function p.Arcane( frame )
local iconname = frame.args[1]
local textexist = frame.args[2]
local imagesize = frame.args.imgsize
local hiRes = frame.args.hires
return p._Arcane(iconname, textexist, imagesize, hiRes)
end
function p._Arcane(iconname, textexist, imagesize, hiRes)
local link = ''
local imgname =''
if IconData["Arcane"][iconname] == nil then
return "<span style=\"color:red;\">Invalid</span>"
else
link = IconData["Arcane"][iconname]["link"]
if (hiRes ~= nil) and (hiRes ~= '') then
imgname = IconData["Arcane"][iconname]["hiresicon"]
else
imgname = IconData["Arcane"][iconname]["icon"]
end
if (imagesize == nil or imagesize == '') then
if (hiRes ~= nil) and (hiRes ~= '') then
imagesize = 'x75'
else
imagesize = 'x26'
end
end
if (textexist == 'text' or textexist == 'Text') then
return '[[File:'..imgname..'|'..imagesize..'px|link='..link..']] [['..link..']]'
end
return '[[File:'..imgname..'|'..imagesize..'px|link='..link..']]'
end
end
function p.Faction( frame )
local iconname = frame.args[1]
local textexist = frame.args[2]
local color = frame.args[3]
local imagesize = frame.args.imgsize
local link = ''
if IconData["Factions"][iconname] == nil then
return '[['..iconname..']]'
else
link = IconData["Factions"][iconname]["link"]
if color == 'white' then
iconname = IconData["Factions"][iconname]["icon"][2] --white icon
else
iconname = IconData["Factions"][iconname]["icon"][1] --black icon
end
if (imagesize == nil or imagesize == '') then
imagesize = 'x20'
end
if (textexist == 'text' or textexist == 'Text') then
return '[[File:'..iconname..'|'..imagesize..'px|link='..link..']][['..link..']]'
end
return '[[File:'..iconname..'|'..imagesize..'px|link='..link..']]'
end
end
function p.Syndicate( frame )
local iconname = frame.args[1]
local textexist = frame.args[2]
local color = frame.args[3]
local imagesize = frame.args.imgsize
local link = ''
if IconData["Syndicates"][iconname] == nil then
return ""
else
link = IconData["Syndicates"][iconname]["link"]
if color == 'white' then
iconname = IconData["Syndicates"][iconname]["icon"][2] --white icon
else
iconname = IconData["Syndicates"][iconname]["icon"][1] --black icon
end
if (imagesize == nil or imagesize == '') then
imagesize = 'x32'
end
if (textexist == 'text' or textexist == 'Text') then
return '[[File:'..iconname..'|'..imagesize..'px|link='..link..']][['..link..']]'
end
return '[[File:'..iconname..'|'..imagesize..'px|link='..link..']]'
end
end
function p.Prime( frame )
local primename_input = frame.args[1]
local partname_input = frame.args[2]
local imagesize_input = frame.args.imgsize
return p._Prime(primename_input,partname_input,imagesize_input)
end
function p._Prime( primename, partname, imagesize )
local primename = string.gsub(" "..string.lower( primename ), "%W%l", string.upper):sub(2)
local link = ''
if IconData["Primes"][primename] == nil then
return "Unconfirmed Item"
else
link = IconData["Primes"][primename]["link"]
iconname = IconData["Primes"][primename]["icon"]
if (imagesize == nil or imagesize == '') then
imagesize = 'x32'
end
if partname ~= nil then
partname = string.gsub(" "..string.lower( partname ), "%W%l", string.upper):sub(2)
if primename == "Forma" then
return '[[File:'..iconname..'|'..imagesize..'px|link='..link..']] [['..link..'#Acquisition|'..primename.." "..partname..']]'
else
return '[[File:'..iconname..'|'..imagesize..'px|link='..link..']] [['..link..'#Acquisition|'..primename..' Prime '..partname..']]'
end
end
return '[[File:'..iconname..'|'..imagesize..'px|link='..link..']]'
end
end
function p.Resource( frame )
local iconname = frame.args[1]
local textexist = frame.args[2]
local imagesize = frame.args.imgsize
return p._Resource(iconname, textexist, imagesize)
end
function p._Resource(iconname, textexist, imagesize)
local link = ''
if IconData["Resources"][iconname] == nil then
return ""
else
link = IconData["Resources"][iconname]["link"]
iconname = IconData["Resources"][iconname]["icon"]
if (imagesize == nil or imagesize == '') then
imagesize = 'x32'
end
if (textexist == 'text' or textexist == 'Text') then
return '[[File:'..iconname..'|'..imagesize..'px|link='..link..']] [['..link..']]'
end
return '[[File:'..iconname..'|'..imagesize..'px|link='..link..']]'
end
end
function p.Fish( frame )
local iconname = frame.args[1]
local textexist = frame.args[2]
local imagesize = frame.args.imgsize
return p._Fish(iconname, textexist, imagesize)
end
function p._Fish(iconname, textexist, imagesize)
local link = ''
if IconData["Fish"][iconname] == nil then
return ""
else
link = IconData["Fish"][iconname]["link"]
iconname = IconData["Fish"][iconname]["icon"]
if (imagesize == nil or imagesize == '') then
imagesize = 'x32'
end
if (textexist == 'text' or textexist == 'Text') then
return '[[File:'..iconname..'|'..imagesize..'px|link='..link..']] [['..link..'|'..title..']]'
end
return '[[File:'..iconname..'|'..imagesize..'px|link='..link..']]'
end
end
function p.Proc( frame )
local iconname = frame.args[1]
local textexist = frame.args[2]
local color = frame.args[3]
local imagesize = frame.args.imgsize
local ignoreColor = frame.args.ignoreColor
if(ignoreColor ~= nil and string.upper(ignoreColor) ~= "NO" and string.upper(ignoreColor) ~= "FALSE") then
ignoreColor = true
else
ignoreColor = false
end
return p._Proc(iconname, textexist, color, imagesize, ignoreColor)
end
function p._Proc(iconname, textexist, color, imagesize, ignoreTextColor)
local link = ''
local iconFile = ""
local textcolor = ''
local title = ''
local tooltip = IconData["Procs"][iconname]["title"]
if (string.upper(iconname) == "UNKNOWN") then
return ""
elseif IconData["Procs"][iconname] == nil then
return "<span style=\"color:red;\">Invalid</span>"
else
link = IconData["Procs"][iconname]["link"]
if color == 'white' then
iconFile = IconData["Procs"][iconname]["icon"][2] --white icon
else
iconFile = IconData["Procs"][iconname]["icon"][1] --black icon
end
if (imagesize == nil or imagesize == '') then
imagesize = 'x18'
end
if (textexist == 'text' or textexist == 'Text') then
textcolor = IconData["Procs"][iconname]["color"]
if(ignoreTextColor == nil or not ignoreTextColor) then
if(tooltip ~= nil and tooltip ~= '') then
return '[[File:'..iconFile..'|'..imagesize..'px|link='..link..'|'..tooltip..']] [['..link..'|<span style=\"color:'..textcolor..';\">'..iconname..'</span>]]'
else
return '[[File:'..iconFile..'|'..imagesize..'px|link='..link..']] [['..link..'|<span style=\"color:'..textcolor..';\">'..iconname..'</span>]]'
end
else
if(tooltip ~= nil and tooltip ~= '') then
return '[[File:'..iconFile..'|'..imagesize..'px|link='..link..'|'..tooltip..']] [['..link..'|'..iconname..']]'
else
return '[[File:'..iconFile..'|'..imagesize..'px|link='..link..']] [['..link..'|'..iconname..']]'
end
end
end
if(tooltip ~= nil and tooltip ~= '') then
return '[[File:'..iconFile..'|'..imagesize..'px|link='..link..'|'..tooltip..']]'
else
return '[[File:'..iconFile..'|'..imagesize..'px|link='..link..']]'
end
end
end
function p.Focus( frame )
local iconname = frame.args[1]
local textexist = frame.args[2]
local color = frame.args[3]
local icontype = frame.args[4]
local imagesize = frame.args.imgsize
if IconData["Focus"][iconname] == nil then
return "<span style=\"color:red;\">Invalid</span>"
else
if icontype == 'seal' then
if color == 'white' then
iconname = IconData["Focus"][iconname]["seal"][2]
else
iconname = IconData["Focus"][iconname]["seal"][1]
end
else
if color == 'white' then
iconname = IconData["Focus"][iconname]["icon"][2]
else
iconname = IconData["Focus"][iconname]["icon"][1]
end
end
if (imagesize == nil or imagesize == '') then
imagesize = 'x20'
end
if (textexist == 'text' or textexist == 'Text') then
textcolor = IconData["Focus"][frame.args[1]]["color"]
return '[[File:'..iconname..'|'..imagesize..'px|sub|link=Focus]][[Focus|'..frame.args[1]..']]'
end
return '[[File:'..iconname..'|'..imagesize..'px|link=Focus]]'
end
end
function p.Way( frame )
local iconname = frame.args[1]
local imagesize = frame.args.imgsize
local link = ''
if IconData["Ways"][iconname] == nil then
return "<span style=\"color:red;\">Missing<br>Icon</span>"
else
iconname = IconData["Ways"][iconname]
end
if (imagesize == nil or imagesize == '') then
imagesize = 'x18'
end
return '[[File:'..iconname..'|'..imagesize..'px|link='..link..']]'
end
function p.HUD( frame )
local iconname = frame.args[1]
local textexist = frame.args[2]
local color = frame.args[3]
local imagesize = frame.args.imgsize
local link = ''
if IconData["Heads-Up Display"][iconname] == nil then
return '[['..iconname..']]'
else
link = IconData["Heads-Up Display"][iconname]["link"]
if color == 'white' then
iconname = IconData["Heads-Up Display"][iconname]["icon"][2] --white icon
else
iconname = IconData["Heads-Up Display"][iconname]["icon"][1] --black icon
end
if (imagesize == nil or imagesize == '') then
imagesize = 'x20'
end
if (textexist == 'text' or textexist == 'Text') then
return '[[File:'..iconname..'|'..imagesize..'px|link=Heads-Up Display]][[Heads-Up Display|'..link..']]'
end
return '[[File:'..iconname..'|'..imagesize..'px|link=Heads-Up Display]]'
end
end
function p.Flag( frame )
local iconname = frame.args[1]
local tooltip = frame.args[2]
local dest = frame.args[3]
local textexist = frame.args[4]
if IconData["Flags"][iconname] == nil then
return "<span style=\"color:red;\">Invalid</span>"
else
iconname = IconData["Flags"][iconname]
if tooltip == nil then
tooltip = ''
end
if dest == nil then
dest = ''
end
if (textexist == 'text' or textexist == 'Text') then
return '[[File:'..iconname..'|'..tooltip..'|16px|link='..dest..']] [['..dest..'|'..tooltip..']]'
end
return '[[File:'..iconname..'|'..tooltip..'|16px|link='..dest..']]'
end
end
function p.Melee(frame)
local AttackType = frame.args[1]
local ProcType = frame.args[2]
local imagesize = frame.args.imgsize
return p._Melee(AttackType, ProcType, imagesize)
end
function p._Melee(AttackType, ProcType, imagesize)
if(AttackType == nil or AttackType == '') then
AttackType = "DEFAULT"
else
AttackType = string.upper(AttackType)
end
if(ProcType == nil or ProcType == '') then
ProcType = "DEFAULT"
else
ProcType = string.upper(ProcType)
end
if (imagesize == nil or imagesize == '') then
imagesize = 'x22'
end
if(IconData["Melee"][ProcType] == nil or IconData["Melee"][ProcType][AttackType] == nil) then
return "<span style=\"color:red;\">Invalid</span>"
end
local icon = IconData["Melee"][ProcType][AttackType].icon
local link = IconData["Melee"][ProcType][AttackType].link
local title = IconData["Melee"][ProcType][AttackType].title
local tooltip = IconData["Melee"][ProcType][AttackType].tooltip
if(icon == nil or icon == '') then
return "<span style=\"color:red;\">Invalid</span>"
end
local result = '[[File:'..icon
if(tooltip ~= nil and tooltip ~= '') then result = result..'|'..tooltip end
result = result..'|'..imagesize..'px'
if link ~= nil then result = result..'|link='..link end
if title ~= nil then result = result..'|'..title end
result = result..']]'
return result
end
function p.Zaw(frame)
local zawname_input = frame.args[1]
local textexist = frame.args[2]
local imagesize_input = frame.args.imgsize
return p._Zaw(zawname_input, textexist, imagesize_input)
end
function p._Zaw(zawname, textexist, imagesize)
zawname = string.gsub(" "..string.lower( zawname ), "%W%l", string.upper):sub(2)
local link = ''
if IconData["Zaws"][zawname] == nil then
return "<span style=\"color:red;\">Invalid</span>[[Category:Icon Module error]]"
else
link = IconData["Zaws"][zawname]["link"]
local title = IconData["Zaws"][zawname]["title"]
zawname = IconData["Zaws"][zawname]["icon"]
if (imagesize == nil or imagesize == '') then
imagesize = 'x26'
end
local imgText = '[[File:'..zawname..'|'..imagesize..'px'
if(link ~= nil) then
imgText = imgText..'|link='..link
elseif(title ~= nil) then
imgText = imgText..'|'..title
end
imgText = imgText..']]'
if (textexist == 'text' or textexist == 'Text') then
if (link ~= nil) then
if(title ~= nil) then
return imgText..' [['..link..'|'..title..']]'
else
return imgText..' [['..link..']]'
end
elseif(title ~= nil) then
return imgText..' '..title
else
return imgText
end
end
return imgText
end
end
function p.Test(frame)
return p._Proc(frame.args[1])
end
return p