Skip to content

Commit

Permalink
Add a larger “family–sized” water heater (#68404)
Browse files Browse the repository at this point in the history
* Add a larger “family–sized” water heater

This one has a 55–gallon tank; naturally deconstructing it yields a
`55gal-drum` of the same capacity. For consistency, the stats are
taken from a Rheem model XG55T06EC50UO water heater
<https://images.thdstatic.com/catalog/pdfImages/7e/7e7928b1-8b4f-472a-8ee8-b48eb1e7932a.pdf>.

* add sacrificial anode rods to water heaters to prevent corrosion

Anode rods for water heaters are typically aluminum or magnesium, as
these metals have good electronegativity and don’t cost very
much. CDDA doesn’t have magnesium metal chunks or ingots, but it does
have aluminum, so it is easiest to always use aluminum.

* update a wide variety of buildings to use the larger water heaters

For some buildings I left the existing small water heater as is, for a
few (such as the landromat) I changed it to a larger one, but for most
I left it to chance. I didn’t add water heaters to any building that
doesn’t already have one.

* lint the json

* make the military base use the larger water heaters

It looks like the water heaters are mostly in the barracks, infirmary,
etc, so it makes sense that they would use large ones. If 100–gallon
commercial water heaters are ever added to the game, this would be a
great place to use them.

* make the carrier only use the larger water heaters as well

Co-authored-by: Anton Simakov <[email protected]>

---------

Co-authored-by: Anton Simakov <[email protected]>
  • Loading branch information
db48x and GuardianDll authored Oct 2, 2023
1 parent 6aea1e6 commit 842d15f
Show file tree
Hide file tree
Showing 30 changed files with 133 additions and 42 deletions.
37 changes: 36 additions & 1 deletion data/json/furniture_and_terrain/furniture-plumbing.json
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,42 @@
{ "item": "hose", "count": [ 0, 2 ] },
{ "item": "cu_pipe", "count": [ 1, 4 ] },
{ "item": "scrap_copper", "count": [ 0, 2 ] },
{ "item": "water_faucet", "count": [ 0, 1 ] }
{ "item": "water_faucet", "count": [ 0, 1 ] },
{ "item": "material_aluminium_ingot", "count": 2 }
]
}
},
{
"type": "furniture",
"id": "f_water_heater_family",
"name": "family–sized water heater",
"looks_like": "f_water_heater",
"description": "An insulated metal tank with a small fire used to maintain near-boiling temperatures. There's no longer any way to power it, but any water left in the large tank from before the power went out should be pretty clean, and it could be used to store large quantities of other liquids too.",
"symbol": "0",
"bgcolor": "white",
"move_cost_mod": -1,
"coverage": 55,
"required_str": -1,
"flags": [ "CONTAINER", "PLACE_ITEM", "LIQUIDCONT", "NOITEM", "SEALED", "EASY_DECONSTRUCT", "SMALL_HIDE" ],
"//": "keg_capacity assumed to be from model XG55T06EC50UO water heater <https://images.thdstatic.com/catalog/pdfImages/7e/7e7928b1-8b4f-472a-8ee8-b48eb1e7932a.pdf>",
"examine_action": "keg",
"keg_capacity": 800,
"deconstruct": { "items": [ { "item": "household_water_heater_family", "count": 1 } ] },
"bash": {
"str_min": 18,
"str_max": 50,
"sound": "metal screeching!",
"sound_fail": "clang!",
"items": [
{ "item": "scrap", "count": [ 4, 14 ] },
{ "item": "steel_chunk", "count": [ 1, 6 ] },
{ "item": "sheet_metal", "count": [ 4, 12 ] },
{ "item": "cable", "charges": [ 1, 15 ] },
{ "item": "hose", "count": [ 1, 4 ] },
{ "item": "cu_pipe", "count": [ 1, 8 ] },
{ "item": "scrap_copper", "count": [ 1, 4 ] },
{ "item": "water_faucet", "count": [ 0, 1 ] },
{ "item": "material_aluminium_ingot", "count": 4 }
]
}
},
Expand Down
17 changes: 17 additions & 0 deletions data/json/items/generic.json
Original file line number Diff line number Diff line change
Expand Up @@ -1278,6 +1278,23 @@
"use_action": { "type": "deploy_furn", "furn_type": "f_water_heater" },
"melee_damage": { "bash": 5 }
},
{
"type": "GENERIC",
"id": "household_water_heater_family",
"symbol": "0",
"color": "white",
"name": { "str": "family–sized household water heater" },
"description": "A large metal tank with a water faucet attached to it, primarily used to store and heat water. Large enough for a whole family.",
"price": 0,
"price_postapoc": 20,
"material": [ "steel" ],
"//": "weight and volume assumed to be from model XG55T06EC50UO water heater <https://images.thdstatic.com/catalog/pdfImages/7e/7e7928b1-8b4f-472a-8ee8-b48eb1e7932a.pdf>",
"weight": "80000 g",
"volume": "406 L",
"to_hit": -5,
"use_action": { "type": "deploy_furn", "furn_type": "f_water_heater_family" },
"melee_damage": { "bash": 5 }
},
{
"type": "GENERIC",
"id": "television",
Expand Down
4 changes: 2 additions & 2 deletions data/json/mapgen/basement/basement_bionic.json
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@
"?": "f_autodoc",
"/": "f_autodoc_couch",
"F": "f_home_furnace",
"W": "f_water_heater"
"W": "f_water_heater_family"
},
"liquids": { "W": { "liquid": "water_clean", "amount": [ 0, 100 ] } },
"place_loot": [
Expand Down Expand Up @@ -122,7 +122,7 @@
"_": "f_bench",
"L": "f_locker",
"F": "f_home_furnace",
"W": "f_water_heater"
"W": "f_water_heater_family"
},
"liquids": { "W": { "liquid": "water_clean", "amount": [ 0, 100 ] } },
"place_loot": [
Expand Down
4 changes: 2 additions & 2 deletions data/json/mapgen/basement/basement_chem.json
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@
"c": "f_counter",
"h": "f_chair",
"R": "f_rack",
"E": "f_water_heater",
"E": [ "f_water_heater", "f_water_heater_family" ],
"W": "f_water_purifier",
"X": [ "f_crate_c", "f_crate_o", "f_cardboard_box" ],
"U": "f_utility_shelf",
Expand Down Expand Up @@ -158,7 +158,7 @@
"h": "f_chair",
"A": "f_air_filter",
"C": "f_air_conditioner",
"E": "f_water_heater",
"E": [ "f_water_heater", "f_water_heater_family" ],
"W": [ "f_water_purifier", "f_home_furnace" ],
"X": [ "f_crate_c", "f_crate_o", "f_cardboard_box" ],
"U": "f_utility_shelf",
Expand Down
16 changes: 11 additions & 5 deletions data/json/mapgen/basement/basement_game.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,13 @@
" ",
" "
],
"furniture": { "F": "f_home_furnace", "W": "f_water_heater", "S": "f_utility_shelf", "L": "f_floor_lamp", "G": "f_glass_cabinet" },
"furniture": {
"F": "f_home_furnace",
"W": [ "f_water_heater", "f_water_heater_family" ],
"S": "f_utility_shelf",
"L": "f_floor_lamp",
"G": "f_glass_cabinet"
},
"liquids": { "W": { "liquid": "water_clean", "amount": [ 0, 100 ] } },
"palettes": [ "basement_game" ],
"place_loot": [
Expand Down Expand Up @@ -86,7 +92,7 @@
" ",
" "
],
"furniture": { "F": "f_home_furnace", "W": "f_water_heater", "L": "f_floor_lamp" },
"furniture": { "F": "f_home_furnace", "W": [ "f_water_heater", "f_water_heater_family" ], "L": "f_floor_lamp" },
"liquids": { "W": { "liquid": "water_clean", "amount": [ 0, 100 ] } },
"palettes": [ "basement_game" ],
"place_loot": [
Expand Down Expand Up @@ -140,7 +146,7 @@
" ",
" "
],
"furniture": { "F": "f_home_furnace", "W": "f_water_heater", "S": "f_utility_shelf" },
"furniture": { "F": "f_home_furnace", "W": [ "f_water_heater", "f_water_heater_family" ], "S": "f_utility_shelf" },
"liquids": { "W": { "liquid": "water_clean", "amount": [ 0, 100 ] } },
"palettes": [ "basement_game" ],
"place_loot": [
Expand Down Expand Up @@ -190,7 +196,7 @@
" ",
" "
],
"furniture": { "F": "f_home_furnace", "W": "f_water_heater" },
"furniture": { "F": "f_home_furnace", "W": [ "f_water_heater", "f_water_heater_family" ] },
"liquids": { "W": { "liquid": "water_clean", "amount": [ 0, 100 ] } },
"palettes": [ "basement_game" ],
"place_loot": [
Expand Down Expand Up @@ -242,7 +248,7 @@
" ",
" "
],
"furniture": { "H": "f_home_furnace", "W": "f_water_heater", "z": "f_cardboard_box" },
"furniture": { "H": "f_home_furnace", "W": [ "f_water_heater", "f_water_heater_family" ], "z": "f_cardboard_box" },
"liquids": { "W": { "liquid": "water_clean", "amount": [ 0, 100 ] } },
"palettes": [ "basement_game" ],
"place_loot": [
Expand Down
2 changes: 1 addition & 1 deletion data/json/mapgen/basement/basement_messed.json
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@
"furniture": {
"c": "f_counter",
"r": "f_rack",
"E": "f_water_heater",
"E": [ "f_water_heater", "f_water_heater_family" ],
"W": [ "f_water_purifier", "f_home_furnace" ],
"a": [
[ "f_table", 30 ],
Expand Down
2 changes: 1 addition & 1 deletion data/json/mapgen/basement/basement_weed.json
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@
"R": "f_rack",
"A": "f_air_filter",
"C": "f_air_conditioner",
"H": "f_water_heater",
"H": [ "f_water_heater", "f_water_heater_family" ],
"W": [ "f_water_purifier", "f_home_furnace" ],
"X": [ "f_crate_c", "f_crate_o", "f_cardboard_box" ],
"U": "f_utility_shelf"
Expand Down
2 changes: 1 addition & 1 deletion data/json/mapgen/hotel_tower.json
Original file line number Diff line number Diff line change
Expand Up @@ -370,7 +370,7 @@
],
"palettes": [ "roof_palette" ],
"terrain": { "#": "t_adobe_brick_wall", "_": "t_thconc_floor", "+": "t_door_metal_elocked" },
"furniture": { "H": "f_generator_broken", "6": "f_water_heater" },
"furniture": { "H": "f_generator_broken", "6": "f_water_heater_family" },
"liquids": { "6": { "liquid": "water_clean", "amount": [ 0, 100 ] } },
"place_monster": [
{ "group": "GROUP_ROOF_ZOMBIE", "x": [ 7, 23 ], "y": [ 24, 46 ], "repeat": [ 1, 2 ] },
Expand Down
2 changes: 1 addition & 1 deletion data/json/mapgen/laundromat.json
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@
"c": "f_chair",
"r": "f_rack",
"t": "f_table",
"o": "f_water_heater",
"o": "f_water_heater_family",
"a": "f_water_purifier",
"L": "f_standing_tank"
},
Expand Down
6 changes: 5 additions & 1 deletion data/json/mapgen/nested/basement_nested.json
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,11 @@
"type": "palette",
"id": "basement_utility_nest_palette",
"terrain": { ".": "t_thconc_floor", "g": "t_thconc_floor", "f": "t_thconc_floor" },
"furniture": { "g": "f_water_heater", "f": "f_home_furnace", "a": [ "f_air_conditioner", "f_null", "f_counter" ] },
"furniture": {
"g": [ "f_water_heater", "f_water_heater_family" ],
"f": "f_home_furnace",
"a": [ "f_air_conditioner", "f_null", "f_counter" ]
},
"liquids": { "g": { "liquid": "water_clean", "amount": [ 0, 100 ] } }
},
{
Expand Down
8 changes: 4 additions & 4 deletions data/json/mapgen/nested/nested_chunks_roof.json
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@
],
"flags": [ "ERASE_ALL_BEFORE_PLACING_TERRAIN" ],
"terrain": { "_": "t_concrete", "x": "t_sewage_pipe" },
"furniture": { "o": "f_water_heater", "a": "f_air_conditioner" },
"furniture": { "o": [ "f_water_heater", "f_water_heater_family" ], "a": "f_air_conditioner" },
"liquids": { "o": { "liquid": "water_clean", "amount": [ 0, 100 ] } }
}
},
Expand All @@ -168,7 +168,7 @@
],
"flags": [ "ERASE_ALL_BEFORE_PLACING_TERRAIN" ],
"terrain": { "c": "t_chaingate_l", "U": "t_chainfence" },
"furniture": { "o": "f_water_heater", "a": "f_water_purifier", "A": "f_standing_tank" },
"furniture": { "o": [ "f_water_heater", "f_water_heater_family" ], "a": "f_water_purifier", "A": "f_standing_tank" },
"liquids": { "o": { "liquid": "water_clean", "amount": [ 0, 100 ] } }
}
},
Expand All @@ -189,7 +189,7 @@
],
"flags": [ "ERASE_ALL_BEFORE_PLACING_TERRAIN" ],
"terrain": { "x": "t_sewage_pipe" },
"furniture": { "o": "f_water_heater", "a": "f_water_purifier", "A": "f_standing_tank" },
"furniture": { "o": [ "f_water_heater", "f_water_heater_family" ], "a": "f_water_purifier", "A": "f_standing_tank" },
"liquids": { "o": { "liquid": "water_clean", "amount": [ 0, 100 ] } }
}
},
Expand Down Expand Up @@ -243,7 +243,7 @@
"nested_mapgen_id": "roof_2x2_utilities_b",
"object": {
"mapgensize": [ 2, 2 ],
"place_furniture": [ { "furn": "f_water_heater", "x": 0, "y": 0 }, { "furn": "f_water_purifier", "x": 0, "y": 1 } ]
"place_furniture": [ { "furn": "f_water_heater_family", "x": 0, "y": 0 }, { "furn": "f_water_purifier", "x": 0, "y": 1 } ]
}
},
{
Expand Down
2 changes: 1 addition & 1 deletion data/json/mapgen/police_station.json
Original file line number Diff line number Diff line change
Expand Up @@ -581,7 +581,7 @@
"=": [ "f_treadmill", "f_treadmill_mechanical" ],
"M": "f_bigmirror",
"s": "f_shower",
"W": "f_water_heater"
"W": "f_water_heater_family"
},
"place_nested": [
{
Expand Down
2 changes: 1 addition & 1 deletion data/json/mapgen/school_1.json
Original file line number Diff line number Diff line change
Expand Up @@ -487,7 +487,7 @@
"A": "f_glass_cabinet",
"^": [ "f_indoor_plant", "f_indoor_plant_y" ],
"[": "f_home_furnace",
"]": "f_water_heater",
"]": "f_water_heater_family",
"0": "f_standing_tank",
"!": "f_server",
"{": "f_small_satelitte_dish",
Expand Down
2 changes: 1 addition & 1 deletion data/json/mapgen_palettes/aircraft_carrier_palette.json
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@
"#": "f_standing_tank",
"S": "f_shower",
"s": "f_sofa",
"V": "f_water_heater",
"V": "f_water_heater_family",
"v": "f_rack_coat",
"w": "f_water_purifier",
"W": "f_washer",
Expand Down
4 changes: 2 additions & 2 deletions data/json/mapgen_palettes/basement.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@
"G": "f_glass_cabinet",
"s": "f_chair",
"F": "f_home_furnace",
"W": "f_water_heater",
"W": [ "f_water_heater", "f_water_heater_family" ],
"o": [ "f_oven", "f_gas_oven_microwave_combo" ],
"b": "f_cupboard",
"T": "f_rack"
Expand Down Expand Up @@ -169,7 +169,7 @@
"Z": "f_dryer",
"8": "f_counter",
"9": "f_shower",
"g": "f_water_heater",
"g": [ "f_water_heater", "f_water_heater_family" ],
"v": "f_safe_l",
"z": "f_cardboard_box",
"é": "f_freezer"
Expand Down
2 changes: 1 addition & 1 deletion data/json/mapgen_palettes/city_block_palette.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
"Y": "f_trashcan",
"Z": "f_dryer",
"d": "f_shower",
"g": "f_water_heater",
"g": [ "f_water_heater", "f_water_heater_family" ],
"h": "f_fireplace",
"i": [ "f_oven", "f_gas_oven_microwave_combo" ],
"j": "f_sink",
Expand Down
2 changes: 1 addition & 1 deletion data/json/mapgen_palettes/house_general_abandoned.json
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@
"d": "f_null",
"e": "f_null",
"f": "f_null",
"g": "f_water_heater",
"g": [ [ "f_water_heater", 5 ], [ "f_water_heater_family", 5 ], [ "f_null", 90 ] ],
"h": [ [ "f_chair", 5 ], [ "f_null", 95 ] ],
"i": "f_null",
"j": "f_null",
Expand Down
2 changes: 1 addition & 1 deletion data/json/mapgen_palettes/house_general_palette.json
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@
"d": "f_dresser",
"e": "f_pool_table",
"f": "f_table",
"g": "f_water_heater",
"g": [ "f_water_heater", "f_water_heater_family" ],
"h": "f_chair",
"i": "f_bench",
"j": "f_bench",
Expand Down
2 changes: 1 addition & 1 deletion data/json/mapgen_palettes/military/mil_base_palette.json
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@
"M": "f_makeshift_bed",
"C": "f_crate_c",
"L": "f_shower",
"6": "f_water_heater",
"6": "f_water_heater_family",
"7": "f_standing_tank",
"H": "f_diesel_tank",
"j": "f_home_furnace",
Expand Down
2 changes: 1 addition & 1 deletion data/json/mapgen_palettes/prison.json
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@
"id": "prison_palette",
"palettes": [ "prison_base_palette" ],
"terrain": { "I": "t_region_groundcover_barren", "B": "t_region_groundcover_barren", "Z": "t_door_bar_o" },
"furniture": { "5": "f_bench", "É": "f_rack", "2": "f_home_furnace", "9": "f_water_heater" },
"furniture": { "5": "f_bench", "É": "f_rack", "2": "f_home_furnace", "9": "f_water_heater_family" },
"items": { "É": [ { "item": "tools_plumbing", "chance": 100, "repeat": [ 1, 3 ] } ] },
"liquids": { "9": { "liquid": "water_clean", "amount": [ 0, 100 ] } }
},
Expand Down
2 changes: 1 addition & 1 deletion data/json/mapgen_palettes/private_resort.json
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@
"0": "f_bigmirror",
"V": "f_wardrobe",
"1": "f_shower",
"2": "f_water_heater",
"2": "f_water_heater_family",
"3": "f_home_furnace",
"4": "f_air_conditioner",
"5": "f_standing_tank",
Expand Down
2 changes: 1 addition & 1 deletion data/json/mapgen_palettes/restaurant_palette.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
"(": "f_recycle_bin",
"e": "f_pool_table",
"f": "f_table",
"g": "f_water_heater",
"g": "f_water_heater_family",
"h": "f_chair",
"k": "f_woodstove",
"l": "f_glass_fridge",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,7 @@
"d": "f_displaycase",
"f": "f_fridge",
"H": "f_home_furnace",
"h": "f_water_heater",
"h": "f_water_heater_family",
"i": "f_cupboard",
"I": "f_null",
"j": "f_null",
Expand Down
2 changes: 1 addition & 1 deletion data/json/mapgen_palettes/stadium_palette.json
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@
},
"vendingmachines": { "D": { "item_group": "vending_drink", "lootable": true }, "F": { "item_group": "vending_food", "lootable": true } },
"furniture": {
"z": "f_water_heater",
"z": "f_water_heater_family",
"b": "f_metal_bench",
"B": "f_bench",
"8": "f_bench",
Expand Down
Loading

0 comments on commit 842d15f

Please sign in to comment.