FANDOM


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 = ''
	local name = ''
	if IconData["Items"][iconname] == nil then          
		return "<span style=\"color:red;\">无效</span>"  
	else
        link = IconData["Items"][iconname]["link"]
        if IconData["Items"][iconname]["name"] ~= nil then 
            name = IconData["Items"][iconname]["name"]
        else
            name = link
        end
        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..'|'..name..']]'
		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;\">无效</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 "<span style=\"color:red;\">无效</span>"  
        else
           link = IconData["Syndicates"][iconname]["link"]
            if IconData["Syndicates"][iconname]["name"] ~= nil then 
                name = IconData["Syndicates"][iconname]["name"]
            else
                name = link
            end
           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..'|'..name..']]'                         
           end
	   return '[[File:'..iconname..'|'..imagesize..'px|link='..link..']]'
        end
end
 
function p.Prime( frame ) 
        local primename = string.gsub(" "..string.lower( frame.args[1] ), "%W%l", string.upper):sub(2) 
	local partname = frame.args[2]
        local imagesize = frame.args.imgsize
        local link = ''
	local lcpartname = ''
	lcpartname = string.lower(partname)
	for k,v in pairs(IconData["Parts"]) do
	   if (k == lcpartname) then
	      partname = v
	      break
	   end
	end
        if IconData["Primes"][primename] == nil then          
              return "尚未确认的物品"  
        else
           link = IconData["Primes"][primename]["link"]
	   name = IconData["Primes"][primename]["name"]
           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)                          
              return '[[File:'..iconname..'|'..imagesize..'px|link='..link..']]'..' '..'[['..link..'#Acquisition|'..name..''..partname..']]'                         
           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 = ''
    local partname = partname
    local lcpartname = ''
 
    if IconData["Primes"][primename] == nil then          
        return "尚未确认的物品"  
    else
           link = IconData["Primes"][primename]["link"]
           name = IconData["Primes"][primename]["name"]
           iconname = IconData["Primes"][primename]["icon"]
           if (imagesize == nil or imagesize == '') then
              imagesize = 'x32'                                 
           end
	    if partname ~= nil then 
    	    lcpartname = string.lower(partname)
		    for k,v in pairs(IconData["Parts"]) do
			   if (k == lcpartname) then
			      partname = v
			      break
			   end
			end
	        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|'..name..' '..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 = ''
        local name = ''
        if IconData["Resources"][iconname] == nil then          
              return ""  
        else
            link = IconData["Resources"][iconname]["link"]
            if IconData["Resources"][iconname]["name"] ~= nil then 
                name = IconData["Resources"][iconname]["name"]
            else
                name = link
            end
            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..'|'..name..']]'                         
           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 = ''
	local name = ''
        if IconData["Procs"][iconname] == nil then          
              return "<span style=\"color:red;\">无效</span>"  
        else
           link = IconData["Procs"][iconname]["link"]
	   name = IconData["Procs"][iconname]["name"] 
           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..';\">'..name..'</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
	local name = ''
    if IconData["Focus"][iconname] == nil then          
        return "<span style=\"color:red;\">无效</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 IconData["Focus"][frame.args[1]]["name"] ~= nil then 
			name = IconData["Focus"][frame.args[1]]["name"]
		else
			name = frame.args[1]
		end
    	if (textexist == 'text' or textexist == 'Text') then  
        	textcolor = IconData["Focus"][frame.args[1]]["color"]  
			return '[[File:'..iconname..'|'..imagesize..'px|sub|link=Focus]][[Focus|'..name..']]'
    	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.Flag( frame )
        local iconname = frame.args[1]
        local countryname = frame.args[2]
        local dest = frame.args[3]
        if IconData["Flags"][iconname] == nil then          
              return "<span style=\"color:red;\">无效</span>"  
        else
           iconname = IconData["Flags"][iconname]
           if countryname == nil then
              countryname = ''
           end
           if dest == nil then
              dest = ''
           end
	   return '[[File:'..iconname..'|'..countryname..'|16px|link='..dest..']]'
        end
end
 
return p
除非特別說明,社區內容使用CC-BY-SA 授權許可。