Difference between revisions of "User:Histidine/Sandbox"

From Zero-K
Jump to navigation Jump to search
(Separate icon column version)
 
Line 1: Line 1:
 
{| class="wikitable" style="text-align:center;"
 
{| class="wikitable" style="text-align:center;"
! colspan="6" | http://manual.zero-k.info/unitpics/factorycloak.png[[Cloakbot Factory]]
+
! colspan="7" | http://manual.zero-k.info/unitpics/factorycloak.png[[Cloakbot Factory]]
 
|-
 
|-
! || Name || Role || Aliases || Cost || HP
+
! || Name || colspan="2" | Role || Aliases || Cost || HP
 
|-
 
|-
| http://manual.zero-k.info/unitpics/cloakcon.png || [[Conjurer]] || <img src="http://manual.zero-k.info/icons/builder.png" width="32px" />Construction ||  || 120 || 450
+
| http://manual.zero-k.info/unitpics/cloakcon.png || [[Conjurer]] || <img src="http://manual.zero-k.info/icons/builder.png" width="32px" /> || Construction ||  || 120 || 450
 
|-
 
|-
| http://manual.zero-k.info/unitpics/cloakraid.png || [[Glaive]] || <img src="http://manual.zero-k.info/icons/kbotraider.png" width="32px" />Raider ||  || 65 || 200
+
| http://manual.zero-k.info/unitpics/cloakraid.png || [[Glaive]] || <img src="http://manual.zero-k.info/icons/kbotraider.png" width="32px" /> || Raider ||  || 65 || 200
 
|-
 
|-
| http://manual.zero-k.info/unitpics/cloakheavyraid.png || [[Scythe]] || <img src="http://manual.zero-k.info/icons/stealth.png" width="32px" />Raider ||  || 250 || 820
+
| http://manual.zero-k.info/unitpics/cloakheavyraid.png || [[Scythe]] || <img src="http://manual.zero-k.info/icons/stealth.png" width="32px" /> || Raider ||  || 250 || 820
 
|-
 
|-
| http://manual.zero-k.info/unitpics/cloakskirm.png || [[Ronin]] || <img src="http://manual.zero-k.info/icons/kbotskirm.png" width="32px" />Skirmisher ||  || 90 || 420
+
| http://manual.zero-k.info/unitpics/cloakskirm.png || [[Ronin]] || <img src="http://manual.zero-k.info/icons/kbotskirm.png" width="32px" /> || Skirmisher ||  || 90 || 420
 
|-
 
|-
| http://manual.zero-k.info/unitpics/cloakriot.png || [[Reaver]] || <img src="http://manual.zero-k.info/icons/kbotriot.png" width="32px" />Riot ||  || 220 || 820
+
| http://manual.zero-k.info/unitpics/cloakriot.png || [[Reaver]] || <img src="http://manual.zero-k.info/icons/kbotriot.png" width="32px" /> || Riot ||  || 220 || 820
 
|-
 
|-
| http://manual.zero-k.info/unitpics/cloakassault.png || [[Knight]] || <img src="http://manual.zero-k.info/icons/kbotassault.png" width="32px" />Assault ||  || 350 || 2400
+
| http://manual.zero-k.info/unitpics/cloakassault.png || [[Knight]] || <img src="http://manual.zero-k.info/icons/kbotassault.png" width="32px" /> || Assault ||  || 350 || 2400
 
|-
 
|-
| http://manual.zero-k.info/unitpics/cloakarty.png || [[Sling]] || <img src="http://manual.zero-k.info/icons/kbotarty.png" width="32px" />Artillery ||  || 110 || 350
+
| http://manual.zero-k.info/unitpics/cloakarty.png || [[Sling]] || <img src="http://manual.zero-k.info/icons/kbotarty.png" width="32px" /> || Artillery ||  || 110 || 350
 
|-
 
|-
| http://manual.zero-k.info/unitpics/cloaksnipe.png || [[Phantom]] || <img src="http://manual.zero-k.info/icons/sniper.png" width="32px" />Artillery ||  || 750 || 560
+
| http://manual.zero-k.info/unitpics/cloaksnipe.png || [[Phantom]] || <img src="http://manual.zero-k.info/icons/sniper.png" width="32px" /> || Artillery ||  || 750 || 560
 
|-
 
|-
| http://manual.zero-k.info/unitpics/cloakaa.png || [[Gremlin]] || <img src="http://manual.zero-k.info/icons/kbotaa.png" width="32px" />Anti-Air ||  || 150 || 550
+
| http://manual.zero-k.info/unitpics/cloakaa.png || [[Gremlin]] || <img src="http://manual.zero-k.info/icons/kbotaa.png" width="32px" /> || Anti-Air ||  || 150 || 550
 
|-
 
|-
| http://manual.zero-k.info/unitpics/cloakbomb.png || [[Imp]] || <img src="http://manual.zero-k.info/icons/spiderbomb.png" width="32px" />Bomb ||  || 120 || 50
+
| http://manual.zero-k.info/unitpics/cloakbomb.png || [[Imp]] || <img src="http://manual.zero-k.info/icons/spiderbomb.png" width="32px" /> || Bomb ||  || 120 || 50
 
|-
 
|-
| http://manual.zero-k.info/unitpics/cloakjammer.png || [[Iris]] || <img src="http://manual.zero-k.info/icons/kbotjammer.png" width="32px" />Other ||  || 600 || 600
+
| http://manual.zero-k.info/unitpics/cloakjammer.png || [[Iris]] || <img src="http://manual.zero-k.info/icons/kbotjammer.png" width="32px" /> || Other ||  || 600 || 600
 
|-
 
|-
 
|}
 
|}
Line 72: Line 72:
 
