Module:BuildingData
From Against the Storm Official Wiki
Documentation for this module may be created at Module:BuildingData/doc
------------------------------------------------------------------------------- -- Lua storage table for looking up wiki pages, names, and resources -- based on in-game names. All data is in English. -- -- The table contains some deconfliction, but only for spaces, apostrophes, and -- some singular/plural. -- Use in-game names for things, and help keep this table updated as the game -- is updated. -- -- Using the table requires a locally defined lookup function that performs -- a string.lower on the argument so that the lookup table can accept any case -- and still function properly. Otherwise, we would need the table to define -- both Berries = "Berries" and berries = "Berries" which would multiply our -- work. ------------------------------------------------------------------------------- -- for returning when REQUIRE'd by other Lua modules. local BuildingData = {} ------------------------------------------------------------------------------- -- Constants ------------------------------------------------------------------------------- local S_ALCH = "Alchemy" local S_BREW = "Brewing" local S_CLOT = "Cloth" local S_ENGI = "Engineering" local S_MEAT = "Meat production" local S_WARM = "Warmth" local S_WOOD = "Wood" local C_BRICK = "Bricks" local C_FABRI = "Fabric" local C_PARTS = "Parts" local C_PIPES = "Pipes" local C_PLANK = "Planks" ------------------------------------------------------------------------------- -- Main data table, with string keys and string values. -- Some of these are defined inline with string.lower to make the key easier -- to spell and read correctly. ------------------------------------------------------------------------------- -- a design decision of this table is to make the key the same as the page name. -- (the lookup methods will automatically make it lowercase.) -- that way, whenever .page is referenced, it can be used again to retrieve -- the rest of the data. local tableStrStrData = { --------------------------------------- -- Buildings -- iconfile: string: the filename.png of the icon used in the game, case-sensitive and must include extension. do not include "File:" prefix -- page: string: the name of the wiki page, case-sensitive -- spec1: constant: the first specialization listed in the in-game encyclopedia (use constants, above) -- spec2: constant: the second specialization listed in the in-game encyclopedia (use constants, above) -- cost1: constant: the name of the first listed resource cost in the in-game encyclopedia (use constants, above) -- cost2: constant: the name of the second listed resource cost in the in-game encyclopedia (use constants, above) -- cost3: constant: the name of the third listed resource cost in the in-game encyclopedia (use constants, above) -- workers: integer: the number of worker slots -- recipe1: string: the resource produced by the first recipe listed in the in-game encyclopedia -- grade1: integer: the number of stars for recipe1 (0, 1, 2, or 3) -- recipe2: string: if any, the resource produced by the second recipe listed in the in-game encyclopedia -- grade2: integer: the number of stars for recipe2 (0, 1, 2, or 3) -- recipe3: string: if any, the resource produced by the third recipe listed in the in-game encyclopedia -- grade3: integer: the number of stars for recipe3 (0, 1, 2, or 3) -- recipe4: string: if any, the resource produced by the fourth recipe listed in the in-game encyclopedia -- grade4: integer: the number of stars for recipe4 (0, 1, 2, or 3) -- description: string: the in-game description text. you may use wiki markup and templates -- like {{2star}} or {{Planks}} or [[Villagers]] to get icons and links --------------------------------------- -- Starting Buildings ["ancient hearth"] = {iconfile="Small Hearth icon.png", page="Ancient Hearth", spec1=S_WARM, workers=1, description="The heart of the colony is protected by the Holy Flame. {{Villagers}} gather here to rest, eat, and receive clothing. If the fire goes out, people will lose hope. Can't be moved. Size: 4x4."}, ["main warehouse"] = {iconfile="Main_Storage_icon.png", page="Main Warehouse"}, -- Camps ["foragers' camp"] = {iconfile="Forager's Camp icon", page="Foragers' Camp"}, ["harvesters' camp"] = {iconfile="Harvester Camp icon.png", page="Harvesters' Camp"}, ["herbalists' camp"] = {iconfile="Herbalist's_Camp_icon.png", page="Herbalists' Camp"}, ["stonecutters' camp"] = {iconfile="Stonecutter's Camp icon.png", page="Stonecutters' Camp"}, ["trappers' camp"] = {iconfile="Trapper's Camp icon.png", page="Trappers' Camp"}, ["woodcutters' camp"] = {iconfile="Woodcutters Camp icon", page="Woodcutters' Camp"}, -- Farms ["farm field"] = {iconfile="Farmfield_icon.png", page="Farm Field"}, ["greenhouse"] = {iconfile="Greenhouse_icon.png", page="Greenhouse"}, ["herb garden"] = {iconfile="HerbGarden_icon.png", page="Herb Garden"}, ["plantation"] = {iconfile="Plantation_icon.png", page="Plantation"}, ["small farm"] = {iconfile="SmallFarm_icon.png", page="Small Farm"}, -- Food production ["bakery"] = {iconfile="Bakery_icon.png", page="Bakery"}, ["cellar"] = {iconfile="Cellar_icon.png", page="Cellar"}, ["cookhouse"] = {iconfile="Cookhouse_icon.png", page="Cookhouse"}, ["field kitchen"] = {iconfile="Field_Kitchen_icon.png", page="Field Kitchen"}, ["grill"] = {iconfile="Grill_icon.png", page="Grill"}, ["ranch"] = {iconfile="Ranch_icon.png", page="Ranch"}, ["smokehouse"] = {iconfile="Smokehouse_icon.png", page="Smokehouse"}, -- Housing ["shelter"] = {iconfile="Shelter icon.png", page="Shelter"}, ["big shelter"] = {iconfile="Big Shelter icon.png", page="Big Shelter"}, ["human house"] = {iconfile="Human House icon.png", page="Human House"}, ["beaver house"] = {iconfile="Beaver House icon.png", page="Beaver House"}, ["lizard house"] = {iconfile="Lizard House icon.png", page="Lizard House"}, ["harpy house"] = {iconfile="Harpy House icon.png", page="Harpy House"}, -- Industry ["crude workstation"] = {iconfile="Crude_Workstation_icon.png", page="Crude Workstation"}, ["makeshift post"] = {iconfile="Makeshift_Post_icon.png", page="Makeshift Post"}, ["advanced rain collector"] = {iconfile="Advanced_Rain_Collector_icon.png", page="Advanced Rain Collector", spec1=S_ENGI, spec2=S_ALCH, cost1=C_PIPES, cost2=C_PARTS, cost3=C_PLANK, description="Can collect [[infused rainwater]] used for crafting and powering [[Rain Engines]] in production buildings. The type of collected rainwater depends on the [[season]]. Can't be moved. Size: 3x2."}, ["alchemist's hut"] = {iconfile="Alchemist_Hut_icon.png", page="Alchemist's Hut", spec1=S_ALCH, spec2=S_BREW, cost1=C_PLANK, cost2=C_BRICK, workers=2, recipe1="Crystalized Dew", grade1=2, recipe2="Cosmetics", grade2=2, recipe3="Wine", grade3=2, description="Can produce: {{rl|Crystalized Dew}} {{P2Star}}, {{rl|Cosmetics}} {{P2star}}, {{rl|Wine}} {{P2Star}}. Can use: {{rl|Clearance Water}}. Can't be moved. Size: 3x2."}, ["apothecary"] = {iconfile="Apothecary_icon.png", page="Apothecary", spec1=S_ALCH, cost1=C_PLANK, cost2=C_BRICK, workers=2, recipe1="Cosmetics", grade1=2, recipe2="Incense", grade2=2, recipe3="Biscuits", grade3=2, description="Can produce: {{rl|Cosmetics}} {{P2Star}}, {{rl|Incense}} {{P2Star}}, {{rl|Biscuits}} {{P2Star}}. Can use: {{rl|Clearance Water}}. Can't be moved. Size: 3x3."}, ["artisan"] = {iconfile="Artisan_icon.png", page="Artisan"}, ["brewery"] = {iconfile="Brewery_icon.png", page="Brewery"}, ["brickyard"] = {iconfile="Brickyard_icon.png", page="Brickyard"}, ["carpenter"] = {iconfile="Carpenter_icon.png", page="Carpenter"}, ["clothier"] = {iconfile="Clothier_icon.png", page="Clothier"}, ["cooperage"] = {iconfile="Cooperage_icon.png", page="Cooperage"}, ["druid's hut"] = {iconfile="Druid_icon.png", page="Druid's Hut"}, ["furnace"] = {iconfile="Furnace_icon.png", page="Furnace"}, ["kiln"] = {iconfile="Kiln_icon.png", page="Kiln"}, ["leatherworker"] = {iconfile="Leatherworks_icon.png", page="Leatherworker"}, ["lumber mill"] = {iconfile="Lumbermill_icon.png", page="Lumber Mill"}, ["mine"] = {iconfile="Mine_icon.png", page="Mine"}, ["press"] = {iconfile="Press_icon.png", page="Press"}, ["provisioner"] = {iconfile="Provisioner_icon.png", page="Provisioner"}, ["rain collector"] = {iconfile="Rain_Collector_icon.png", page="Rain Collector"}, ["rain mill"] = {iconfile="Rain_Mill_icon.png", page="Rain Mill"}, ["scribe"] = {iconfile="Scribe_icon.png", page="Scribe"}, ["smelter"] = {iconfile="Smelter_icon.png", page="Smelter"}, ["toolshop"] = {iconfile="Toolshop_icon.png", page="Toolshop"}, ["weaver"] = {iconfile="Weaver_icon.png", page="Weaver"}, -- City Buildings ["archaeologist's office"] = {iconfile="Archeologist_office_icon.png", page="Archaeologist's Office", cost1=C_PLANK, cost2=C_BRICK, cost3=C_FABRI, description="A building designed to help you study the past. Can be [[upgrade]]d to locate [[archaeological discoveries]] or improve [[exploration]] capabilities. Can be moved for: 5 {{rl|Wood}}. Size: 3x3."}, ["small hearth"] = {iconfile="Temporary_Hearth_icon.png", page="Small Hearth"}, ["warehouse"] = {iconfile="Storage_icon.png", page="Warehouse"}, ["trading post"] = {iconfile="Trading_Post_icon.png", page="Trading Post"}, ["blight post"] = {iconfile="Blight_Post_icon.png", page="Blight Post"}, ["hydrant"] = {iconfile="Hydrant_icon.png", page="Hydrant"}, ["forsaken altar"] = {iconfile="Altar_icon.png", page="Forsaken Altar"}, -- Service Buildings ["bath house"] = {iconfile="Bath_House_icon.png", page="Bath House"}, ["clan hall"] = {iconfile="Clan_Hall_icon.png", page="Clan Hall"}, ["explorers' lodge"] = {iconfile="Explorers_Lodge_icon.png", page="Explorers' Lodge"}, ["guild house"] = {iconfile="Guild_House_icon.png", page="Guild House"}, ["monastery"] = {iconfile="Monastery_icon.png", page="Monastery"}, ["tavern"] = {iconfile="Tavern_icon.png", page="Tavern"}, ["temple"] = {iconfile="Temple_icon.png", page="Temple"}, } ------------------------------------------------------------------------------- -- Main lookup functions -- Accepts the in-game name and returns the name of the page on the wiki -- associated with that in-game item, resource, building, etc. ------------------------------------------------------------------------------- -- returns the whole data table for the specified key -- need to run normalize function first function BuildingData.getData(strArg) -- normalize input local strArg = BuildingData.normalizeName(strArg) -- Get it from the big table below and return it. return tableStrStrData[strArg] end -- simpler version if all that's needed is the iconfile. -- error handling by the calling module is required. function BuildingData.getIconFilename(strArg) local data = getData(strArg) -- if this particular data block doesn't have a iconfile, this will return nil -- therefore, error handling will be necessary return data.iconfile or nil end -- simpler version if all that's needed is the page name. -- error handling by the calling module is required. function BuildingData.getPagename(strArg) local data = getData(strArg) -- if this particular data block doesn't have a page name, this will return nil -- therefore, error handling will be necessary return data.page or nil end -- simpler version if all that's needed is the description. -- error handling by the calling module is required. function BuildingData.getDescription(strArg) local data = getData(strArg) -- if this particular data block doesn't have a description, this will return nil -- therefore, error handling will be necessary return data.description or nil end ------------------------------------------------------------------------------- -- Helper functions ------------------------------------------------------------------------------- -- Normalize the argument to the standard in-game name, and the one that -- is used as the key in the big lookup table. -- -- This function will also make the argument lowercase to reduce the need -- to specify more possible alternatives to normalize. function BuildingData.normalizeName(strArg) strArg = string.lower(strArg) -- no other functions need this lookup table, so it's defined locally -- to this function local tableStrStrAlternatives = { --------------------------------------- -- Buildings --------------------------------------- -- Starting Buildings ["ancienthearth"] = "ancient hearth", ["ancienthearths"] = "ancient hearth", ["ancient hearths"] = "ancient hearth", ["mainwarehouse"] = "main warehouse", ["mainwarehouses"] = "main warehouse", ["main warehouses"] = "main warehouse", -- Camps ["forager"] = "foragers' camp", ["foragerscamp"] = "foragers' camp", ["forager'scamp"] = "foragers' camp", ["foragers'camp"] = "foragers' camp", ["forager camp"] = "foragers' camp", ["forager's camp"] = "foragers' camp", ["foragers"] = "foragers' camp", ["foragerscamps"] = "foragers' camp", ["forager'scamps"] = "foragers' camp", ["foragers'camps"] = "foragers' camp", ["forager camps"] = "foragers' camp", ["forager's camps"] = "foragers' camp", ["harvester"] = "harvesters' camp", ["harvesterscamp"] = "harvesters' camp", ["harvester'scamp"] = "harvesters' camp", ["harvesters'camp"] = "harvesters' camp", ["harvester camp"] = "harvesters' camp", ["harvester's camp"] = "harvesters' camp", ["harvesters"] = "harvesters' camp", ["harvesterscamps"] = "harvesters' camp", ["harvester'scamps"] = "harvesters' camp", ["harvesters'camps"] = "harvesters' camp", ["harvester camps"] = "harvesters' camp", ["harvester's camps"] = "harvesters' camp", ["herbalist"] = "herbalists' camp", ["herbalistscamp"] = "herbalists' camp", ["herbalist'scamp"] = "herbalists' camp", ["herbalists'camp"] = "herbalists' camp", ["herbalist camp"] = "herbalists' camp", ["herbalist's camp"] = "herbalists' camp", ["herbalists"] = "herbalists' camp", ["herbalistscamps"] = "herbalists' camp", ["herbalist'scamps"] = "herbalists' camp", ["herbalists'camps"] = "herbalists' camp", ["herbalist camps"] = "herbalists' camp", ["herbalist's camps"] = "herbalists' camp", ["stonecutter"] = "stonecutters' camp", ["stonecutterscamp"] = "stonecutters' camp", ["stonecutter'scamp"] = "stonecutters' camp", ["stonecutters'camp"] = "stonecutters' camp", ["stonecutter camp"] = "stonecutters' camp", ["stonecutter's camp"] = "stonecutters' camp", ["stonecutters"] = "stonecutters' camp", ["stonecutterscamps"] = "stonecutters' camp", ["stonecutter'scamps"] = "stonecutters' camp", ["stonecutters'camps"] = "stonecutters' camp", ["stonecutter camps"] = "stonecutters' camp", ["stonecutter's camps"] = "stonecutters' camp", ["trapper"] = "trappers' camp", ["trapperscamp"] = "trappers' camp", ["trapper'scamp"] = "trappers' camp", ["trappers'camp"] = "trappers' camp", ["trapper camp"] = "trappers' camp", ["trapper's camp"] = "trappers' camp", ["trappers"] = "trappers' camp", ["trapperscamps"] = "trappers' camp", ["trapper'scamps"] = "trappers' camp", ["trappers'camps"] = "trappers' camp", ["trapper camps"] = "trappers' camp", ["trapper's camps"] = "trappers' camp", ["woodcutter"] = "woodcutters' camp", ["woodcutterscamp"] = "woodcutters' camp", ["woodcutter'scamp"] = "woodcutters' camp", ["woodcutters'camp"] = "woodcutters' camp", ["woodcutter camp"] = "woodcutters' camp", ["woodcutter's camp"] = "woodcutters' camp", ["woodcutters"] = "woodcutters' camp", ["woodcutterscamps"] = "woodcutters' camp", ["woodcutter'scamps"] = "woodcutters' camp", ["woodcutters'camps"] = "woodcutters' camp", ["woodcutter camps"] = "woodcutters' camp", ["woodcutter's camps"] = "woodcutters' camp", -- Farms ["field"] = "farm field", ["fields"] = "farm field", ["farmfield"] = "farm field", ["farmfields"] = "farm field", ["farm fields"] = "farm field", ["greenhouses"] = "greenhouse", ["green house"] = "greenhouse", ["green houses"] = "greenhouse", ["herbgarden"] = "herb garden", ["herbgardens"] = "herb garden", ["herb gardens"] = "herb garden", ["plantations"] = "plantation", ["farm"] = "small farm", ["farms"] = "small farm", ["smallfarm"] = "small farm", ["smallfarms"] = "small farm", ["small farms"] = "small farm", -- Food Production ["baker"] = "bakery", ["bakers"] = "bakery", ["bakeries"] = "bakery", ["celler"] = "cellar", ["cellers"] = "cellar", ["cellars"] = "cellar", ["cookhouses"] = "cookhouse", ["cook house"] = "cookhouse", ["cook houses"] = "cookhouse", ["fieldkitchen"] = "field kitchen", ["fieldkitchens"] = "field kitchen", ["field kitchens"] = "field kitchen", ["grills"] = "grill", ["ranches"] = "ranch", ["smokehouses"] = "smokehouse", ["smoke house"] = "smokehouse", ["smoke housea"] = "smokehouse", -- Housing ["house"] = "shelter", ["houses"] = "shelter", ["bighouse"] = "big shelter", ["bighouses"] = "big shelter", ["bigshelter"] = "big shelter", ["bigshelters"] = "big shelter", ["humanhouse"] = "human house", ["humanhouses"] = "human house", ["human'shouse"] = "human house", ["humans'house"] = "human house", ["human houses"] = "human house", ["human's house"] = "human house", ["humans' house"] = "human house", ["human's houses"] = "human house", ["humans' houses"] = "human house", ["beaverhouse"] = "beaver house", ["beaverhouses"] = "beaver house", ["beaver'shouse"] = "beaver house", ["beavers'house"] = "beaver house", ["beaver'shouses"] = "beaver house", ["beavers'houses"] = "beaver house", ["beaver houses"] = "beaver house", ["beaver's houses"] = "beaver house", ["beavers' houses"] = "beaver house", ["lizardhouse"] = "lizard house", ["lizardhouses"] = "lizard house", ["lizard'shouse"] = "lizard house", ["lizards'house"] = "lizard house", ["lizard'shouses"] = "lizard house", ["lizards'houses"] = "lizard house", ["lizard houses"] = "lizard house", ["lizard's houses"] = "lizard house", ["lizards' houses"] = "lizard house", ["harpyhouse"] = "harpy house", ["harpyhouses"] = "harpy house", ["harpy'shouse"] = "harpy house", ["harpys'house"] = "harpy house", ["harpy'shouses"] = "harpy house", ["harpys'houses"] = "harpy house", ["harpy houses"] = "harpy house", ["harpy's houses"] = "harpy house", ["harpys' houses"] = "harpy house", ["harpieshouse"] = "harpy house", ["harpieshouses"] = "harpy house", ["harpies'house"] = "harpy house", ["harpies houses"] = "harpy house", ["harpies' houses"] = "harpy house", -- Industry ["crudeworkstation"] = "crude workstation", ["crudeworkstations"] = "crude workstation", ["crude workstations"] = "crude workstation", ["makeshiftpost"] = "makeshift post", ["makeshiftposts"] = "makeshift post", ["makeshift posts"] = "makeshift post", ["advancedraincollector"] = "advanced rain collector", ["advancedraincollectors"] = "advanced rain collector", ["advanced rain collectors"] = "advanced rain collector", ["alchemist"] = "alchemist's hut", ["alchemists"] = "alchemist's hut", ["alchemisthut"] = "alchemist's hut", ["alchemisthuts"] = "alchemist's hut", ["alchemistshut"] = "alchemist's hut", ["alchemistshuts"] = "alchemist's hut", ["alchemist'shut"] = "alchemist's hut", ["alchemist'shuts"] = "alchemist's hut", ["alchemists'hut"] = "alchemist's hut", ["alchemists'huts"] = "alchemist's hut", ["alchemist hut"] = "alchemist's hut", ["alchemist huts"] = "alchemist's hut", ["alchemists hut"] = "alchemist's hut", ["alchemists huts"] = "alchemist's hut", ["alchemists' hut"] = "alchemist's hut", ["alchemists' huts"] = "alchemist's hut", ["apothacary"] = "apothecary", ["apothecaries"] = "apothecary", ["artisans"] = "artisan", ["brewer"] = "brewery", ["brewers"] = "brewery", ["breweries"] = "brewery", ["brickyards"] = "brickyard", ["brick yard"] = "brickyard", ["brick yards"] = "brickyard", ["carpenters"] = "carpenter", ["clothiers"] = "clothier", ["cooper"] = "cooperage", ["coopers"] = "cooperage", ["cooperages"] = "cooperage", ["druid"] = "druid's hut", ["druids"] = "druid's hut", ["druidhut"] = "druid's hut", ["druidhuts"] = "druid's hut", ["druid'shut"] = "druid's hut", ["druid'shuts"] = "druid's hut", ["druids'hut"] = "druid's hut", ["druids'huts"] = "druid's hut", ["druid hut"] = "druid's hut", ["druid huts"] = "druid's hut", ["druids' hut"] = "druid's hut", ["druids' huts"] = "druid's hut", ["druid's huts"] = "druid's hut", ["furnaces"] = "furnace", ["kilns"] = "kiln", ["leatherworkers"] = "leatherworker", ["leather worker"] = "leatherworker", ["leather workers"] = "leatherworker", ["lumbermill"] = "lumber mill", ["lumbermills"] = "lumber mill", ["lumber mills"] = "lumber mill", ["mines"] = "mine", ["presses"] = "press", ["provisioners"] = "provisioner", ["raincollector"] = "rain collector", ["raincollectors"] = "rain collector", ["rain collectors"] = "rain collector", ["rainmill"] = "rain mill", ["rainmills"] = "rain mill", ["rain mills"] = "rain mill", ["scribes"] = "scribe", ["smelters"] = "smelter", ["smeltery"] = "smelter", ["smelteries"] = "smelter", ["tool shop"] = "toolshop", ["weavers"] = "weaver", -- City buildings ["archaeologyoffice"] = "archaeologist's office", ["archeologyoffice"] = "archaeologist's office", ["archaeologistoffice"] = "archaeologist's office", ["archeologistoffice"] = "archaeologist's office", ["archaeologistsoffice"] = "archaeologist's office", ["archeologistsoffice"] = "archaeologist's office", ["archaeologist'soffice"] = "archaeologist's office", ["archeologist'soffice"] = "archaeologist's office", ["archeologists'office"] = "archaeologist's office", ["archaeology office"] = "archaeologist's office", ["archeology office"] = "archaeologist's office", ["archaeologist office"] = "archaeologist's office", ["archeologist office"] = "archaeologist's office", ["archaeologists office"] = "archaeologist's office", ["archeologists office"] = "archaeologist's office", ["archeologist's office"] = "archaeologist's office", ["archaeologists' office"] = "archaeologist's office", ["archeologists' office"] = "archaeologist's office", ["smallhearth"] = "small hearth", ["smallhearths"] = "small hearth", ["small hearths"] = "small hearth", ["warehouses"] = "warehouse", ["ware house"] = "warehouse", ["ware houses"] = "warehouse", ["traderpost"] = "trading post", ["traderposts"] = "trading post", ["trader posts"] = "trading post", ["tradingpost"] = "trading post", ["tradingposts"] = "trading post", ["trading posts"] = "trading post", ["blightpost"] = "blight post", ["blightposts"] = "blight post", ["blight posts"] = "blight post", ["hydrants"] = "hydrant", ["forsakenaltar"] = "forsaken altar", ["forsakenalter"] = "forsaken altar", ["foresakenaltar"] = "forsaken altar", ["foresakenalter"] = "forsaken altar", ["forsakenaltars"] = "forsaken altar", ["forsakenalters"] = "forsaken altar", ["foresakenaltars"] = "forsaken altar", ["foresakenalters"] = "forsaken altar", ["forsaken altars"] = "forsaken altar", ["forsaken alters"] = "forsaken altar", ["foresaken altars"] = "forsaken altar", ["foresaken alters"] = "forsaken altar", -- Service Buildings ["bath"] = "bath house", ["baths"] = "bath house", ["bathhouse"] = "bath house", ["bathhouses"] = "bath house", ["bath houses"] = "bath house", ["clan"] = "clan hall", ["clans"] = "clan hall", ["clanhall"] = "clan hall", ["clanhalls"] = "clan hall", ["clan halls"] = "clan hall", ["explorer"] = "explorers' lodge", ["explorers"] = "explorers' lodge", ["explorerlodge"] = "explorers' lodge", ["explorerslodge"] = "explorers' lodge", ["explorerlodges"] = "explorers' lodge", ["explorerslodges"] = "explorers' lodge", ["explorers'lodges"] = "explorers' lodge", ["explorer'slodges"] = "explorers' lodge", ["explorer lodge"] = "explorers' lodge", ["explorers lodge"] = "explorers' lodge", ["explorer lodges"] = "explorers' lodge", ["explorers lodges"] = "explorers' lodge", ["explorer's lodges"] = "explorers' lodge", ["guild"] = "guild house", ["guilds"] = "guild house", ["guildhouse"] = "guild house", ["guildhouses"] = "guild house", ["guild houses"] = "guild house", ["monestary"] = "monastery", ["monastary"] = "monastery", ["monestery"] = "monastery", ["monestaries"] = "monastery", ["monastaries"] = "monastery", ["monesteries"] = "monastery", ["taverns"] = "tavern", ["temples"] = "temple" } -- the end of the huge tableStrStrAlternatives -- if nothing is found, the result of the lookup will be nil, so -- just return whatever was passed in as the argument (lowercase) -- we can assume that the input argument is fine or does not exist return tableStrStrAlternatives[strArg] or strArg end ------------------------------------------------------------------------------- -- Return when required into another Module. ------------------------------------------------------------------------------- return BuildingData