WARFRAME Wiki
Advertisement
WARFRAME Wiki

Documentation for this module may be created at Module:ChickenTest/doc

--WARFRAME Wiki Icon Module
--http://warframe.wikia.com/wiki/Template:Icon

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
	local link = ''
	if IconData["Items"][iconname] == nil then          
		return "<span style=\"color:red;\">Invalid</span>"  
	else
		link = IconData["Items"][iconname]["link"]
                iconname = IconData["Items"][iconname]["icon"]
		if (imagesize == nil or imagesize == '') then
			imagesize = 'x26'                                 
		end
		if (textexist == 'text' or textexist == 'Text') then                           
			return '[[File:'..iconname..'|'..imagesize..'px|link='..link..']] [['..link..'|'..frame.args[1]..']]'
		end
		return '[[File:'..iconname..'|'..imagesize..'px|link='..link..']]'
	end
end

function p.Pol( frame )
        local iconname = frame.args[1]
        local imagesize = frame.args.imgsize
        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=Polarity]]'
        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( 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
        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..'|'..frame.args[1]..']]'                         
           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 link = ''
        local textcolor = ''
        if IconData["Procs"][iconname] == nil then          
              return "<span style=\"color:red;\">Invalid</span>"  
        else
           link = IconData["Procs"][iconname]["link"] 
           if color == 'white' then
              iconname = IconData["Procs"][iconname]["icon"][2]   --white icon
           else
	      iconname = 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"][frame.args[1]]["color"]                 
              return '[[File:'..iconname..'|'..imagesize..'px|link='..link..']] [['..link..'|<span style=\"color:'..textcolor..';\">'..frame.args[1]..'</span>]]'                      
           end
	   return '[[File:'..iconname..'|'..imagesize..'px|link='..link..']]'
        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

local data_t = {
    item = "Items",
    polarity = "Polarities",
    faction = "Factions",
    syndicate = "Syndicates",
    prime = "Primes",
    resource = "Resources",
    proc = "Procs",
    focus = "Focus",
    way = "Ways",
    hud = "Heads-Up Display",
    flag = "Flags"
}


function p.gen_icon(icon_name, text_exist, img_size, link, icon_color, text_color)
    icon_data = IconData[data_t[icon_name]]
    if not icon_data[iconname] then          
		return '[['..iconname..']]'
	else
		return ''
	end
end
	    
    
    

function get_img(replacement, size, link, tooltip)
    tooltip = tooltip or ""
    return '[[File:'..replacement..'|'..tooltip..'|'..size..'px|link='..link..']]'
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
 
return p
Advertisement