Skip to content

Commit

Permalink
Change Hobo Stove to deployable furniture (#49442)
Browse files Browse the repository at this point in the history
* Change Hobo Stove to deployable furnature

Changing Hobo Stove to deployable furnature.

Why change: currently hobo stove was either WAY too efficient, or completely useless.

How is it useful but balanced: It deploys like brazier which means it scales to "nearby fire" efficiency now.  Has a max capacity of 500ml to restrict possible burnable fuels (even plank / stout branch is way too large to fit).  all burnable fuels that fit should burn quickly which will require pre-chopping the wood and setting up a "firewood source" tile most likely, meaning it's better for small / one off / emergencies rather than constant usage

Why not just use brazier: Brazier is big and heavy.  This is much smaller and lighter than a full brazier making it good for general use

Alternatives: Just drop it entirely but I think there's a place for it when you don't want to carry around something as big as a brazier and you're willing to fiddle with fuel a lot in exchange.

Based on this real world recipe: https://www.motherearthnews.com/diy/how-to-make-hobo-stove-zmaz84zloeck

* json lint

auto linted using http://dev.narc.ro/cataclysm/format.html to start

* fix some bugs

* Update furniture-fireplaces.json

increase space to allow 2 splintered wood (1 burning 1 fresh) and 100 wood ash

* more linting

* allow to hold

intent is for you to be able to nest stuff in it when carrying it around.  It has too many holes to hold a liquid or anything smaller than tinder, and you lose 100ml due to added bulk from the way it's built, and it can't hold as much weight as a Medium Can

* fixed recipe

should need both can and scrap
should need both saw and (awl 2 or drill 1)

* fixed typo

accidental removed charges from l-stick instead of hobo_stove

* lint
  • Loading branch information
Xpyder authored Jul 16, 2021
1 parent 9658f3d commit 62258b7
Show file tree
Hide file tree
Showing 5 changed files with 55 additions and 29 deletions.
26 changes: 26 additions & 0 deletions data/json/furniture_and_terrain/furniture-fireplaces.json
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,32 @@
]
}
},
{
"type": "furniture",
"id": "f_hobo_stove",
"name": "hobo stove",
"description": "This is a small improvised wood stove, made from a metal can. It's too small to fit anything much larger than splintered wood.",
"symbol": "#",
"color": "red",
"move_cost_mod": 2,
"coverage": 35,
"required_str": 4,
"flags": [ "PLACE_ITEM", "TRANSPARENT", "FIRE_CONTAINER", "EASY_DECONSTRUCT" ],
"deployed_item": "hobo_stove",
"examine_action": "fireplace",
"max_volume": "680 ml",
"bash": {
"str_min": 8,
"str_max": 30,
"sound": "metal screeching!",
"sound_fail": "clang!",
"items": [
{ "item": "scrap", "count": [ 2, 4 ] },
{ "item": "steel_chunk", "count": [ 1, 2 ] },
{ "item": "sheet_metal_small", "count": [ 1, 2 ] }
]
}
},
{
"type": "furniture",
"id": "f_55gal_firebarrel",
Expand Down
4 changes: 2 additions & 2 deletions data/json/itemgroups/Locations_MapExtras/locations.json
Original file line number Diff line number Diff line change
Expand Up @@ -880,7 +880,7 @@
[ "pocketwatch", 1 ],
[ "survnote", 1 ],
[ "tinder", 1 ],
{ "item": "hobo_stove", "prob": 1, "charges": [ 0, 100 ] },
{ "item": "hobo_stove", "prob": 1 },
{ "item": "l-stick", "prob": 1, "charges": [ 0, 500 ] },
[ "eclipse_glasses", 1 ],
{ "group": "writing_utensils", "prob": 5 }
Expand Down Expand Up @@ -2300,7 +2300,7 @@
[ "bodypillow", 1 ],
[ "flint_steel", 6 ],
[ "bottle_metal", 2 ],
{ "item": "hobo_stove", "prob": 3, "charges": [ 0, 100 ] },
{ "item": "hobo_stove", "prob": 3 },
[ "tinder", 3 ],
{ "item": "tinderbox", "prob": 2, "charges": [ 0, 100 ] },
[ "tarp", 15 ],
Expand Down
20 changes: 0 additions & 20 deletions data/json/items/tool/cooking.json
Original file line number Diff line number Diff line change
Expand Up @@ -446,26 +446,6 @@
"symbol": ";",
"color": "light_gray"
},
{
"id": "hobo_stove",
"type": "TOOL",
"name": { "str": "hobo stove" },
"description": "This is a small improvised wood stove, made from a metal can or similar container of the right size. Useful for defrosting and reheating food, uses simple tinder.",
"weight": "500 g",
"volume": "250 ml",
"price": 0,
"price_postapoc": 0,
"to_hit": -1,
"bashing": 2,
"material": [ "steel" ],
"symbol": ",",
"color": "light_gray",
"ammo": [ "tinder" ],
"pocket_data": [ { "pocket_type": "MAGAZINE", "ammo_restriction": { "tinder": 100 } } ],
"max_charges": 100,
"charges_per_use": 25,
"use_action": [ "HOTPLATE" ]
},
{
"id": "hotplate",
"type": "TOOL",
Expand Down
21 changes: 21 additions & 0 deletions data/json/items/tool/deployable.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,27 @@
"use_action": { "type": "deploy_furn", "furn_type": "f_brazier" },
"qualities": [ [ "COOK", 1 ], [ "BOIL", 2 ], [ "CONTAIN", 1 ] ]
},
{
"id": "hobo_stove",
"type": "TOOL",
"name": { "str": "hobo stove" },
"description": "This is a small improvised wood stove, made from a metal can or similar container of the right size. It's too small to fit anything much larger than splintered wood. Activate it to Deploy.",
"copy-from": "can_medium",
"weight": "100 g",
"volume": "550 ml",
"pocket_data": [
{
"pocket_type": "CONTAINER",
"rigid": true,
"watertight": false,
"open_container": false,
"min_contains_volume": "4 ml",
"max_contains_volume": "400 ml",
"max_contains_weight": "1 kg"
}
],
"use_action": { "type": "deploy_furn", "furn_type": "f_hobo_stove" }
},
{
"id": "55gal_firebarrel",
"type": "TOOL",
Expand Down
13 changes: 6 additions & 7 deletions data/json/recipes/tools/tool.json
Original file line number Diff line number Diff line change
Expand Up @@ -580,14 +580,13 @@
"category": "CC_OTHER",
"subcategory": "CSC_OTHER_TOOLS",
"skill_used": "survival",
"skills_required": [ "fabrication", 1 ],
"difficulty": 2,
"time": "15 m",
"reversible": true,
"autolearn": true,
"skills_required": [ "fabrication", 2 ],
"difficulty": 3,
"time": "25 m",
"autolearn": false,
"book_learn": [ [ "mag_survival", 2 ], [ "textbook_survival", 1 ], [ "cookbook", 2 ] ],
"qualities": [ { "id": "CUT", "level": 1 } ],
"components": [ [ [ "can_food", 2 ], [ "scrap", 4 ] ] ]
"qualities": [ [ { "id": "SAW_M", "level": 1 } ], [ { "id": "DRILL", "level": 1 }, { "id": "LEATHER_AWL", "level": 2 } ] ],
"components": [ [ [ "can_medium", 1 ] ], [ [ "scrap", 3 ] ] ]
},
{
"type": "recipe",
Expand Down

0 comments on commit 62258b7

Please sign in to comment.