<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://wiki.steamandsteel.net/index.php?action=history&amp;feed=atom&amp;title=Module%3ARolling_Stock</id>
	<title>Module:Rolling Stock - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.steamandsteel.net/index.php?action=history&amp;feed=atom&amp;title=Module%3ARolling_Stock"/>
	<link rel="alternate" type="text/html" href="https://wiki.steamandsteel.net/index.php?title=Module:Rolling_Stock&amp;action=history"/>
	<updated>2026-07-26T18:39:17Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.steamandsteel.net/index.php?title=Module:Rolling_Stock&amp;diff=461&amp;oldid=prev</id>
		<title>imported&gt;Snowpix7911 at 16:30, 1 July 2025</title>
		<link rel="alternate" type="text/html" href="https://wiki.steamandsteel.net/index.php?title=Module:Rolling_Stock&amp;diff=461&amp;oldid=prev"/>
		<updated>2025-07-01T16:30:48Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local module = {}&lt;br /&gt;
&lt;br /&gt;
-- PLEASE add trailing commas to every line in a table - it makes it easier to edit in the future!&lt;br /&gt;
-- do not add ambiguous information or guess-work, without proper reasoning - test and confirm in-game to your best ability!&lt;br /&gt;
&lt;br /&gt;
-- leave notes in the form of comments if necessary.&lt;br /&gt;
&lt;br /&gt;
local page_title = mw.title.getCurrentTitle()&lt;br /&gt;
-- mw is a mediawiki global (i think)&lt;br /&gt;
local page_name = page_title.fullText&lt;br /&gt;
&lt;br /&gt;
-- added: MAPLE RIDGE&lt;br /&gt;
-- WEIGHT IS IN TONS&lt;br /&gt;
&lt;br /&gt;
module.rolling_stock = {&lt;br /&gt;
	[&amp;quot;14&amp;#039; Stake Wagon&amp;quot;] = {&lt;br /&gt;
		page = &amp;quot;14&amp;#039; Stake Wagon&amp;quot;,&lt;br /&gt;
		type = &amp;quot;cargo&amp;quot;,&lt;br /&gt;
		image = &amp;quot;14StakeWagonDefault.png&amp;quot;,&lt;br /&gt;
		buy_price = 555,&lt;br /&gt;
		&lt;br /&gt;
		weight = 4.3,&lt;br /&gt;
		&lt;br /&gt;
		cargo = {&lt;br /&gt;
			[&amp;quot;Logs&amp;quot;] = 4.7,&lt;br /&gt;
			[&amp;quot;Rails&amp;quot;] = 3.1,&lt;br /&gt;
			[&amp;quot;Pipes&amp;quot;] = 4.7,&lt;br /&gt;
			[&amp;quot;Iron Ingots&amp;quot;] = 2,&lt;br /&gt;
			[&amp;quot;Copper Ingots&amp;quot;] = 2,&lt;br /&gt;
			[&amp;quot;Aluminium Ingots&amp;quot;] = 4,&lt;br /&gt;
			[&amp;quot;Beams&amp;quot;] = 2.3,&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	[&amp;quot;8 Ton Ore Hopper&amp;quot;] = {&lt;br /&gt;
		page = &amp;quot;8 Ton Ore Hopper&amp;quot;,&lt;br /&gt;
		type = &amp;quot;cargo&amp;quot;,&lt;br /&gt;
		image = &amp;quot;8TonOreHopper.png&amp;quot;,&lt;br /&gt;
		buy_price = 684,&lt;br /&gt;
		&lt;br /&gt;
		weight = 4.8,&lt;br /&gt;
		paintable = true,&lt;br /&gt;
		&lt;br /&gt;
		cargo = {&lt;br /&gt;
			[&amp;quot;Copper Ore&amp;quot;] = 4.4,&lt;br /&gt;
			[&amp;quot;Bauxite Ore&amp;quot;] = 4.4,&lt;br /&gt;
			[&amp;quot;Gold Ore&amp;quot;] = 4.4,&lt;br /&gt;
			[&amp;quot;Iron Ore&amp;quot;] = 4.4,&lt;br /&gt;
			[&amp;quot;Wood Pulp&amp;quot;] = 4.4,&lt;br /&gt;
			[&amp;quot;Coal&amp;quot;] = 4.4,&lt;br /&gt;
			[&amp;quot;Clay&amp;quot;] = 4.4,&lt;br /&gt;
			[&amp;quot;Sand&amp;quot;] = 4.4,&lt;br /&gt;
			[&amp;quot;Gravel&amp;quot;] = 4.4,&lt;br /&gt;
			[&amp;quot;Grain&amp;quot;] = 15,&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	[&amp;quot;17&amp;#039; Stake Wagon&amp;quot;] = {&lt;br /&gt;
		page = &amp;quot;Stake_Wagons&amp;quot;,&lt;br /&gt;
		type = &amp;quot;cargo&amp;quot;,&lt;br /&gt;
		image = &amp;quot;Screenshot 2023-07-20 030322.png&amp;quot;,&lt;br /&gt;
		buy_price = 705,&lt;br /&gt;
		&lt;br /&gt;
		weight = 6.3,&lt;br /&gt;
		&lt;br /&gt;
		cargo = {&lt;br /&gt;
			[&amp;quot;Logs&amp;quot;] = 6,&lt;br /&gt;
			[&amp;quot;Rails&amp;quot;] = 4,&lt;br /&gt;
			[&amp;quot;Pipes&amp;quot;] = 6,&lt;br /&gt;
			[&amp;quot;Iron Ingots&amp;quot;] = 2,&lt;br /&gt;
			[&amp;quot;Copper Ingots&amp;quot;] = 2,&lt;br /&gt;
			[&amp;quot;Aluminium Ingots&amp;quot;] = 4,&lt;br /&gt;
			[&amp;quot;Beams&amp;quot;] = 3,&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	[&amp;quot;20&amp;#039; Flat Wagon&amp;quot;] = {&lt;br /&gt;
		page = &amp;quot;Flat_Wagon&amp;quot;,&lt;br /&gt;
		type = &amp;quot;cargo&amp;quot;,&lt;br /&gt;
		image = &amp;quot;Screenshot 2023-07-20 030655.png&amp;quot;,&lt;br /&gt;
		buy_price = 821,&lt;br /&gt;
		&lt;br /&gt;
		weight = 4.8,&lt;br /&gt;
		&lt;br /&gt;
		cargo = {&lt;br /&gt;
			[&amp;quot;Iron Ingots&amp;quot;] = 2,&lt;br /&gt;
			[&amp;quot;Copper Ingots&amp;quot;] = 2,&lt;br /&gt;
			[&amp;quot;Aluminium Ingots&amp;quot;] = 4,&lt;br /&gt;
			[&amp;quot;Cut Stone&amp;quot;] = 5,&lt;br /&gt;
			[&amp;quot;Food&amp;quot;] = 12,&lt;br /&gt;
			[&amp;quot;Tools&amp;quot;] = 5,&lt;br /&gt;
			[&amp;quot;Grain&amp;quot;] = 6,&lt;br /&gt;
			[&amp;quot;Lumber&amp;quot;] = 4,&lt;br /&gt;
			[&amp;quot;Leather&amp;quot;] = 12,&lt;br /&gt;
			[&amp;quot;Bricks&amp;quot;] = 4,&lt;br /&gt;
			[&amp;quot;Paper&amp;quot;] = 3,&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	[&amp;quot;12 Ton Van&amp;quot;] = {&lt;br /&gt;
		page = &amp;quot;Van&amp;quot;,&lt;br /&gt;
		type = &amp;quot;cargo&amp;quot;,&lt;br /&gt;
		image = &amp;quot;Screenshot 2023-07-20 030829.png&amp;quot;,&lt;br /&gt;
		buy_price = 837,&lt;br /&gt;
		&lt;br /&gt;
		weight = 5,&lt;br /&gt;
		&lt;br /&gt;
		cargo = {&lt;br /&gt;
			[&amp;quot;Copper Ingots&amp;quot;] = 4,&lt;br /&gt;
			[&amp;quot;Leather&amp;quot;] = 20,&lt;br /&gt;
			[&amp;quot;Uncut Gems&amp;quot;] = 20,&lt;br /&gt;
			[&amp;quot;Jewelry&amp;quot;] = 20,&lt;br /&gt;
			[&amp;quot;Food&amp;quot;] = 20,&lt;br /&gt;
			[&amp;quot;Fish&amp;quot;] = 20,&lt;br /&gt;
			[&amp;quot;Tools&amp;quot;] = 20,&lt;br /&gt;
			[&amp;quot;Textiles&amp;quot;] = 20,&lt;br /&gt;
			[&amp;quot;Grain&amp;quot;] = 24,&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	[&amp;quot;10 Ton Ballast Wagon&amp;quot;] = {&lt;br /&gt;
		page = &amp;quot;Ballast Wagon&amp;quot;,&lt;br /&gt;
		type = &amp;quot;cargo&amp;quot;,&lt;br /&gt;
		image = &amp;quot;Screenshot 2023-07-20 031422.png&amp;quot;,&lt;br /&gt;
		buy_price = 848,&lt;br /&gt;
		&lt;br /&gt;
		weight = 5,&lt;br /&gt;
		&lt;br /&gt;
		cargo = {&lt;br /&gt;
			[&amp;quot;Iron Ore&amp;quot;] = 5,&lt;br /&gt;
			[&amp;quot;Bauxite Ore&amp;quot;] = 5,&lt;br /&gt;
			[&amp;quot;Copper Ore&amp;quot;] = 5,&lt;br /&gt;
			[&amp;quot;Gold Ore&amp;quot;] = 5,&lt;br /&gt;
			[&amp;quot;Coal&amp;quot;] = 5,&lt;br /&gt;
			[&amp;quot;Gravel&amp;quot;] = 5,&lt;br /&gt;
			[&amp;quot;Sand&amp;quot;] = 5,&lt;br /&gt;
			[&amp;quot;Clay&amp;quot;] = 5,&lt;br /&gt;
			[&amp;quot;Wood Pulp&amp;quot;] = 5,&lt;br /&gt;
			&lt;br /&gt;
			[&amp;quot;Grain&amp;quot;] = 18,&lt;br /&gt;
			[&amp;quot;Rum&amp;quot;] = 20,&lt;br /&gt;
			[&amp;quot;Cordwood&amp;quot;] = 6,&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	[&amp;quot;20&amp;#039; Heavy Stake Wagon&amp;quot;] = {&lt;br /&gt;
		page = &amp;quot;Heavy_Well_Wagon&amp;quot;,&lt;br /&gt;
		type = &amp;quot;cargo&amp;quot;,&lt;br /&gt;
		image = &amp;quot;Heavywellwagon.webp&amp;quot;,&lt;br /&gt;
		buy_price = 1176,&lt;br /&gt;
		&lt;br /&gt;
		weight = 13.8,&lt;br /&gt;
		&lt;br /&gt;
		cargo = {&lt;br /&gt;
			[&amp;quot;Logs&amp;quot;] = 9.7,&lt;br /&gt;
			[&amp;quot;Rails&amp;quot;] = 8,&lt;br /&gt;
			[&amp;quot;Pipes&amp;quot;] = 8,&lt;br /&gt;
			[&amp;quot;Iron Ingots&amp;quot;] = 4.8,&lt;br /&gt;
			[&amp;quot;Copper Ingots&amp;quot;] = 5.4,&lt;br /&gt;
			[&amp;quot;Machinery&amp;quot;] = 1,&lt;br /&gt;
			[&amp;quot;Beams&amp;quot;] = 6,&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	[&amp;quot;10 Ton Tank Wagon&amp;quot;] = {&lt;br /&gt;
		page = &amp;quot;10_Ton_Tank_Wagon&amp;quot;,&lt;br /&gt;
		type = &amp;quot;cargo&amp;quot;,&lt;br /&gt;
		image = &amp;quot;10TTankThumb.png&amp;quot;,&lt;br /&gt;
		buy_price = 1248,&lt;br /&gt;
		&lt;br /&gt;
		weight = 6,&lt;br /&gt;
		&lt;br /&gt;
		cargo = {&lt;br /&gt;
			[&amp;quot;Grease&amp;quot;] = 6,&lt;br /&gt;
			[&amp;quot;Chemicals&amp;quot;] = 6,&lt;br /&gt;
			[&amp;quot;Crude Oil&amp;quot;] = 6,&lt;br /&gt;
			[&amp;quot;Water&amp;quot;] = 6,&lt;br /&gt;
			[&amp;quot;Kerosene&amp;quot;] = 28,&lt;br /&gt;
			[&amp;quot;Rum&amp;quot;] = 28,&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	[&amp;quot;25&amp;#039; Stake Wagon&amp;quot;] = {&lt;br /&gt;
		page = &amp;quot;Stake_Wagons&amp;quot;,&lt;br /&gt;
		type = &amp;quot;cargo&amp;quot;,&lt;br /&gt;
		image = &amp;quot;Screenshot 2023-07-20 030507.png&amp;quot;,&lt;br /&gt;
		buy_price = 1485,&lt;br /&gt;
		&lt;br /&gt;
		weight = 10,&lt;br /&gt;
		&lt;br /&gt;
		cargo = {&lt;br /&gt;
			[&amp;quot;Logs&amp;quot;] = 10.4,&lt;br /&gt;
			[&amp;quot;Rails&amp;quot;] = 8,&lt;br /&gt;
			[&amp;quot;Pipes&amp;quot;] = 12,&lt;br /&gt;
			[&amp;quot;Iron Ingots&amp;quot;] = 4,&lt;br /&gt;
			[&amp;quot;Copper Ingots&amp;quot;] = 4,&lt;br /&gt;
			[&amp;quot;Aluminium Ingots&amp;quot;] = 8,&lt;br /&gt;
			[&amp;quot;Beams&amp;quot;] = 5.2,&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	[&amp;quot;16t Hopper Wagon&amp;quot;] = {&lt;br /&gt;
		page = &amp;quot;16t_Hopper_Wagon&amp;quot;,&lt;br /&gt;
		type = &amp;quot;cargo&amp;quot;,&lt;br /&gt;
		image = &amp;quot;16tHopperThumb.jpg&amp;quot;,&lt;br /&gt;
		buy_price = 1646,&lt;br /&gt;
		&lt;br /&gt;
		weight = 8.3,&lt;br /&gt;
		&lt;br /&gt;
		cargo = {&lt;br /&gt;
			[&amp;quot;Iron Ore&amp;quot;] = 11.1,&lt;br /&gt;
			[&amp;quot;Bauxite Ore&amp;quot;] = 11.1,&lt;br /&gt;
			[&amp;quot;Copper Ore&amp;quot;] = 11.1,&lt;br /&gt;
			[&amp;quot;Gold Ore&amp;quot;] = 11.1,&lt;br /&gt;
			[&amp;quot;Coal&amp;quot;] = 11.1,&lt;br /&gt;
			&lt;br /&gt;
			[&amp;quot;Gravel&amp;quot;] = 11.1,&lt;br /&gt;
			[&amp;quot;Sand&amp;quot;] = 11.1,&lt;br /&gt;
			[&amp;quot;Clay&amp;quot;] = 11.1,&lt;br /&gt;
			[&amp;quot;Wood Pulp&amp;quot;] = 11.1,&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	[&amp;quot;27&amp;#039; Cattle Van&amp;quot;] = {&lt;br /&gt;
		page = &amp;quot;Cattle_Van&amp;quot;,&lt;br /&gt;
		type = &amp;quot;cargo&amp;quot;,&lt;br /&gt;
		image = &amp;quot;Screenshot 2023-07-20 031855.png&amp;quot;,&lt;br /&gt;
		buy_price = 1890,&lt;br /&gt;
		&lt;br /&gt;
		weight = 15,&lt;br /&gt;
		&lt;br /&gt;
		cargo = {&lt;br /&gt;
			[&amp;quot;Cattle&amp;quot;] = 4,&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	[&amp;quot;14 Ton Open Wagon&amp;quot;] = {&lt;br /&gt;
		page = &amp;quot;Open_Wagon&amp;quot;,&lt;br /&gt;
		type = &amp;quot;cargo&amp;quot;,&lt;br /&gt;
		image = &amp;quot;Open_wagon_default.png&amp;quot;,&lt;br /&gt;
		buy_price = 1973,&lt;br /&gt;
		&lt;br /&gt;
		weight = 7.9,&lt;br /&gt;
		paintable = true,&lt;br /&gt;
		&lt;br /&gt;
		cargo = {&lt;br /&gt;
			[&amp;quot;Iron Ore&amp;quot;] = 8.1,&lt;br /&gt;
			[&amp;quot;Bauxite Ore&amp;quot;] = 8.1,&lt;br /&gt;
			[&amp;quot;Copper Ore&amp;quot;] = 8.1,&lt;br /&gt;
			[&amp;quot;Gold Ore&amp;quot;] = 8.1,&lt;br /&gt;
			[&amp;quot;Coal&amp;quot;] = 8.1,&lt;br /&gt;
			[&amp;quot;Gravel&amp;quot;] = 8.1,&lt;br /&gt;
			[&amp;quot;Sand&amp;quot;] = 8.1,&lt;br /&gt;
			[&amp;quot;Clay&amp;quot;] = 8.1,&lt;br /&gt;
			[&amp;quot;Wood Pulp&amp;quot;] = 8.1,&lt;br /&gt;
			&lt;br /&gt;
			[&amp;quot;Rum&amp;quot;] = 42.1,&lt;br /&gt;
			[&amp;quot;Grain&amp;quot;] = 31.2,&lt;br /&gt;
			[&amp;quot;Lumber&amp;quot;] = 5.9,&lt;br /&gt;
			[&amp;quot;Bricks&amp;quot;] = 5.9,&lt;br /&gt;
			[&amp;quot;Cordwood&amp;quot;] = 11.3,&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	[&amp;quot;16 Ton Tank Wagon&amp;quot;] = {&lt;br /&gt;
		page = &amp;quot;16_Ton_Tank_Wagon&amp;quot;,&lt;br /&gt;
		type = &amp;quot;cargo&amp;quot;,&lt;br /&gt;
		image = &amp;quot;16TonTankWagon.png&amp;quot;,&lt;br /&gt;
		buy_price = 1998,&lt;br /&gt;
		&lt;br /&gt;
		weight = 6,&lt;br /&gt;
		paintable = true,&lt;br /&gt;
		&lt;br /&gt;
		cargo = {&lt;br /&gt;
			[&amp;quot;Grease&amp;quot;] = 12.6,&lt;br /&gt;
			[&amp;quot;Chemicals&amp;quot;] = 12.6,&lt;br /&gt;
			[&amp;quot;Crude Oil&amp;quot;] = 12.6,&lt;br /&gt;
			[&amp;quot;Water&amp;quot;] = 12.6,&lt;br /&gt;
			[&amp;quot;Kerosene&amp;quot;] = 44.2,&lt;br /&gt;
			[&amp;quot;Rum&amp;quot;] = 44.2,&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	[&amp;quot;18 Ton Covered Van&amp;quot;] = {&lt;br /&gt;
		page = &amp;quot;Covered_Van&amp;quot;,&lt;br /&gt;
		type = &amp;quot;cargo&amp;quot;,&lt;br /&gt;
		image = &amp;quot;Covered_van_default.png&amp;quot;,&lt;br /&gt;
		buy_price = 2037,&lt;br /&gt;
		&lt;br /&gt;
		weight = 8.1,&lt;br /&gt;
		paintable = true,&lt;br /&gt;
		&lt;br /&gt;
		cargo = {&lt;br /&gt;
			[&amp;quot;Copper Ingots&amp;quot;] = 4,&lt;br /&gt;
			[&amp;quot;Leather&amp;quot;] = 33.1,&lt;br /&gt;
			[&amp;quot;Food&amp;quot;] = 33.1,&lt;br /&gt;
			[&amp;quot;Fish&amp;quot;] = 33.1,&lt;br /&gt;
			[&amp;quot;Tools&amp;quot;] = 41.4,&lt;br /&gt;
			[&amp;quot;Textiles&amp;quot;] = 33.1,&lt;br /&gt;
			[&amp;quot;Jewelry&amp;quot;] = 33.1,&lt;br /&gt;
			[&amp;quot;Uncut Gems&amp;quot;] = 33.1,&lt;br /&gt;
			[&amp;quot;Grain&amp;quot;] = 49.5,&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	[&amp;quot;20t Brake Van&amp;quot;] = {&lt;br /&gt;
		page = &amp;quot;Brake_Van&amp;quot;,&lt;br /&gt;
		type = &amp;quot;cargo&amp;quot;,&lt;br /&gt;
		image = nil,&lt;br /&gt;
		buy_price = 2190,&lt;br /&gt;
		&lt;br /&gt;
		weight = 21,&lt;br /&gt;
		paintable = true,&lt;br /&gt;
		&lt;br /&gt;
		description = &amp;quot;Holds up to 4 players.&amp;quot;,&lt;br /&gt;
	},&lt;br /&gt;
	[&amp;quot;20&amp;#039; Passenger Wagon&amp;quot;] = {&lt;br /&gt;
		page = &amp;quot;20&amp;#039; Passenger Wagon&amp;quot;,&lt;br /&gt;
		type = &amp;quot;cargo&amp;quot;,&lt;br /&gt;
		image = &amp;quot;Passenger Wagon QV.png&amp;quot;,&lt;br /&gt;
		buy_price = 2037,&lt;br /&gt;
		&lt;br /&gt;
		weight = 11.1,&lt;br /&gt;
		paintable = true,&lt;br /&gt;
		&lt;br /&gt;
		description = &amp;quot;Holds up to 8 players.&amp;quot;,&lt;br /&gt;
	},&lt;br /&gt;
	[&amp;quot;22&amp;#039; Flat Bulkhead&amp;quot;] = {&lt;br /&gt;
		page = &amp;quot;Flat_Bulkhead&amp;quot;,&lt;br /&gt;
		type = &amp;quot;cargo&amp;quot;,&lt;br /&gt;
		image = nil,&lt;br /&gt;
		buy_price = 2235,&lt;br /&gt;
		&lt;br /&gt;
		weight = 13.5,&lt;br /&gt;
		&lt;br /&gt;
		cargo = {&lt;br /&gt;
			[&amp;quot;Iron Ingots&amp;quot;] = 3,&lt;br /&gt;
			[&amp;quot;Copper Ingots&amp;quot;] = 3,&lt;br /&gt;
			[&amp;quot;Aluminium Ingots&amp;quot;] = 3,&lt;br /&gt;
			[&amp;quot;Cordwood&amp;quot;] = 23.6,&lt;br /&gt;
			[&amp;quot;Food&amp;quot;] = 21,&lt;br /&gt;
			[&amp;quot;Tools&amp;quot;] = 14,&lt;br /&gt;
			[&amp;quot;Cut Stone&amp;quot;] = 14,&lt;br /&gt;
			[&amp;quot;Lumber&amp;quot;] = 10,&lt;br /&gt;
			[&amp;quot;Bricks&amp;quot;] = 10,&lt;br /&gt;
			[&amp;quot;Leather&amp;quot;] = 21,&lt;br /&gt;
			[&amp;quot;Paper&amp;quot;] = 4,&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	[&amp;quot;20 Ton Hopper Wagon&amp;quot;] = {&lt;br /&gt;
		page = &amp;quot;20_Ton_Hopper_Wagon&amp;quot;,&lt;br /&gt;
		type = &amp;quot;cargo&amp;quot;,&lt;br /&gt;
		image = &amp;quot;HeavyHopperThumb.png&amp;quot;,&lt;br /&gt;
		buy_price = 2396,&lt;br /&gt;
		&lt;br /&gt;
		weight = 9.8,&lt;br /&gt;
		paintable = true,&lt;br /&gt;
		&lt;br /&gt;
		cargo = {&lt;br /&gt;
			[&amp;quot;Iron Ore&amp;quot;] = 13.5,&lt;br /&gt;
			[&amp;quot;Bauxite Ore&amp;quot;] = 13.5,&lt;br /&gt;
			[&amp;quot;Copper Ore&amp;quot;] = 13.5,&lt;br /&gt;
			[&amp;quot;Gold Ore&amp;quot;] = 13.5,&lt;br /&gt;
			[&amp;quot;Coal&amp;quot;] = 13.5,&lt;br /&gt;
			&lt;br /&gt;
			[&amp;quot;Gravel&amp;quot;] = 13.5,&lt;br /&gt;
			[&amp;quot;Sand&amp;quot;] = 13.5,&lt;br /&gt;
			[&amp;quot;Clay&amp;quot;] = 13.5,&lt;br /&gt;
			[&amp;quot;Wood Pulp&amp;quot;] = 13.5,&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
&lt;br /&gt;
	[&amp;quot;KdNS Type 2An&amp;#039;2 Class A0&amp;quot;] = {&lt;br /&gt;
		page = &amp;quot;Class_A0&amp;quot;,&lt;br /&gt;
		short_name = &amp;quot;Class A0&amp;quot;,&lt;br /&gt;
		type = &amp;quot;locomotive&amp;quot;,&lt;br /&gt;
		subtype = &amp;quot;KdNS&amp;quot;,&lt;br /&gt;
		image = &amp;quot;Wiki image.png&amp;quot;,&lt;br /&gt;
		buy_price = 5114,&lt;br /&gt;
		&lt;br /&gt;
		weight = 9.1,&lt;br /&gt;
		&lt;br /&gt;
		locomotive = {&lt;br /&gt;
			max_speed = 26,&lt;br /&gt;
			max_coal = 0,&lt;br /&gt;
			max_power = 11737&lt;br /&gt;
		},&lt;br /&gt;
	    description = &amp;quot;Starter engine for [[Misty Summit]].&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	[&amp;quot;RSR Type B&amp;#039;n2st Class A1&amp;quot;] = {&lt;br /&gt;
		page = &amp;quot;Class_A1&amp;quot;,&lt;br /&gt;
		short_name = &amp;quot;Class A1&amp;quot;,&lt;br /&gt;
		type = &amp;quot;locomotive&amp;quot;,&lt;br /&gt;
		subtype = &amp;quot;RSR&amp;quot;,&lt;br /&gt;
		image = &amp;quot;ClassA1.png&amp;quot;,&lt;br /&gt;
		buy_price = 6314,&lt;br /&gt;
		&lt;br /&gt;
		weight = 12.3,&lt;br /&gt;
		&lt;br /&gt;
		locomotive = {&lt;br /&gt;
			max_speed = 21,&lt;br /&gt;
			max_coal = 0,&lt;br /&gt;
			max_power = 14671&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	[&amp;quot;RSR Type B&amp;#039;n2 Class A1-1&amp;quot;] = {&lt;br /&gt;
		page = &amp;quot;Class_A1&amp;quot;,&lt;br /&gt;
		short_name = &amp;quot;Class A1-1&amp;quot;,&lt;br /&gt;
		type = &amp;quot;locomotive&amp;quot;,&lt;br /&gt;
		subtype = &amp;quot;RSR&amp;quot;,&lt;br /&gt;
		image = &amp;quot;Class A1-1.png&amp;quot;,&lt;br /&gt;
		buy_price = nil,&lt;br /&gt;
		&lt;br /&gt;
		weight = 21,&lt;br /&gt;
		&lt;br /&gt;
		locomotive = {&lt;br /&gt;
			max_speed = 21,&lt;br /&gt;
			max_coal = 0,&lt;br /&gt;
			max_power = 14671&lt;br /&gt;
		},&lt;br /&gt;
		description = &amp;quot;Starter engine for [[Stormy Coast]]. Identical to the [[Class A1]], but missing the saddle tank.&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	[&amp;quot;StiG Type Dn&amp;#039;WT Coffeepot&amp;quot;] = {&lt;br /&gt;
		page = &amp;quot;Coffeepot&amp;quot;,&lt;br /&gt;
		short_name = &amp;quot;Coffeepot&amp;quot;,&lt;br /&gt;
		type = &amp;quot;locomotive&amp;quot;,&lt;br /&gt;
		subtype = &amp;quot;StiG&amp;quot;,&lt;br /&gt;
		image = &amp;quot;CoffeepotMain.png&amp;quot;,&lt;br /&gt;
		buy_price = 7214,&lt;br /&gt;
		&lt;br /&gt;
		weight = 14.1,&lt;br /&gt;
		&lt;br /&gt;
		locomotive = {&lt;br /&gt;
			max_speed = 14,&lt;br /&gt;
			max_coal = 400,&lt;br /&gt;
			max_power = 15539&lt;br /&gt;
		},&lt;br /&gt;
	},&lt;br /&gt;
	[&amp;quot;RSR Type 1B&amp;#039;n2st Class A2&amp;quot;] = {&lt;br /&gt;
		page = &amp;quot;Class_A2&amp;quot;,&lt;br /&gt;
		short_name = &amp;quot;Class A2&amp;quot;,&lt;br /&gt;
		type = &amp;quot;locomotive&amp;quot;,&lt;br /&gt;
		subtype = &amp;quot;RSR&amp;quot;,&lt;br /&gt;
		image = &amp;quot;ClassA2.png&amp;quot;,&lt;br /&gt;
		buy_price = 7064,&lt;br /&gt;
		&lt;br /&gt;
		weight = 15.8,&lt;br /&gt;
		&lt;br /&gt;
		locomotive = {&lt;br /&gt;
			max_speed = 26,&lt;br /&gt;
			max_coal = 0,&lt;br /&gt;
			max_power = 13796&lt;br /&gt;
		},&lt;br /&gt;
	&lt;br /&gt;
		description = &amp;quot;Starter engine for [[Maple Ridge]].&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	[&amp;quot;RSR Type 1A1t Class C&amp;quot;] = {&lt;br /&gt;
		page = &amp;quot;Class_C&amp;quot;,&lt;br /&gt;
		short_name = &amp;quot;Class C&amp;quot;,&lt;br /&gt;
		type = &amp;quot;locomotive&amp;quot;,&lt;br /&gt;
		subtype = &amp;quot;RSR&amp;quot;,&lt;br /&gt;
		image = &amp;quot;Classc.png&amp;quot;,&lt;br /&gt;
		buy_price = 9462,&lt;br /&gt;
		&lt;br /&gt;
		weight = 21.5,&lt;br /&gt;
		&lt;br /&gt;
		locomotive = {&lt;br /&gt;
			max_speed = 33,&lt;br /&gt;
			max_coal = 650,&lt;br /&gt;
			max_power = 9769&lt;br /&gt;
		},&lt;br /&gt;
	&lt;br /&gt;
		description = &amp;quot;Starter engine for most maps.&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	[&amp;quot;RSR Type 1BST Class A&amp;quot;] = {&lt;br /&gt;
		page = &amp;quot;Class_A&amp;quot;,&lt;br /&gt;
		short_name = &amp;quot;Class A&amp;quot;,&lt;br /&gt;
		type = &amp;quot;locomotive&amp;quot;,&lt;br /&gt;
		subtype = &amp;quot;RSR&amp;quot;,&lt;br /&gt;
		image = &amp;quot;Classa.png&amp;quot;,&lt;br /&gt;
		buy_price = 10197,&lt;br /&gt;
		not_in_shop = true,&lt;br /&gt;
		&lt;br /&gt;
		weight = 21.5,&lt;br /&gt;
		&lt;br /&gt;
		locomotive = {&lt;br /&gt;
			max_speed = 26,&lt;br /&gt;
			max_coal = 320,&lt;br /&gt;
			max_power = 15522&lt;br /&gt;
		},&lt;br /&gt;
	&lt;br /&gt;
		description = &amp;quot;Replaced with Class A1 and Class A2 on July 31st 2023. Its default color is a unique soft blue inaccessible from the shop.&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	[&amp;quot;KdNS Type Bn&amp;#039;2 Class D1&amp;quot;] = {&lt;br /&gt;
		page = &amp;quot;Class_D1&amp;quot;,&lt;br /&gt;
		short_name = &amp;quot;Class D1&amp;quot;,&lt;br /&gt;
		type = &amp;quot;locomotive&amp;quot;,&lt;br /&gt;
		subtype = &amp;quot;KdNS&amp;quot;,&lt;br /&gt;
		image = &amp;quot;ClassD1Main.png&amp;quot;,&lt;br /&gt;
		buy_price = 11114,&lt;br /&gt;
		&lt;br /&gt;
		weight = 22.6,&lt;br /&gt;
		&lt;br /&gt;
		locomotive = {&lt;br /&gt;
			max_speed = 24,&lt;br /&gt;
			max_coal = 0,&lt;br /&gt;
			max_power = 23411&lt;br /&gt;
		},&lt;br /&gt;
	&lt;br /&gt;
		description = &amp;quot;Starter engine for [[Hazel Sierra]].&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	[&amp;quot;RSR Type C&amp;#039;n2 Class G&amp;quot;] = {&lt;br /&gt;
		page = &amp;quot;Class_G&amp;quot;,&lt;br /&gt;
		short_name = &amp;quot;Class G&amp;quot;,&lt;br /&gt;
		type = &amp;quot;locomotive&amp;quot;,&lt;br /&gt;
		subtype = &amp;quot;RSR&amp;quot;,&lt;br /&gt;
		image = &amp;quot;Classg.png&amp;quot;,&lt;br /&gt;
		buy_price = 14152,&lt;br /&gt;
		&lt;br /&gt;
		weight = 26.5,&lt;br /&gt;
		&lt;br /&gt;
		locomotive = {&lt;br /&gt;
			max_speed = 19,&lt;br /&gt;
			max_coal = 0,&lt;br /&gt;
			max_power = 29809&lt;br /&gt;
		},&lt;br /&gt;
	},&lt;br /&gt;
	[&amp;quot;RSR Type 1A1&amp;#039;N2 Class F&amp;quot;] = {&lt;br /&gt;
		page = &amp;quot;Class_F&amp;quot;,&lt;br /&gt;
		short_name = &amp;quot;Class F&amp;quot;,&lt;br /&gt;
		type = &amp;quot;locomotive&amp;quot;,&lt;br /&gt;
		subtype = &amp;quot;RSR&amp;quot;,&lt;br /&gt;
		image = &amp;quot;F class.png&amp;quot;,&lt;br /&gt;
		buy_price = 17555,&lt;br /&gt;
		&lt;br /&gt;
		weight = 25.5,&lt;br /&gt;
		&lt;br /&gt;
		locomotive = {&lt;br /&gt;
			max_speed = 41,&lt;br /&gt;
			max_coal = 0,&lt;br /&gt;
			max_power = 20684&lt;br /&gt;
		},&lt;br /&gt;
	},&lt;br /&gt;
	[&amp;quot;KdNS Type C&amp;#039;nt Class N&amp;quot;] = {&lt;br /&gt;
		page = &amp;quot;Class_N&amp;quot;,&lt;br /&gt;
		short_name = &amp;quot;Class N&amp;quot;,&lt;br /&gt;
		type = &amp;quot;locomotive&amp;quot;,&lt;br /&gt;
		subtype = &amp;quot;KdNS&amp;quot;,&lt;br /&gt;
		image = &amp;quot;N class.png&amp;quot;,&lt;br /&gt;
		buy_price = 19602,&lt;br /&gt;
		&lt;br /&gt;
		weight = 26.5,&lt;br /&gt;
		&lt;br /&gt;
		locomotive = {&lt;br /&gt;
			max_speed = 19,&lt;br /&gt;
			max_coal = 700,&lt;br /&gt;
			max_power = 25048&lt;br /&gt;
		},&lt;br /&gt;
	},&lt;br /&gt;
	[&amp;quot;RSR Type B1&amp;#039;n2t Class E&amp;quot;] = {&lt;br /&gt;
		page = &amp;quot;Class_E&amp;quot;,&lt;br /&gt;
		short_name = &amp;quot;Class E&amp;quot;,&lt;br /&gt;
		type = &amp;quot;locomotive&amp;quot;,&lt;br /&gt;
		subtype = &amp;quot;RSR&amp;quot;,&lt;br /&gt;
		image = &amp;quot;Classe.png&amp;quot;,&lt;br /&gt;
		buy_price = 20817,&lt;br /&gt;
		&lt;br /&gt;
		weight = 26,&lt;br /&gt;
		&lt;br /&gt;
		locomotive = {&lt;br /&gt;
			max_speed = 26,&lt;br /&gt;
			max_coal = 1080,&lt;br /&gt;
			max_power = 20527&lt;br /&gt;
		},&lt;br /&gt;
	},&lt;br /&gt;
	[&amp;quot;KdNS Type C&amp;#039;n2 Class B2&amp;quot;] = {&lt;br /&gt;
		page = &amp;quot;Class_B2&amp;quot;,&lt;br /&gt;
		short_name = &amp;quot;Class B2&amp;quot;,&lt;br /&gt;
		type = &amp;quot;locomotive&amp;quot;,&lt;br /&gt;
		subtype = &amp;quot;KdNS&amp;quot;,&lt;br /&gt;
		image = &amp;quot;Screenshot 2023-12-21 at 12.32.15 PM.png&amp;quot;,&lt;br /&gt;
		buy_price = 23652,&lt;br /&gt;
		&lt;br /&gt;
		weight = 31.5,&lt;br /&gt;
		&lt;br /&gt;
		locomotive = {&lt;br /&gt;
			max_speed = 29,&lt;br /&gt;
			max_coal = 0,&lt;br /&gt;
			max_power = 32466&lt;br /&gt;
		},&lt;br /&gt;
	},&lt;br /&gt;
    [&amp;quot;RSR Type 1B&amp;#039;WT Class I&amp;quot;] = {&lt;br /&gt;
		page = &amp;quot;Class_I&amp;quot;,&lt;br /&gt;
		short_name = &amp;quot;Class I&amp;quot;,&lt;br /&gt;
		type = &amp;quot;locomotive&amp;quot;,&lt;br /&gt;
		subtype = &amp;quot;RSR&amp;quot;,&lt;br /&gt;
		image = &amp;quot;RSR Class I.png&amp;quot;,&lt;br /&gt;
		buy_price = 25655,&lt;br /&gt;
		&lt;br /&gt;
		weight = 33,&lt;br /&gt;
		&lt;br /&gt;
		locomotive = {&lt;br /&gt;
			max_speed = 46,&lt;br /&gt;
			max_coal = 750,&lt;br /&gt;
			max_power = 24513&lt;br /&gt;
		},&lt;br /&gt;
	},&lt;br /&gt;
	[&amp;quot;RSR Type C&amp;#039;N2 Class K1&amp;quot;] = {&lt;br /&gt;
		page = &amp;quot;Class_K1&amp;quot;,&lt;br /&gt;
		short_name = &amp;quot;Class K1&amp;quot;,&lt;br /&gt;
		type = &amp;quot;locomotive&amp;quot;,&lt;br /&gt;
		subtype = &amp;quot;RSR&amp;quot;,&lt;br /&gt;
		image = &amp;quot;ClassK1Main.png&amp;quot;,&lt;br /&gt;
		buy_price = 26244,&lt;br /&gt;
		&lt;br /&gt;
		weight = 32.9,&lt;br /&gt;
		&lt;br /&gt;
		locomotive = {&lt;br /&gt;
			max_speed = 34,&lt;br /&gt;
			max_coal = 0,&lt;br /&gt;
			max_power = 34348&lt;br /&gt;
		},&lt;br /&gt;
	},&lt;br /&gt;
	[&amp;quot;KdNS Type 2&amp;#039;B&amp;#039;n2 Class B&amp;quot;] = {&lt;br /&gt;
		page = &amp;quot;Class_B&amp;quot;,&lt;br /&gt;
		short_name = &amp;quot;Class B&amp;quot;,&lt;br /&gt;
		type = &amp;quot;locomotive&amp;quot;,&lt;br /&gt;
		subtype = &amp;quot;KdNS&amp;quot;,&lt;br /&gt;
		image = &amp;quot;ClassBSide.png&amp;quot;,&lt;br /&gt;
		buy_price = 26652,&lt;br /&gt;
		&lt;br /&gt;
		weight = 31.5,&lt;br /&gt;
		&lt;br /&gt;
		locomotive = {&lt;br /&gt;
			max_speed = 56,&lt;br /&gt;
			max_coal = 0,&lt;br /&gt;
			max_power = 30653&lt;br /&gt;
		},&lt;br /&gt;
	},&lt;br /&gt;
	[&amp;quot;RSR Type B2&amp;#039;N2 Class J1&amp;quot;] = {&lt;br /&gt;
		page = &amp;quot;Class_J1&amp;quot;,&lt;br /&gt;
		short_name = &amp;quot;Class J1&amp;quot;,&lt;br /&gt;
		type = &amp;quot;locomotive&amp;quot;,&lt;br /&gt;
		subtype = &amp;quot;RSR&amp;quot;,&lt;br /&gt;
		image = &amp;quot;J1.png&amp;quot;,&lt;br /&gt;
		buy_price = 27111,&lt;br /&gt;
		&lt;br /&gt;
		weight = 35.5,&lt;br /&gt;
		&lt;br /&gt;
		locomotive = {&lt;br /&gt;
			max_speed = 32,&lt;br /&gt;
			max_coal = 0,&lt;br /&gt;
			max_power = 37270&lt;br /&gt;
		},&lt;br /&gt;
	},&lt;br /&gt;
	[&amp;quot;RSR Type 1C&amp;#039;N2 Class J2&amp;quot;] = {&lt;br /&gt;
		page = &amp;quot;Class_J2&amp;quot;,&lt;br /&gt;
		short_name = &amp;quot;Class J2&amp;quot;,&lt;br /&gt;
		type = &amp;quot;locomotive&amp;quot;,&lt;br /&gt;
		subtype = &amp;quot;RSR&amp;quot;,&lt;br /&gt;
		image = &amp;quot;J2 Right side.png&amp;quot;,&lt;br /&gt;
		buy_price = 27774,&lt;br /&gt;
		&lt;br /&gt;
		weight = 35.5,&lt;br /&gt;
		&lt;br /&gt;
		locomotive = {&lt;br /&gt;
			max_speed = 38,&lt;br /&gt;
			max_coal = 0,&lt;br /&gt;
			max_power = 39796&lt;br /&gt;
		},&lt;br /&gt;
	},&lt;br /&gt;
	[&amp;quot;KdNS Type Dn Class H&amp;quot;] = {&lt;br /&gt;
		page = &amp;quot;Class_H&amp;quot;,&lt;br /&gt;
		short_name = &amp;quot;Class H&amp;quot;,&lt;br /&gt;
		type = &amp;quot;locomotive&amp;quot;,&lt;br /&gt;
		subtype = &amp;quot;KdNS&amp;quot;,&lt;br /&gt;
		image = &amp;quot;H class.png&amp;quot;,&lt;br /&gt;
		buy_price = 32652,&lt;br /&gt;
		&lt;br /&gt;
		weight = 40.5,&lt;br /&gt;
		&lt;br /&gt;
		locomotive = {&lt;br /&gt;
			max_speed = 19,&lt;br /&gt;
			max_coal = 1372,&lt;br /&gt;
			max_power = 44478&lt;br /&gt;
		},&lt;br /&gt;
	},&lt;br /&gt;
    [&amp;quot;RSR Type C1&amp;#039;T Class P&amp;quot;] = {&lt;br /&gt;
		page = &amp;quot;Class_P&amp;quot;,&lt;br /&gt;
		short_name = &amp;quot;Class P&amp;quot;,&lt;br /&gt;
		type = &amp;quot;locomotive&amp;quot;,&lt;br /&gt;
		subtype = &amp;quot;RSR&amp;quot;,&lt;br /&gt;
		image = &amp;quot;Screenshot 2025-02-27 214340.png&amp;quot;,&lt;br /&gt;
		buy_price = 34655,&lt;br /&gt;
		&lt;br /&gt;
		weight = 37,&lt;br /&gt;
		&lt;br /&gt;
		locomotive = {&lt;br /&gt;
			max_speed = 51,&lt;br /&gt;
			max_coal = 1440,&lt;br /&gt;
			max_power = 30047&lt;br /&gt;
		},&lt;br /&gt;
	},&lt;br /&gt;
	[&amp;quot;RSR Type C1&amp;#039;NST Class K2&amp;quot;] = {&lt;br /&gt;
		page = &amp;quot;Class_K2&amp;quot;,&lt;br /&gt;
		short_name = &amp;quot;Class K2&amp;quot;,&lt;br /&gt;
		type = &amp;quot;locomotive&amp;quot;,&lt;br /&gt;
		subtype = &amp;quot;RSR&amp;quot;,&lt;br /&gt;
		image = &amp;quot;ClassK2Main.png&amp;quot;,&lt;br /&gt;
		buy_price = 33744,&lt;br /&gt;
		&lt;br /&gt;
		weight = 42.9,&lt;br /&gt;
		&lt;br /&gt;
		locomotive = {&lt;br /&gt;
			max_speed = 24,&lt;br /&gt;
			max_coal = 1300,&lt;br /&gt;
			max_power = 41991&lt;br /&gt;
		},&lt;br /&gt;
	},&lt;br /&gt;
	[&amp;quot;KdNS Type Dn Class H2&amp;quot;] = {&lt;br /&gt;
		page = &amp;quot;Class_H2&amp;quot;,&lt;br /&gt;
		short_name = &amp;quot;Class H2&amp;quot;,&lt;br /&gt;
		type = &amp;quot;locomotive&amp;quot;,&lt;br /&gt;
		subtype = &amp;quot;KdNS&amp;quot;,&lt;br /&gt;
		image = &amp;quot;Class H2 Natasha TLR.png&amp;quot;,&lt;br /&gt;
		buy_price = 37152,&lt;br /&gt;
		&lt;br /&gt;
		weight = 39.8,&lt;br /&gt;
		&lt;br /&gt;
		locomotive = {&lt;br /&gt;
			max_speed = 30,&lt;br /&gt;
			max_coal = 0,&lt;br /&gt;
			max_power = 45227&lt;br /&gt;
		},&lt;br /&gt;
	},&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function numWithCommas(n) -- we love stack overflow&lt;br /&gt;
	return tostring(math.floor(n)):reverse():gsub(&amp;quot;(%d%d%d)&amp;quot;,&amp;quot;%1,&amp;quot;)&lt;br /&gt;
		:gsub(&amp;quot;,(%-?)$&amp;quot;,&amp;quot;%1&amp;quot;):reverse()&lt;br /&gt;
end -- todo: move into a helper function&lt;br /&gt;
&lt;br /&gt;
function getRollingStockPageRow(frame)&lt;br /&gt;
	-- Stock Name|Shortened Name&lt;br /&gt;
	local stock, short_name = frame.args[1], frame.args[2]&lt;br /&gt;
	&lt;br /&gt;
	local out = &amp;quot;|-\n| style=\&amp;quot;text-align:center;\&amp;quot; |&amp;lt;u&amp;gt;[[&amp;quot; .. module.rolling_stock[stock].page .. &amp;quot;|&amp;quot; .. (short_name and module.rolling_stock[stock].short_name or stock) ..  &amp;quot;]]&amp;lt;/u&amp;gt;\n&amp;quot;&lt;br /&gt;
	..&amp;quot;\n|&amp;quot; ..(module.rolling_stock[stock].image and (&amp;quot;[[File:&amp;quot; .. (module.rolling_stock[stock].image) .. &amp;quot;|thumb|link=&amp;quot; .. module.rolling_stock[stock].page .. &amp;quot;]]&amp;quot;) or &amp;quot;&amp;quot;)&lt;br /&gt;
	..&amp;quot;\n|style=\&amp;quot;text-align:center;\&amp;quot;|&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	if not module.rolling_stock[stock].buy_price then&lt;br /&gt;
		out = out .. &amp;quot;Not available to purchase.&amp;quot;&lt;br /&gt;
	else&lt;br /&gt;
		if module.rolling_stock[stock].not_in_shop then&lt;br /&gt;
			out = out .. &amp;quot;No longer available to purchase. Was: &amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
		out = out .. &amp;quot;$&amp;quot; .. numWithCommas(module.rolling_stock[stock].buy_price)&lt;br /&gt;
		..&amp;quot;&amp;lt;br/&amp;gt;&amp;lt;i&amp;gt;$&amp;quot; .. numWithCommas(math.ceil(module.rolling_stock[stock].buy_price * 0.8 + 10))  --[[&lt;br /&gt;
			Trainworks multiplier and also add 10 for some reason?&lt;br /&gt;
		]] .. &amp;quot; w/ Trainworks&amp;lt;/i&amp;gt;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	out = out .. &amp;quot;\n| style=\&amp;quot;text-align:center;\&amp;quot; |&amp;quot; .. module.rolling_stock[stock].weight .. &amp;quot;t&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	out = out .. &amp;quot;\n| style=\&amp;quot;text-align:center;\&amp;quot; |&amp;quot;&lt;br /&gt;
	if module.rolling_stock[stock].cargo then&lt;br /&gt;
		out = out .. &amp;quot;Holds cargo&amp;lt;br/&amp;gt;&amp;quot;&lt;br /&gt;
		&lt;br /&gt;
		local sortable_cargo = {}&lt;br /&gt;
		for name, amount in pairs(module.rolling_stock[stock].cargo) do&lt;br /&gt;
			table.insert(sortable_cargo, {name = name, amount = amount})&lt;br /&gt;
		end&lt;br /&gt;
		table.sort(sortable_cargo, function(a, b) return a.amount &amp;gt; b.amount end)&lt;br /&gt;
		&lt;br /&gt;
		for _, info in pairs(sortable_cargo) do&lt;br /&gt;
			out = out .. info.amount .. &amp;quot; [[&amp;quot;.. info.name .. &amp;quot;]], &amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
		out = out:sub(1, out:len()-2) -- remove trailing comma&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if module.rolling_stock[stock].locomotive then&lt;br /&gt;
		out = out .. &amp;quot;Locomotive Stats:&amp;quot;&lt;br /&gt;
		..&amp;quot;&amp;lt;br/&amp;gt;Max Power: &amp;quot; .. module.rolling_stock[stock].locomotive.max_power&lt;br /&gt;
		..&amp;quot;&amp;lt;br/&amp;gt;Max Speed: &amp;quot; .. module.rolling_stock[stock].locomotive.max_speed&lt;br /&gt;
		..&amp;quot;&amp;lt;br/&amp;gt;Max Coal: &amp;quot; .. module.rolling_stock[stock].locomotive.max_coal&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if module.rolling_stock[stock].description then&lt;br /&gt;
		out = out .. &amp;quot;&amp;lt;br/&amp;gt;&amp;quot; .. module.rolling_stock[stock].description&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return out&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function module.getRollingStockStorage(frame)&lt;br /&gt;
	local stock = frame.args[1]&lt;br /&gt;
	out =  &amp;quot;&amp;quot;&lt;br /&gt;
		&lt;br /&gt;
	local sortable_cargo = {}&lt;br /&gt;
	for name, amount in pairs(module.rolling_stock[stock].cargo) do&lt;br /&gt;
		table.insert(sortable_cargo, {name = name, amount = amount})&lt;br /&gt;
	end&lt;br /&gt;
	table.sort(sortable_cargo, function(a, b) return a.amount &amp;gt; b.amount end)&lt;br /&gt;
	&lt;br /&gt;
	for _, info in pairs(sortable_cargo) do&lt;br /&gt;
		out = out .. info.amount .. &amp;quot; [[&amp;quot;.. info.name .. &amp;quot;]], &amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	out = out:sub(1, out:len()-2) -- remove trailing comma&lt;br /&gt;
	&lt;br /&gt;
	return out&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function module.getRollingStockPage(frame)&lt;br /&gt;
	local stock_type, short_name = frame.args[1], frame.args[2]&lt;br /&gt;
	short_name = short_name == &amp;quot;true&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	local out = &amp;quot;&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	local sortable_stock = {}&lt;br /&gt;
	for name, info in pairs(module.rolling_stock) do&lt;br /&gt;
		if info.type == stock_type then&lt;br /&gt;
			info.name = name&lt;br /&gt;
			table.insert(sortable_stock, info)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	table.sort(sortable_stock, function(a, b) return (a.buy_price or math.huge) &amp;lt; (b.buy_price or math.huge) end)&lt;br /&gt;
	for _, info in pairs(sortable_stock) do&lt;br /&gt;
		out = out .. getRollingStockPageRow({args = {info.name, short_name}}) .. &amp;quot;\n&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return out&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function module.getCargoStorage(frame)&lt;br /&gt;
	local valid_stock = {}&lt;br /&gt;
	&lt;br /&gt;
	for stock, info in pairs(module.rolling_stock) do&lt;br /&gt;
		if info.cargo and info.cargo[frame.args[1]] then -- continue isnt a valid keyword :c (i blame greg)&lt;br /&gt;
			--out = out .. stock .. &amp;quot;: &amp;quot; .. info.cargo[frame.args[1]]&lt;br /&gt;
			-- i write these comments for nobody, nobody will even open this page&lt;br /&gt;
			table.insert(valid_stock, {name = stock, page = info.page, amount = info.cargo[frame.args[1]]})&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	table.sort(valid_stock, function(a, b) return a.amount &amp;gt; b.amount end)&lt;br /&gt;
	&lt;br /&gt;
	for index, info in pairs(valid_stock) do&lt;br /&gt;
		valid_stock[index] = &amp;quot;[[&amp;quot; .. info.page .. &amp;quot;|&amp;quot; .. info.name .. &amp;quot;]]: &amp;quot; .. info.amount&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return table.concat(valid_stock, &amp;quot;&amp;lt;br/&amp;gt;&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function module.getStringList(frame)&lt;br /&gt;
	-- Stock Type|Formatting String|Separator&lt;br /&gt;
	local stock_type, formatting, separator, stock_subtype = frame.args[1], (frame.args[2] or &amp;quot;%s&amp;quot;), (frame.args[3] or &amp;quot;&amp;quot;), (frame.args[4])&lt;br /&gt;
	&lt;br /&gt;
	local out = &amp;quot;&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	local sortable_stock = {}&lt;br /&gt;
	&lt;br /&gt;
	for name, info in pairs(module.rolling_stock) do&lt;br /&gt;
		if ((not stock_type) or info.type == stock_type) and ((not stock_subtype) or info.subtype == stock_subtype) then&lt;br /&gt;
			info.name = name&lt;br /&gt;
			table.insert(sortable_stock, info)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	table.sort(sortable_stock, function(a, b) return (a.buy_price or math.huge) &amp;lt; (b.buy_price or math.huge) end)&lt;br /&gt;
	&lt;br /&gt;
	for _, info in pairs(sortable_stock) do&lt;br /&gt;
		out = out .. formatting:gsub(&amp;quot;{name}&amp;quot;, info.short_name or info.name):gsub(&amp;quot;{page}&amp;quot;, info.page or info.name) .. (separator or &amp;quot;&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	out = out:sub(1, out:len()-separator:len()) -- remove trailing comma&lt;br /&gt;
	out = out:gsub(&amp;quot;\\([nt])&amp;quot;, {n=&amp;quot;\n&amp;quot;, t=&amp;quot;\t&amp;quot;}) -- fix formatting&lt;br /&gt;
	return out&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function module.getValue(frame)&lt;br /&gt;
	-- Stock Name|Property&lt;br /&gt;
	local stock, property = frame.args[1], frame.args[2]&lt;br /&gt;
	if not stock then&lt;br /&gt;
		stock = page_name&lt;br /&gt;
	end&lt;br /&gt;
	return module.rolling_stock[stock][property]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return module&lt;/div&gt;</summary>
		<author><name>imported&gt;Snowpix7911</name></author>
	</entry>
</feed>