local output = '{| class="wikitable" style="text-align:center;"\n'
 
local output = '{| class="wikitable" style="text-align:center;"\n'
 
local imagePath = "http://manual.zero-k.info/unitpics/" .. factoryDefName .. ".png"
 
local imagePath = "http://manual.zero-k.info/unitpics/" .. factoryDefName .. ".png"
output = output .. '! colspan="6" | ' .. imagePath .. "[[" .. factoryDef.humanName .. "]]\n"
+
output = output .. '! colspan="7" | ' .. imagePath .. "[[" .. factoryDef.humanName .. "]]\n"
 
output = output .. "|-\n"
 
output = output .. "|-\n"
output = output .. "! || Name || Role || Aliases || Cost || HP\n"
+
output = output .. '! || Name || colspan="2" | Role || Aliases || Cost || HP\n'
 
output = output .. "|-\n"
 
output = output .. "|-\n"
 
 
Line 83: Line 83:
 
local icon = '<img src="http://manual.zero-k.info/icons/' .. unitDef.iconType .. '.png" width="32px" />'
 
local icon = '<img src="http://manual.zero-k.info/icons/' .. unitDef.iconType .. '.png" width="32px" />'
 
output = output .. "| " .. imagePath .. " || [[" .. unitDef.humanName .. "]] || "  
 
output = output .. "| " .. imagePath .. " || [[" .. unitDef.humanName .. "]] || "  
.. icon .. getDescString(unitDef) .. " ||  || " .. unitDef.metalCost .. " || "  
+
.. icon .. " || " .. getDescString(unitDef) .. " ||  || " .. unitDef.metalCost .. " || "  
 
.. unitDef.health .. "\n"
 
.. unitDef.health .. "\n"
 
output = output .. "|-\n"
 
output = output .. "|-\n"

Latest revision as of 03:22, 9 April 2019

factorycloak.pngCloakbot Factory
Name Role Aliases Cost HP
cloakcon.png Conjurer Construction 120 450
cloakraid.png Glaive Raider 65 200
cloakheavyraid.png Scythe Raider 250 820
cloakskirm.png Ronin Skirmisher 90 420
cloakriot.png Reaver Riot 220 820
cloakassault.png Knight Assault 350 2400
cloakarty.png Sling Artillery 110 350
cloaksnipe.png Phantom Artillery 750 560
cloakaa.png Gremlin Anti-Air 150 550
cloakbomb.png Imp Bomb 120 50
cloakjammer.png Iris Other 600 600

Lua widget code to generate:

local fileOutputDir = "temp/"

local function getDescString(unitDef)
	local desc = Spring.Utilities.GetDescription(unitDef)
	if desc:find("Raider") then
		return "Raider"
	elseif desc:find("Riot") then
		return "Riot"
	elseif desc:find("Skirmisher") then
		return "Skirmisher"
	elseif desc:find("Assault") then
		return "Assault"
	elseif desc:find("Artillery") then
		return "Artillery"
	elseif desc:find("Anti%-Air") then
		return "Anti-Air"
	elseif desc:find("Construction") then
		return "Construction"
	elseif desc:find("Scout") then
		return "Scout"
	elseif desc:find("Support") then
		return "Support"
	elseif desc:find("Anti-Heavy") then
		return "Anti-Heavy"
	elseif desc:find("Fighter") then
		return "Fighter"
	elseif desc:find("Bomber") then
		return "Bomber"
	elseif desc:find("Transport") then
		return "Transport"
	elseif desc:find("Bomb") then
		return "Bomb"
	else
		return "Other"
	end
end

local function generateTable(factoryDefName)
	local factoryDef = UnitDefNames[factoryDefName]

	local output = '{| class="wikitable" style="text-align:center;"\n'
	local imagePath = "http://manual.zero-k.info/unitpics/" .. factoryDefName .. ".png"
	output = output .. '! colspan="7" | ' .. imagePath .. "[[" .. factoryDef.humanName .. "]]\n"
	output = output .. "|-\n"
	output = output .. '! || Name || colspan="2" | Role || Aliases || Cost || HP\n'
	output = output .. "|-\n"
	
	for index, unitDefID in ipairs(factoryDef.buildOptions) do
		local unitDef = UnitDefs[unitDefID]
		local unitName = unitDef.name
		imagePath = "http://manual.zero-k.info/unitpics/" .. unitName .. ".png"
		local icon = '<img src="http://manual.zero-k.info/icons/' .. unitDef.iconType .. '.png" width="32px" />'
		output = output .. "| " .. imagePath .. " || [[" .. unitDef.humanName .. "]] || " 
			.. icon .. " || " .. getDescString(unitDef) .. " ||  || " .. unitDef.metalCost .. " || " 
			.. unitDef.health .. "\n"
		output = output .. "|-\n"
	end
	
	output = output .. "|}"
	
	return output
end

local function printTable(factoryDefName, outputDir)
	local str = generateTable(factoryDefName)
	local file = io.open (outputDir .. "/" .. factoryDefName .. ".txt", "w")
	if (file== nil) then Spring.Echo ("could not open file for writing!") return end
	file:write(str)
	file:flush()
	file:close()
end

function widget:Initialize()
	printTable("factorycloak", fileOutputDir)
end