Module:ServicesData: Difference between revisions
From Against the Storm Official Wiki
Overhauling into a small utility method for Services information, since there isn't a special data model for services anymore. Tag: Replaced |
adding method to get the service good ID for a service |
||
| Line 1: | Line 1: | ||
---@module ServicesData | ---@module ServicesData | ||
local ServicesData = {} | local ServicesData = {} | ||
--region Dependencies | |||
local InstitutionsData = require("Module:InstitutionsData") | |||
--endregion | |||
| Line 23: | Line 29: | ||
--Yep, IDs are just names right now. | --Yep, IDs are just names right now. | ||
return name | return name | ||
end | |||
function ServicesData.getServiceGoodID(name) | |||
local recipeList = InstitutionsData:getIDsAndRecipesWhereProductID(ServicesData.getID(name)) | |||
if #recipeList > 0 then | |||
--Just need one. | |||
local recipe = recipeList[1] | |||
--Just the first slot, first option. | |||
return InstitutionsData:getRecipeIngredientOptionIDAt(recipe, 1, 1) | |||
else | |||
return nil | |||
end | |||
end | end | ||
Latest revision as of 15:35, 11 November 2024
Documentation for this module may be created at Module:ServicesData/doc
---@module ServicesData
local ServicesData = {}
--region Dependencies
local InstitutionsData = require("Module:InstitutionsData")
--endregion
--region Public methods
---@public
---Gets the icon filename associated with the specified service.
---
---@param name string service
---@return string icon filename
function ServicesData.getIcon(name)
return "Icon_Need_" .. name .. ".png"
end
---@public
---Gets the ID for the specified service
---
---@param name string service
---@return string ID
function ServicesData.getID(name)
--Yep, IDs are just names right now.
return name
end
function ServicesData.getServiceGoodID(name)
local recipeList = InstitutionsData:getIDsAndRecipesWhereProductID(ServicesData.getID(name))
if #recipeList > 0 then
--Just need one.
local recipe = recipeList[1]
--Just the first slot, first option.
return InstitutionsData:getRecipeIngredientOptionIDAt(recipe, 1, 1)
else
return nil
end
end
--endregion
return ServicesData


