Module:EffectLister/CPCapProjects
From Terra Invicta Official Wiki
Documentation for this module may be created at Module:EffectLister/CPCapProjects/doc
---
---Reads the Effect and Project data files and computes a table of Project to CP Cap bonuses
--region Dependencies
local EffectData = mw.loadData('Module:CSVReader/Effect')
local ProjectData = mw.loadData('Module:CSVReader/Project')
--endregion
--region Private constants
--endregion
--region Private member variables
local projectTable = {}
--endregion
--region Private methods
function getProjectTable()
for rowID, row in pairs(EffectData) do
if row['contexts/0'] == 'ControlPointMaintenance' or row['contexts/1'] == 'ControlPointMaintenance' then
for projectID, projectRow in pairs(ProjectData) do
if ((not projectRow['disable'] or projectRow['disable'] ~= 'true')
and projectRow['factionPrereq/0'] ~= 'AlienCouncil')
and (projectRow['effects/0'] == rowID
or projectRow['effects/1'] == rowID
or projectRow['effects/2'] == rowID
or projectRow['effects/3'] == rowID) then
if not projectTable[projectID] then
projectTable[projectID] = 0
end
projectTable[projectID] = projectTable[projectID] - (tonumber(row['value'] or 0) or 0)
end
end
end
end
return projectTable
end
--endregion
--region Public methods
--endregion
return getProjectTable()


