Difference between revisions of "User:Histidine/Sandbox"

From Zero-K
Jump to navigation Jump to search
(Created page with "{| class="wikitable" style="text-align:center;" ! colspan="6" | http://manual.zero-k.info/unitpics/factorycloak.pngCloakbot Factory |- ! || Name || Role || Aliases || Cost...")
 
(Separate icon column version)
 
(2 intermediate revisions by the same user not shown)
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]] || 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]] || 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]] || 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]] || 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]] || 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]] || 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]] || 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]] || 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]] || Other ||  || 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]] || 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]] || 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
 
|-
 
|-
 
|}
 
|}
  
Lua code to generate:
+
Lua widget code to generate:
<syntaxhighlight lang="Lua">
+
<syntaxhighlight lang="Lua" line='line'>
 
local fileOutputDir = "temp/"
 
local fileOutputDir = "temp/"
  
Line 44: Line 44:
 
elseif desc:find("Artillery") then
 
elseif desc:find("Artillery") then
 
return "Artillery"
 
return "Artillery"
elseif desc:find("Anti-Air") then
+
elseif desc:find("Anti%-Air") then
 
return "Anti-Air"
 
return "Anti-Air"
 
elseif desc:find("Construction") then
 
elseif desc:find("Construction") then
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 81: Line 81:
 
local unitName = unitDef.name
 
local unitName = unitDef.name
 
imagePath = "http://manual.zero-k.info/unitpics/" .. unitName .. ".png"
 
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 .. "]] || "  
 
output = output .. "| " .. imagePath .. " || [[" .. unitDef.humanName .. "]] || "  
.. getDescString(unitDef) .. " ||  || " .. unitDef.metalCost .. " || "  
+
.. icon .. " || " .. getDescString(unitDef) .. " ||  || " .. unitDef.metalCost .. " || "  
 
.. unitDef.health .. "\n"
 
.. unitDef.health .. "\n"
 
output = output .. "|-\n"
 
output = output .. "|-\n"
Line 102: Line 103:
  
 
function widget:Initialize()
 
function widget:Initialize()
  --local tbl = WG.crude.allOptions
 
  --WG.SaveTable(tbl, "", "crudeOptions.lua", "options", nil)
 
 
printTable("factorycloak", fileOutputDir)
 
printTable("factorycloak", fileOutputDir)
 
end
 
end
 
</syntaxhighlight>
 
</syntaxhighlight>

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