User:Histidine/Sandbox
Jump to navigation
Jump to search
Cloakbot Factory | ||||||
---|---|---|---|---|---|---|
Name | Role | Aliases | Cost | HP | ||
Conjurer | Construction | 120 | 450 | |||
Glaive | Raider | 65 | 200 | |||
Scythe | Raider | 250 | 820 | |||
Ronin | Skirmisher | 90 | 420 | |||
Reaver | Riot | 220 | 820 | |||
Knight | Assault | 350 | 2400 | |||
Sling | Artillery | 110 | 350 | |||
Phantom | Artillery | 750 | 560 | |||
Gremlin | Anti-Air | 150 | 550 | |||
Imp | Bomb | 120 | 50 | |||
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