diff --git a/data/json/furniture_and_terrain/furniture-appliances.json b/data/json/furniture_and_terrain/furniture-appliances.json index 0e87becbedbbd..5fc36f6b95821 100644 --- a/data/json/furniture_and_terrain/furniture-appliances.json +++ b/data/json/furniture_and_terrain/furniture-appliances.json @@ -605,5 +605,26 @@ { "item": "steel_chunk", "count": 3 } ] } + }, + { + "type": "furniture", + "id": "f_charcoal_grill", + "name": "charcoal grill", + "symbol": "R", + "description": "A staple of the American backyard. A simple metal container on legs built to hold charcoal for grilling.", + "color": "light_gray", + "move_cost_mod": 2, + "coverage": 40, + "required_str": 3, + "examine_action": "fireplace", + "flags": [ "TRANSPARENT", "MOUNTABLE", "PLACE_ITEM", "CONTAINER", "FIRE_CONTAINER", "BASHABLE" ], + "deconstruct": { "items": [ { "item": "scrap", "count": 3 }, { "item": "pipe", "charges": [ 3, 4 ] } ] }, + "bash": { + "str_min": 6, + "str_max": 40, + "sound": "smash!", + "sound_fail": "whump.", + "items": [ { "item": "scrap", "count": [ 1, 3 ] }, { "item": "pipe", "charges": [ 1, 4 ] } ] + } } ] diff --git a/data/json/furniture_and_terrain/furniture-decorative.json b/data/json/furniture_and_terrain/furniture-decorative.json index e4a2b4098c47c..2a45e39288c69 100644 --- a/data/json/furniture_and_terrain/furniture-decorative.json +++ b/data/json/furniture_and_terrain/furniture-decorative.json @@ -205,5 +205,299 @@ { "item": "pipe", "count": [ 0, 1 ] } ] } + }, + { + "type": "furniture", + "id": "f_sandwich_board", + "name": "sandwich board", + "symbol": "^", + "description": "Read it. Deals Ahead.", + "looks_like": "f_sign", + "color": "brown", + "examine_action": "sign", + "move_cost_mod": 1, + "coverage": 40, + "required_str": 3, + "flags": [ "TRANSPARENT", "FLAMMABLE_ASH", "ORGANIC", "MOUNTABLE", "SIGN" ], + "deconstruct": { "items": [ { "item": "2x4", "count": 3 }, { "item": "nail", "charges": [ 4, 6 ] } ] }, + "bash": { + "str_min": 6, + "str_max": 40, + "sound": "smash!", + "sound_fail": "whump.", + "items": [ { "item": "2x4", "count": [ 1, 2 ] }, { "item": "nail", "charges": [ 2, 4 ] }, { "item": "splinter", "count": 2 } ] + } + }, + { + "type": "furniture", + "id": "f_flamingo_decor", + "name": "flamingo decoration", + "symbol": "%", + "description": "Classy or trashy? You decide.", + "color": "pink", + "move_cost_mod": 1, + "coverage": 10, + "required_str": -1, + "deployed_item": "decorative_flamingo", + "examine_action": "deployed_furniture", + "flags": [ "TRANSPARENT", "FLAMMABLE_ASH" ], + "bash": { + "str_min": 5, + "str_max": 16, + "sound": "thump!", + "sound_fail": "whack!", + "items": [ { "item": "plastic_chunk", "count": [ 1, 3 ] } ] + } + }, + { + "type": "furniture", + "id": "f_birdfeeder", + "name": "bird feeder", + "description": "A small hanging bird feeder with a stake.", + "symbol": "T", + "color": "light_gray", + "move_cost_mod": -1, + "required_str": -1, + "flags": [ "PLACE_ITEM", "TRANSPARENT" ], + "bash": { + "str_min": 10, + "str_max": 40, + "sound": "smash!", + "sound_fail": "thump.", + "items": [ + { "item": "splinter", "count": [ 1, 2 ] }, + { "item": "pipe", "count": [ 1, 2 ] }, + { "item": "wire", "charges": [ 1, 2 ] } + ] + } + }, + { + "type": "furniture", + "id": "f_traffic_cone", + "name": "traffic cone", + "description": "A small traffic cone.", + "symbol": "^", + "color": "red", + "move_cost_mod": 1, + "required_str": 1, + "flags": [ "TRANSPARENT", "SHORT" ], + "bash": { + "str_min": 5, + "str_max": 40, + "sound": "whump!", + "sound_fail": "thump.", + "items": [ { "item": "plastic_chunk", "count": [ 1, 2 ] } ] + } + }, + { + "type": "furniture", + "id": "f_taxidermy_bear", + "name": "bear taxidermy statue", + "description": "A large taxidermied bear.", + "symbol": "B", + "color": "brown", + "move_cost_mod": -1, + "required_str": 15, + "flags": [ "BASHABLE", "FLAMMABLE_ASH" ], + "bash": { + "str_min": 8, + "str_max": 40, + "sound": "Crack!", + "sound_fail": "thump.", + "items": [ + { "item": "splinter", "count": [ 1, 2 ] }, + { "item": "leather", "count": [ 1, 2 ] }, + { "item": "wire", "charges": [ 1, 1 ] } + ] + } + }, + { + "type": "furniture", + "id": "f_foodperson_cutout", + "name": "foodperson cutout", + "symbol": "8", + "description": "A large life-size cutout of FoodPerson.", + "color": "white", + "move_cost_mod": 2, + "coverage": 80, + "required_str": 1, + "flags": [ "FLAMMABLE_ASH", "ORGANIC", "SIGN" ], + "deconstruct": { "items": [ { "item": "paper", "charges": 15 } ] }, + "bash": { + "str_min": 5, + "str_max": 40, + "sound": "smash!", + "sound_fail": "whump.", + "items": [ { "item": "paper", "charges": [ 5, 15 ] } ] + } + }, + { + "type": "furniture", + "id": "f_fish_bowl", + "name": "fishbowl with fish", + "symbol": "O", + "description": "A large round bowl with a live goldfish in it.", + "color": "blue", + "move_cost_mod": 7, + "coverage": 10, + "required_str": 3, + "deconstruct": { "items": [ { "item": "fishbowl", "count": 1 } ] }, + "max_volume": 6000, + "deployed_item": "fishbowl_filled", + "examine_action": "deployed_furniture", + "flags": [ "TRANSPARENT", "EASY_DECONSTRUCT", "BASHABLE" ], + "bash": { + "str_min": 2, + "str_max": 15, + "sound": "plink!", + "sound_fail": "clink.", + "items": [ { "item": "glass_shard", "charges": [ 2, 5 ] } ] + } + }, + { + "type": "furniture", + "id": "f_dollhouse", + "name": "dollhouse", + "symbol": "A", + "description": "A well-made scale home for dolls.", + "color": "white", + "move_cost_mod": 2, + "coverage": 30, + "required_str": 3, + "flags": [ "TRANSPARENT", "FLAMMABLE_ASH", "ORGANIC", "MOUNTABLE" ], + "deconstruct": { "items": [ { "item": "wood_panel", "count": 2 }, { "item": "nail", "charges": [ 4, 6 ] } ] }, + "bash": { + "str_min": 4, + "str_max": 20, + "sound": "smash!", + "sound_fail": "whump.", + "items": [ + { "item": "wood_panel", "count": [ 1, 2 ] }, + { "item": "nail", "charges": [ 2, 4 ] }, + { "item": "splinter", "count": 2 } + ] + } + }, + { + "type": "furniture", + "id": "f_huge_teddy_bear", + "name": "huge teddy bear", + "symbol": "&", + "description": "An enormous stuffed teddy bear.", + "color": "brown", + "move_cost_mod": 2, + "coverage": 65, + "required_str": 5, + "comfort": 2, + "floor_bedding_warmth": 500, + "bonus_fire_warmth_feet": 1000, + "deployed_item": "huge_teddy_bear", + "examine_action": "deployed_furniture", + "flags": [ "TRANSPARENT", "FLAMMABLE_ASH", "CAN_SIT", "ORGANIC" ], + "bash": { + "str_min": 5, + "str_max": 16, + "sound": "thump!", + "sound_fail": "whack!", + "items": [ { "item": "rag", "count": [ 15, 25 ] }, { "item": "cotton_ball", "charges": [ 1, 5 ] } ] + } + }, + { + "type": "furniture", + "id": "f_drumset", + "name": "drum set", + "description": "A full-size drum set.", + "symbol": "%", + "color": "white", + "move_cost_mod": 2, + "coverage": 60, + "required_str": 14, + "flags": [ "BASHABLE" ], + "bash": { + "str_min": 12, + "str_max": 40, + "sound": "BUMP!", + "sound_fail": "Ba-dum Tss.", + "items": [ { "item": "scrap", "count": [ 1, 4 ] } ] + } + }, + { + "type": "furniture", + "id": "f_tv_tray", + "name": "tv tray", + "symbol": "T", + "description": "A small plastic table made of thin metal and plastic. Perfect for eating TV dinners in front of the tube, if there were anything on the air. Fold to carry.", + "color": "light_gray", + "move_cost_mod": 1, + "coverage": 10, + "required_str": 1, + "deployed_item": "folded_tv_tray", + "examine_action": "deployed_furniture", + "flags": [ "TRANSPARENT", "FLAMMABLE_ASH", "FLAT_SURF", "PLACE_ITEM", "SHORT", "BASHABLE" ], + "bash": { + "str_min": 5, + "str_max": 16, + "sound": "thump!", + "sound_fail": "whack!", + "items": [ { "item": "plastic_chunk", "count": [ 1, 3 ] } ] + } + }, + { + "type": "furniture", + "id": "f_litterbox", + "name": "litterbox", + "symbol": "_", + "description": "A litterbox for cats to go to the bathroom in.", + "color": "white", + "move_cost_mod": 1, + "coverage": 5, + "required_str": 2, + "deployed_item": "litterbox", + "examine_action": "deployed_furniture", + "flags": [ "TRANSPARENT", "FLAMMABLE", "PLACE_ITEM" ], + "bash": { + "str_min": 5, + "str_max": 16, + "sound": "thump!", + "sound_fail": "whack!", + "items": [ { "item": "plastic_chunk", "count": [ 1, 2 ] } ] + } + }, + { + "type": "furniture", + "id": "f_postal_box", + "name": "postal box", + "description": "A big blue box you put mail in.", + "symbol": "&", + "color": "blue", + "move_cost_mod": 2, + "coverage": 60, + "required_str": 14, + "flags": [ "BASHABLE" ], + "bash": { + "str_min": 10, + "str_max": 40, + "sound": "Clang!", + "sound_fail": "Ding.", + "items": [ { "item": "steel_chunk", "count": [ 1, 2 ] } ] + } + }, + { + "type": "furniture", + "id": "f_fire_hydrant", + "name": "fire hydrant", + "description": "A fire hydrant. Firefighters used to use these as a source of water to fight fires.", + "symbol": "&", + "color": "red", + "move_cost_mod": 2, + "required_str": -1, + "flags": [ "BASHABLE", "SHORT" ], + "bash": { + "str_min": 25, + "str_max": 40, + "sound": "Clang!", + "sound_fail": "Ding.", + "items": [ { "item": "steel_chunk", "count": [ 1, 2 ] } ] + } } ] diff --git a/data/json/furniture_and_terrain/furniture-seats.json b/data/json/furniture_and_terrain/furniture-seats.json index f1bb34e80ba5c..732a53455eef8 100644 --- a/data/json/furniture_and_terrain/furniture-seats.json +++ b/data/json/furniture_and_terrain/furniture-seats.json @@ -199,6 +199,219 @@ "items": [ { "item": "2x4", "count": [ 1, 3 ] }, { "item": "nail", "charges": [ 2, 6 ] }, { "item": "splinter", "count": 1 } ] } }, + { + "type": "furniture", + "id": "f_floralprint_armchair", + "name": "floral print armchair", + "symbol": "H", + "description": "A more comfortable way of sitting down. This reminds you of a nursing home.", + "looks_like": "f_armchair", + "color": "pink", + "move_cost_mod": 1, + "coverage": 45, + "comfort": 3, + "floor_bedding_warmth": 500, + "bonus_fire_warmth_feet": 1000, + "required_str": 7, + "deconstruct": { + "items": [ { "item": "2x4", "count": 10 }, { "item": "rag", "count": [ 30, 33 ] }, { "item": "nail", "charges": [ 6, 8 ] } ] + }, + "max_volume": 4000, + "flags": [ "TRANSPARENT", "FLAMMABLE_ASH", "ORGANIC", "PLACE_ITEM", "MOUNTABLE", "CAN_SIT" ], + "bash": { + "str_min": 12, + "str_max": 40, + "sound": "smash!", + "sound_fail": "whump.", + "items": [ + { "item": "2x4", "count": [ 1, 3 ] }, + { "item": "nail", "charges": [ 2, 6 ] }, + { "item": "splinter", "count": 1 }, + { "item": "rag", "count": [ 20, 30 ] } + ] + } + }, + { + "type": "furniture", + "id": "f_beanbag_chair", + "name": "beanbag chair", + "symbol": "#", + "description": "A more comfortable way of sitting down. It smells like junk food and incense.", + "color": "blue", + "move_cost_mod": 1, + "coverage": 35, + "comfort": 3, + "floor_bedding_warmth": 500, + "bonus_fire_warmth_feet": 1000, + "required_str": 7, + "deconstruct": { "items": [ { "item": "rag", "count": [ 25, 30 ] }, { "item": "cotton_ball", "charges": [ 2, 5 ] } ] }, + "max_volume": 3000, + "flags": [ "TRANSPARENT", "FLAMMABLE_ASH", "ORGANIC", "PLACE_ITEM", "MOUNTABLE", "CAN_SIT", "SHORT" ], + "bash": { + "str_min": 8, + "str_max": 20, + "sound": "smash!", + "sound_fail": "whump.", + "items": [ { "item": "cotton_ball", "charges": [ 2, 5 ] }, { "item": "rag", "count": [ 20, 30 ] } ] + } + }, + { + "type": "furniture", + "id": "f_purple_velvet_chair", + "name": "purple velvet chair", + "symbol": "H", + "description": "A more comfortable way of sitting down. This is peak opulence.", + "looks_like": "f_chair", + "color": "magenta", + "move_cost_mod": 1, + "coverage": 45, + "comfort": 2, + "floor_bedding_warmth": 500, + "bonus_fire_warmth_feet": 1000, + "required_str": 7, + "deconstruct": { + "items": [ { "item": "2x4", "count": 10 }, { "item": "felt_patch", "count": [ 2, 4 ] }, { "item": "nail", "charges": [ 6, 8 ] } ] + }, + "max_volume": 3000, + "flags": [ "TRANSPARENT", "FLAMMABLE_ASH", "ORGANIC", "PLACE_ITEM", "MOUNTABLE", "CAN_SIT" ], + "bash": { + "str_min": 12, + "str_max": 40, + "sound": "smash!", + "sound_fail": "whump.", + "items": [ + { "item": "2x4", "count": [ 1, 3 ] }, + { "item": "nail", "charges": [ 2, 6 ] }, + { "item": "splinter", "count": 1 }, + { "item": "felt_patch", "count": [ 1, 4 ] } + ] + } + }, + { + "type": "furniture", + "id": "f_plastic_lawn_chair", + "name": "plastic lawn chair", + "symbol": "H", + "description": "A cheap plastic chair.", + "looks_like": "f_chair", + "color": "white", + "move_cost_mod": 1, + "coverage": 35, + "comfort": 1, + "floor_bedding_warmth": 500, + "bonus_fire_warmth_feet": 1000, + "required_str": 2, + "deconstruct": { "items": [ { "item": "plastic_chunk", "count": [ 3, 6 ] } ] }, + "max_volume": 3000, + "flags": [ "TRANSPARENT", "FLAMMABLE", "PLACE_ITEM", "MOUNTABLE", "CAN_SIT", "SHORT" ], + "bash": { + "str_min": 8, + "str_max": 20, + "sound": "crack!", + "sound_fail": "whump.", + "items": [ { "item": "plastic_chunk", "count": [ 2, 6 ] } ] + } + }, + { + "type": "furniture", + "id": "f_foot_stool", + "name": "footstool", + "symbol": "0", + "description": "A small piece of furniture to put your feet on.", + "color": "red", + "move_cost_mod": 1, + "coverage": 15, + "comfort": 1, + "floor_bedding_warmth": 0, + "bonus_fire_warmth_feet": 1000, + "required_str": 4, + "deconstruct": { + "items": [ { "item": "2x4", "count": 4 }, { "item": "rag", "count": [ 15, 25 ] }, { "item": "nail", "charges": [ 6, 8 ] } ] + }, + "max_volume": 2000, + "flags": [ "TRANSPARENT", "FLAMMABLE_ASH", "PLACE_ITEM", "ORGANIC", "MOUNTABLE", "CAN_SIT" ], + "bash": { + "str_min": 5, + "str_max": 40, + "sound": "smash!", + "sound_fail": "whump.", + "items": [ + { "item": "2x4", "count": [ 1, 3 ] }, + { "item": "nail", "charges": [ 2, 6 ] }, + { "item": "splinter", "count": 1 }, + { "item": "rag", "count": [ 5, 20 ] } + ] + } + }, + { + "type": "furniture", + "id": "f_leather_chair", + "name": "leather chair", + "symbol": "H", + "description": "A more comfortable way of sitting down. This chair can be sticky in the summer.", + "looks_like": "f_chair", + "color": "brown", + "move_cost_mod": 2, + "coverage": 45, + "comfort": 2, + "floor_bedding_warmth": 500, + "bonus_fire_warmth_feet": 1000, + "required_str": 7, + "deconstruct": { + "items": [ { "item": "2x4", "count": 10 }, { "item": "leather", "count": [ 2, 3 ] }, { "item": "nail", "charges": [ 6, 8 ] } ] + }, + "max_volume": 2000, + "flags": [ "TRANSPARENT", "FLAMMABLE_ASH", "ORGANIC", "PLACE_ITEM", "MOUNTABLE", "CAN_SIT" ], + "bash": { + "str_min": 12, + "str_max": 40, + "sound": "smash!", + "sound_fail": "whump.", + "items": [ + { "item": "2x4", "count": [ 1, 3 ] }, + { "item": "nail", "charges": [ 2, 6 ] }, + { "item": "splinter", "count": 1 }, + { "item": "leather", "count": [ 1, 3 ] } + ] + } + }, + { + "type": "furniture", + "id": "f_gaming_chair", + "name": "gaming chair", + "symbol": "A", + "description": "An angular chair made for sitting in front of a computer for a long time.", + "looks_like": "f_chair", + "color": "dark_gray", + "move_cost_mod": 2, + "coverage": 65, + "comfort": 2, + "floor_bedding_warmth": 500, + "bonus_fire_warmth_feet": 1000, + "required_str": 3, + "deconstruct": { + "items": [ + { "item": "pipe", "count": 2 }, + { "item": "rag", "count": [ 10, 20 ] }, + { "item": "nail", "charges": [ 2, 6 ] }, + { "item": "plastic_chunk", "count": [ 1, 2 ] } + ] + }, + "max_volume": 2000, + "flags": [ "TRANSPARENT", "FLAMMABLE_ASH", "ORGANIC", "PLACE_ITEM", "MOUNTABLE", "CAN_SIT" ], + "bash": { + "str_min": 12, + "str_max": 40, + "sound": "smash!", + "sound_fail": "whump.", + "items": [ + { "item": "pipe", "count": [ 0, 2 ] }, + { "item": "nail", "charges": [ 2, 6 ] }, + { "item": "plastic_chunk", "count": 1 }, + { "item": "rag", "count": [ 5, 15 ] } + ] + } + }, { "type": "furniture", "id": "f_logstool", diff --git a/data/json/furniture_and_terrain/furniture-terrains.json b/data/json/furniture_and_terrain/furniture-terrains.json index a8274256c5ca0..c7e9df5c9d2d1 100644 --- a/data/json/furniture_and_terrain/furniture-terrains.json +++ b/data/json/furniture_and_terrain/furniture-terrains.json @@ -668,6 +668,50 @@ ] } }, + { + "type": "furniture", + "id": "f_wine_rack", + "name": "wine rack", + "symbol": "v", + "description": "A rack built to hold many wine bottles.", + "color": "brown", + "move_cost_mod": -1, + "coverage": 60, + "required_str": 4, + "flags": [ "FLAMMABLE_ASH", "ORGANIC", "MOUNTABLE", "BASHABLE" ], + "deconstruct": { "items": [ { "item": "2x4", "count": 3 }, { "item": "nail", "charges": [ 4, 6 ] } ] }, + "bash": { + "str_min": 6, + "str_max": 40, + "sound": "smash!", + "sound_fail": "whump.", + "items": [ { "item": "2x4", "count": [ 1, 2 ] }, { "item": "nail", "charges": [ 2, 4 ] }, { "item": "splinter", "count": 2 } ] + } + }, + { + "type": "furniture", + "id": "f_baby_gate_c", + "name": "closed baby gate", + "description": "This is a gate meant to be placed in doorways or hallways to keep babies and sometimes pets out.", + "symbol": "+", + "color": "white", + "move_cost_mod": 5, + "coverage": 30, + "required_str": -1, + "flags": [ "NOITEM", "DOOR", "PERMEABLE", "FLAMMABLE", "MOUNTABLE", "TRANSPARENT" ], + "open": "f_baby_gate_o", + "deployed_item": "baby_gate", + "examine_action": "deployed_furniture", + "deconstruct": { "items": [ { "item": "plastic_chunk", "count": 10 }, { "item": "scrap", "count": 2 } ] }, + "bash": { + "str_min": 3, + "str_max": 8, + "sound": "whang!", + "sound_fail": "clunk.", + "sound_vol": 15, + "items": [ { "item": "plastic_chunk", "count": [ 3, 10 ] }, { "item": "scrap", "count": 2 } ] + } + }, { "type": "furniture", "id": "f_street_light", @@ -695,6 +739,29 @@ ] } }, + { + "type": "furniture", + "id": "f_baby_gate_o", + "name": "open baby gate", + "description": "This is a gate meant to be placed in doorways or hallways to keep babies and sometimes pets out.", + "symbol": ".", + "color": "white", + "move_cost_mod": 0, + "required_str": -1, + "flags": [ "TRANSPARENT", "FLAMMABLE_ASH", "FLAT" ], + "close": "f_baby_gate_c", + "deployed_item": "baby_gate", + "examine_action": "deployed_furniture", + "deconstruct": { "items": [ { "item": "plastic_chunk", "count": 10 }, { "item": "scrap", "count": 2 } ] }, + "bash": { + "str_min": 3, + "str_max": 8, + "sound": "whang!", + "sound_fail": "clunk.", + "sound_vol": 15, + "items": [ { "item": "plastic_chunk", "count": [ 3, 10 ] }, { "item": "scrap", "count": 2 } ] + } + }, { "type": "furniture", "id": "f_traffic_light", @@ -722,6 +789,28 @@ ] } }, + { + "type": "furniture", + "id": "f_turnstile", + "name": "turnstile", + "description": "This is a gate meant to only let one person at a time through.", + "symbol": "+", + "color": "light_gray", + "move_cost_mod": 6, + "coverage": 20, + "required_str": -1, + "flags": [ "NOITEM", "PERMEABLE", "TRANSPARENT" ], + "examine_action": "deployed_furniture", + "deconstruct": { "items": [ { "item": "steel_chunk", "count": 5 }, { "item": "scrap", "count": 2 } ] }, + "bash": { + "str_min": 14, + "str_max": 20, + "sound": "whang!", + "sound_fail": "clang!", + "sound_vol": 15, + "items": [ { "item": "steel_chunk", "count": [ 3, 5 ] }, { "item": "scrap", "count": 1 } ] + } + }, { "type": "furniture", "id": "f_utility_pole", diff --git a/data/json/items/generic.json b/data/json/items/generic.json index aa79018eea7e0..75e47570a351d 100644 --- a/data/json/items/generic.json +++ b/data/json/items/generic.json @@ -2939,5 +2939,139 @@ "color": "green", "use_action": "DISASSEMBLE", "flags": [ "NO_REPAIR" ] + }, + { + "id": "fishbowl_filled", + "type": "GENERIC", + "category": "other", + "name": "filled fishbowl", + "name_plural": "filled fishbowls", + "description": "A large glass fishbowl filled with water and a live fish swimming around.", + "weight": "1250 g", + "volume": "3 L", + "price": 0, + "material": "glass", + "symbol": "o", + "color": "blue", + "use_action": { "type": "deploy_furn", "furn_type": "f_fish_bowl" } + }, + { + "id": "decorative_flamingo", + "type": "GENERIC", + "category": "other", + "name": "decorative flamingo", + "name_plural": "decorative flamingos", + "description": "A plastic flamingo. Trashy? Classy? You decide.", + "weight": "700 g", + "volume": "2 L", + "price": 0, + "material": "plastic", + "symbol": "p", + "color": "pink", + "use_action": { "type": "deploy_furn", "furn_type": "f_flamingo_decor" } + }, + { + "id": "fishbowl", + "type": "GENERIC", + "category": "other", + "name": "fishbowl", + "name_plural": "fishbowls", + "description": "A large round glass fishbowl. This one is empty.", + "weight": "300 g", + "volume": "3 L", + "price": 0, + "material": "glass", + "symbol": "o", + "color": "white" + }, + { + "id": "instant_goldfish", + "type": "GENERIC", + "category": "other", + "name": "instant goldfish", + "name_plural": "instant goldfish", + "description": "A small packet containing an even smaller egg that works similarly to sea monkeys, only this grows to a very small (too small to eat) goldfish. All it needs is a fishbowl.", + "weight": "35 g", + "volume": "0 L", + "price": 0, + "material": "paper", + "symbol": ",", + "color": "yellow" + }, + { + "id": "folded_tv_tray", + "type": "GENERIC", + "category": "other", + "name": "folded tv tray", + "name_plural": "folded tv trays", + "description": "A small plastic table made of thin metal and plastic. Perfect for eating TV dinners in front of the tube, if there were anything on the air. Unfold to place.", + "weight": "1133 g", + "volume": "5 L", + "price": 0, + "material": "plastic", + "symbol": "/", + "color": "dark_gray", + "use_action": { "type": "deploy_furn", "furn_type": "f_tv_tray" } + }, + { + "id": "litterbox", + "type": "GENERIC", + "category": "other", + "name": "litterbox", + "name_plural": "litterboxes", + "description": "A litterbox for cats to go to the bathroom in.", + "weight": "453 g", + "volume": "3 L", + "price": 0, + "material": "plastic", + "symbol": "_", + "color": "white", + "use_action": { "type": "deploy_furn", "furn_type": "f_litterbox" } + }, + { + "id": "welcome_mat", + "type": "GENERIC", + "category": "other", + "symbol": "_", + "color": "brown", + "name": "welcome mat", + "name_plural": "welcome mats", + "snippet_category": "welcome_mats", + "description": "A mat from a home's front door.", + "price": 0, + "material": "cotton", + "weight": "1200 g", + "volume": "2 L" + }, + { + "id": "baby_gate", + "type": "GENERIC", + "category": "other", + "name": "baby gate", + "name_plural": "baby gates", + "description": "A gate you can set up. Meant to keep babies and pets inside a specific area.", + "weight": "2041 g", + "volume": "6 L", + "price": 50, + "material": "plastic", + "symbol": "#", + "color": "white", + "use_action": { "type": "deploy_furn", "furn_type": "f_baby_gate_c" } + }, + { + "id": "huge_teddy_bear", + "type": "GENERIC", + "category": "other", + "name": "huge teddy bear", + "name_plural": "huge teddy bears", + "description": "An enormous stuffed teddy bear.", + "looks_like": "talking_doll", + "weight": "2000 g", + "volume": "30 L", + "price": 50, + "material": "cotton", + "symbol": "%", + "color": "brown", + "use_action": { "type": "deploy_furn", "furn_type": "f_huge_teddy_bear" } } ] diff --git a/data/json/mapgen/basement/basement_survival.json b/data/json/mapgen/basement/basement_survival.json index a5fdf408baf6a..f52e20493e1ad 100644 --- a/data/json/mapgen/basement/basement_survival.json +++ b/data/json/mapgen/basement/basement_survival.json @@ -39,7 +39,7 @@ " |XXx..X.|{..{|------ ", " |X......|----|....<| ", " |-|...............<| ", - " |---..........|--| ", + " |---oo........|--| ", " |----------| ", " ", " ", @@ -66,6 +66,7 @@ "s": "t_rock_floor", "t": "t_rock_floor", "x": "t_rock_floor", + "o": "t_rock_floor", "y": "t_rock_floor", "{": "t_rock_floor", "|": "t_wall" @@ -83,6 +84,7 @@ "k": "f_sink", "s": "f_sandbag_half", "x": "f_crate_c", + "o": "f_wine_rack", "y": "f_woodstove", "{": "f_rack" }, diff --git a/data/json/mapgen/house/house05.json b/data/json/mapgen/house/house05.json index d81820c4df44a..24e058a6cea4c 100644 --- a/data/json/mapgen/house/house05.json +++ b/data/json/mapgen/house/house05.json @@ -26,9 +26,9 @@ ".|----+----------+----|.", ".|d | l|.", ".|@@ |@@ |.", - ".|@@ |@@ |.", + ".|@@ H |@@ |.", ".| | |.", - ".| | d|.", + ".| J | d|.", ".----vv---------vv-----.", "........................" ], @@ -59,6 +59,8 @@ "K": "f_armchair", "O": "f_oven", "P": "f_mailbox", + "H": "f_dollhouse", + "J": "f_huge_teddy_bear", "S": "f_sink", "c": "f_counter", "1": "f_cupboard", diff --git a/data/json/mapgen/house/house07.json b/data/json/mapgen/house/house07.json index 5f7854b000736..6e0542588bf68 100644 --- a/data/json/mapgen/house/house07.json +++ b/data/json/mapgen/house/house07.json @@ -16,7 +16,7 @@ ".|o h | |.", ".|o |+------|.", ".| | 1|.", - ".| ? o| lc2 5v.", + ".| H o| lc2 5v.", ".vn ? o| c3 Ov.", ".vn ? o| lc4 f|.", ".| ? + c|.", @@ -54,6 +54,7 @@ "furniture": { "0": "f_fireplace", "?": "f_sofa", + "H": "f_purple_velvet_chair", "@": "f_bed", "B": "f_bathtub", "D": "f_trashcan", diff --git a/data/json/mapgen/house/house08.json b/data/json/mapgen/house/house08.json index e50d4282f8aa2..e844c07d7a7d6 100644 --- a/data/json/mapgen/house/house08.json +++ b/data/json/mapgen/house/house08.json @@ -13,7 +13,7 @@ ".#| k + nnn hv.", ".#| | h|.", ".|-----+| v.", - ".v | h v.", + ".v | H v.", ".|d @@ | h h |.", ".v @@c | | ---nn-|.", ".|-----+- | 4|.", @@ -68,6 +68,7 @@ "O": "f_oven", "P": "f_mailbox", "S": "f_sink", + "H": "f_floralprint_armchair", "l": "f_stool", "c": "f_counter", "d": "f_dresser", diff --git a/data/json/mapgen/house/house09.json b/data/json/mapgen/house/house09.json index 7818e773dda45..1933e02c71d04 100644 --- a/data/json/mapgen/house/house09.json +++ b/data/json/mapgen/house/house09.json @@ -15,7 +15,7 @@ ".----vv----|? n D|.", ".| |c |.", ".| ?????? | h v.", - ".|o + nnnh v.", + ".|o H + nnnh v.", ".|o | hnnn v.", ".|o | h v.", ".| nnnn | CC|.", @@ -59,6 +59,7 @@ "5": "f_sink", "D": "f_trashcan", "K": "f_armchair", + "H": "f_tv_tray", "O": "f_oven", "S": "f_sink", "l": "f_stool", diff --git a/data/json/mapgen/house/house10.json b/data/json/mapgen/house/house10.json index 4173236e33de9..2e03366cf48fb 100644 --- a/data/json/mapgen/house/house10.json +++ b/data/json/mapgen/house/house10.json @@ -15,7 +15,7 @@ "..v hnnh vsssssss.....", "..v hnnh |sssssss.....", "..| hnnh |;;-|-vvv-|..", - "..| P| d|..", + "..| P| D|..", "..|--| ----| | @@v..", "..v + + @@v..", "..|tS|c ?| |..", @@ -60,6 +60,7 @@ "S": "f_sink", "c": "f_counter", "C": "f_cupboard", + "D": "f_gaming_chair", "1": "f_cupboard", "2": "f_cupboard", "3": "f_cupboard", diff --git a/data/json/mapgen/house/house16.json b/data/json/mapgen/house/house16.json index a9d8e427cace8..1c901439f978b 100644 --- a/data/json/mapgen/house/house16.json +++ b/data/json/mapgen/house/house16.json @@ -11,7 +11,7 @@ "...............ssp......", "...............ss.......", "...............ss.......", - "...............ss.......", + "...q....q......ss.......", "..|--vv----vv--;;----|..", "..|P + ????|..", "..| | PP ? ?v..", @@ -28,7 +28,7 @@ "..|Pd@@ + |..", "..|--vv--------;;----|..", "........................", - "........................", + ".........r..............", "........................", "........................" ], @@ -45,6 +45,8 @@ "-": "t_wall", ".": "t_grass", "p": "t_grass", + "q": "t_grass", + "r": "t_grass", ";": "t_door_locked", "s": "t_sidewalk", "v": "t_window_domestic", @@ -74,6 +76,8 @@ "h": "f_chair", "k": "f_desk", "n": "f_table", + "q": "f_flamingo_decor", + "r": "f_birdfeeder", "o": "f_bookcase" }, "toilets": { "t": { } }, diff --git a/data/json/mapgen/house/house18.json b/data/json/mapgen/house/house18.json index bf8068228110d..75c67397ff4cd 100644 --- a/data/json/mapgen/house/house18.json +++ b/data/json/mapgen/house/house18.json @@ -28,7 +28,7 @@ ".vd |-+-|-+-| @@v..", ".vd |SiB|BiS| @@v..", ".| |tiB|Bit| d|..", - ".| @@ |---|---| h |..", + ".| @@ |---|---| H |..", ".|d@@n + r|r + kkk |..", ".|-vv--|---|---|--vv-|.." ], @@ -61,6 +61,7 @@ "4": "f_cupboard", "5": "f_sink", "L": "f_locker", + "H": "f_leather_chair", "O": "f_oven", "p": "f_mailbox", "Y": "f_rack_coat", diff --git a/data/json/mapgen/house/house19.json b/data/json/mapgen/house/house19.json index e4701407b95fc..416837259a6d9 100644 --- a/data/json/mapgen/house/house19.json +++ b/data/json/mapgen/house/house19.json @@ -16,11 +16,11 @@ ".q.|@@ hk|ssss| o|.q.", ".q.v k|-;;-|d @@|.q.", ".q.v |Y P|d @@|.q.", - ".q.| + + |.q.", + ".q.| j + + |.q.", ".q.|+|-+-| |-+-|+|.q.", ".q.| |BiS|o +iiB| |.q.", ".q.|r|Bit|o |StB|r|.q.", - ".q.|-|---| |---|-|.q.", + ".q.|-|---|_ |---|-|.q.", ".q.| hnnh C|.q.", ".q.|c ? hnnh f|.q.", ".q.|c nn ? 1|.q.", @@ -57,6 +57,7 @@ "furniture": { "?": "f_sofa", "@": "f_bed", + "_": "f_litterbox", "p": "f_mailbox", "Y": "f_rack_coat", "B": "f_bathtub", @@ -73,6 +74,7 @@ "d": "f_dresser", "f": "f_fridge", "h": "f_chair", + "j": "f_beanbag_chair", "k": "f_desk", "n": "f_table", "o": "f_bookcase", diff --git a/data/json/mapgen/house/house_garage4.json b/data/json/mapgen/house/house_garage4.json index 258306f4edd58..4480344a04f04 100644 --- a/data/json/mapgen/house/house_garage4.json +++ b/data/json/mapgen/house/house_garage4.json @@ -26,7 +26,7 @@ ".| + + c|.", ".-----|---+------+----|.", ".w.. |o + h|.", - ".w.. h|o h| @@|.", + ".w.. h|o Hh| @@|.", ".w.. h| ?| @@|.", ".w.. ; h???| d|.", ".Iwwww--vv-------vv----.", @@ -49,6 +49,7 @@ "?": "t_floor", "@": "t_floor", "B": "t_floor", + "H": "t_floor", "I": "t_column", "O": "t_floor", "S": "t_floor", @@ -69,6 +70,7 @@ "?": "f_sofa", "@": "f_bed", "B": "f_bathtub", + "H": "f_foot_stool", "P": "f_mailbox", "Y": "f_rack_coat", "l": "f_stool", diff --git a/data/json/mapgen/house/house_porch.json b/data/json/mapgen/house/house_porch.json index ca5e375269780..991715d3eaf91 100644 --- a/data/json/mapgen/house/house_porch.json +++ b/data/json/mapgen/house/house_porch.json @@ -24,7 +24,7 @@ ".|6 hNNNh Kc Ov.", ".|c hNNNh - Sv.", ".|c D DC|.", - ".--vv-- -------+---+--|.", + ".--vv--H-------+---+--|.", "......| |@@ d|t(U|d n|.", "...1..| + |BB(+ @@|.", "......+ | |---|o @@|.", @@ -55,6 +55,7 @@ "B": "t_linoleum_gray", "C": "t_floor", "D": "t_floor", + "H": "t_floor", "I": "t_column", "K": "t_floor", "N": "t_carpet_red", @@ -84,6 +85,7 @@ "B": "f_bathtub", "C": "f_cupboard", "D": "f_trashcan", + "H": "f_baby_gate_c", "K": "f_armchair", "N": "f_table", "O": "f_oven", diff --git a/data/json/mapgen/house/house_rural.json b/data/json/mapgen/house/house_rural.json index 0bd082a7dd74b..ae4c8c0cfc44a 100644 --- a/data/json/mapgen/house/house_rural.json +++ b/data/json/mapgen/house/house_rural.json @@ -106,6 +106,7 @@ "7": "f_null", "F": "f_fridge", "H": "f_armchair", + "K": "f_plastic_lawn_chair", "P": "f_mailbox", "S": "f_null", "T": "f_toilet", @@ -162,7 +163,7 @@ ".#|ffc|aftfw#._____.#.._", "..|Fc&|aftf|...____.....", "..||w|||||||._...__._.s.", - "....._.s###.............", + "....._.s###...K.........", "...##.#.4...#........#7.", "_##7#...#.1...#_..#.....", "...#...._...#7........#." @@ -177,6 +178,7 @@ "7": "t_tree", "F": "t_floor", "H": "t_floor", + "K": "t_grass", "P": "t_grass", "S": "t_sidewalk", "T": "t_floor", diff --git a/data/json/mapgen/house/house_tool_shed.json b/data/json/mapgen/house/house_tool_shed.json index 4863b9c92061d..19f7811fbf743 100644 --- a/data/json/mapgen/house/house_tool_shed.json +++ b/data/json/mapgen/house/house_tool_shed.json @@ -20,8 +20,8 @@ ".|d Ov.", ".|d CfSC|.", ".|--+-|-[---[---v-----|.", - ".vB S| ........q.", - ".|B t| hnnh ........q.", + ".vB S| H ........q.", + ".|B t| ........q.", ".------ hnnh ........q.", ".q....................q.", ".q....................q.", @@ -78,6 +78,7 @@ "B": "f_bathtub", "C": "f_cupboard", "D": "f_trashcan", + "H": "f_charcoal_grill", "Y": "f_rack_coat", "l": "f_stool", "O": "f_oven", diff --git a/data/json/mapgen/motel.json b/data/json/mapgen/motel.json index 109cf2c500d14..cddf9a93ff7af 100644 --- a/data/json/mapgen/motel.json +++ b/data/json/mapgen/motel.json @@ -31,7 +31,7 @@ " 6 |#._________.", " 666|#._________.", " |#._________.", - " BBBB |#._________.", + " BBBBH|#._________.", "-MM-gg------#._________#", ".SS##########._________#", ".SS..........._________#", @@ -73,6 +73,7 @@ "E": "t_floor", "F": "t_floor", "G": "t_floor", + "H": "t_floor", "M": "t_door_glass_c", "S": "t_sidewalk", "W": "t_water_dp", @@ -102,7 +103,8 @@ "D": "f_trashcan", "E": "f_cupboard", "F": "f_fridge", - "G": "f_oven" + "G": "f_oven", + "H": "f_taxidermy_bear" }, "items": { "Y": { "item": "coat_rack", "chance": 35, "repeat": [ 1, 4 ] } }, "place_items": [ { "item": "traveler", "x": [ 6, 6 ], "y": [ 6, 6 ], "chance": 90 } ], diff --git a/data/json/mapgen/petstore.json b/data/json/mapgen/petstore.json index 8d5d1c9ca9617..aafa2b9fe6952 100644 --- a/data/json/mapgen/petstore.json +++ b/data/json/mapgen/petstore.json @@ -17,8 +17,8 @@ ".|-- --|2222222222222", ".| 4 |....322223...", ".--+-11----------gg-|...", - ".| CCC7 oo |...", - ".| A A 7 oo |...", + ".|J CCC7 oo |...", + ".|J A A 7 oo |...", ".| A A A A -6gg6|...", ".1 A A A A oo |...", ".| A A oo 1...", @@ -58,6 +58,7 @@ "G": "f_locker", "H": "f_table", "I": "f_sofa", + "J": "f_fish_bowl", "d": "f_desk", "K": "f_counter", "L": "f_counter", diff --git a/data/json/mapgen/roadstop.json b/data/json/mapgen/roadstop.json index 64655e37e63ef..0c76d3c7fd948 100644 --- a/data/json/mapgen/roadstop.json +++ b/data/json/mapgen/roadstop.json @@ -10,7 +10,7 @@ "........................", ".........222222.........", "........22222222........", - ".......2222222222.......", + "......H2222222222H......", ".......2222222222.......", ".......2222..2222.......", "......S2222..2222S......", @@ -42,9 +42,10 @@ "7": "t_floor", "8": "t_dirt", "A": "t_floor", + "H": "t_grass", "S": "t_sidewalk" }, - "furniture": { "6": "f_table", "7": "f_toilet", "8": "f_trashcan", "A": "f_sink" }, + "furniture": { "6": "f_table", "7": "f_toilet", "8": "f_trashcan", "A": "f_sink", "H": "f_traffic_cone" }, "toilets": { "7": { } }, "place_items": [ { "item": "magazines", "x": [ 11, 12 ], "y": 9, "chance": 80 }, diff --git a/data/json/mapgen/s_furniture.json b/data/json/mapgen/s_furniture.json index 54a55ea410dad..e89aac11f47a3 100644 --- a/data/json/mapgen/s_furniture.json +++ b/data/json/mapgen/s_furniture.json @@ -7,7 +7,7 @@ "object": { "fill_ter": "t_floor", "rows": [ - " ", + " K ", " |ggggggggg++ggggggggg| ", " |.CphpH.c....O.O.&.&.| ", " |B.....kc...........y| ", @@ -21,7 +21,7 @@ " |h..................B| ", " |h......EE..CC..&&..B| ", " |H......EE..CC..&&..B| ", - " |H..................q| ", + " |L..................q| ", " |...yffBBBBBBBBBBBBBB| ", " |DD------------------| ", " |...............D 4 ", @@ -37,6 +37,7 @@ "+": "t_door_c", "-": "t_wall_w", "D": "t_door_locked", + "K": "t_pavement", "g": "t_wall_glass", "|": "t_wall_w", "<": "t_ladder_up", @@ -49,6 +50,8 @@ "C": "f_cupboard", "E": "f_bookcase", "H": "f_armchair", + "K": "f_sandwich_board", + "L": "f_leather_chair", "y": [ "f_indoor_plant_y", "f_indoor_plant" ], "O": "f_oven", "b": "f_bed", diff --git a/data/json/mapgen/s_grocery.json b/data/json/mapgen/s_grocery.json index a618880db0e21..7bfd5fa2ea8ba 100644 --- a/data/json/mapgen/s_grocery.json +++ b/data/json/mapgen/s_grocery.json @@ -19,7 +19,7 @@ "__|r r|r r|r f|7 |_", "__|r r|r r|r f|7 |_", "__|r r|r r|r f|t |_", - "|--- |_", + "|--- H|_", "|ll+ |r r|t t|r r|_", "|TS|^ |r r|t t|r r|_", "|--- |r r|t t|r r|_", @@ -46,6 +46,7 @@ "L": "t_door_locked", "R": "t_carpet_red", "S": "t_linoleum_gray", + "H": "t_linoleum_gray", "T": "t_linoleum_gray", "W": "t_chainfence_h", "[": "t_door_glass_c", @@ -67,6 +68,7 @@ "7": "f_bookcase", "C": "f_crate_c", "S": "f_sink", + "H": "f_foodperson_cutout", "]": "f_rack", "^": "f_indoor_plant", "b": "f_stool", diff --git a/data/json/mapgen/sub_station.json b/data/json/mapgen/sub_station.json index 5881e8d04d858..93ca146fbc89e 100644 --- a/data/json/mapgen/sub_station.json +++ b/data/json/mapgen/sub_station.json @@ -91,7 +91,7 @@ "##II II##", "##I I+I~~I I##", "##I ~ ~ I##", - "##IsZzzZsIQc IsZzzZsI##", + "##IsHzzHsIQc IsHzzHsI##", "##I ~QQQ + I##", "##IM ~~~~~I MI##", "##IT TI##", diff --git a/data/json/mapgen_palettes/subway.json b/data/json/mapgen_palettes/subway.json index baad4edf035d5..78ace4c53dce0 100644 --- a/data/json/mapgen_palettes/subway.json +++ b/data/json/mapgen_palettes/subway.json @@ -53,7 +53,7 @@ "T": "t_ticket_vendor", "s": "t_ticket_machine" }, - "furniture": { "&": "f_trashcan", "b": "f_bench", "Q": "f_desk", "c": "f_chair", "N": "f_rack" }, + "furniture": { "&": "f_trashcan", "b": "f_bench", "Q": "f_desk", "c": "f_chair", "N": "f_rack", "H": "f_turnstile" }, "signs": { "M": { "signage": "Subway Map: stop" } }, "items": { "N": { "item": "tools_construction", "chance": 90, "repeat": 3 }, diff --git a/data/json/recipes/recipe_others.json b/data/json/recipes/recipe_others.json index 6e65ac792fbf8..fb2df1d896536 100644 --- a/data/json/recipes/recipe_others.json +++ b/data/json/recipes/recipe_others.json @@ -4437,6 +4437,16 @@ "qualities": [ { "id": "HAMMER", "level": 2 }, { "id": "SAW_W", "level": 2 } ], "components": [ [ [ "2x4", 4 ] ], [ [ "nail", 20 ] ], [ [ "hinge", 2 ] ] ] }, + { + "type": "recipe", + "result": "fishbowl_filled", + "category": "CC_OTHER", + "subcategory": "CSC_OTHER_OTHER", + "skill_used": "fabrication", + "time": "1 m", + "autolearn": true, + "components": [ [ [ "fishbowl", 1 ] ], [ [ "instant_goldfish", 1 ] ], [ [ "water_clean", 2 ] ] ] + }, { "type": "recipe", "result": "razor_shaving", diff --git a/data/json/snippets/snippets.json b/data/json/snippets/snippets.json index c81a7c4d7588a..edfa4d37990dd 100644 --- a/data/json/snippets/snippets.json +++ b/data/json/snippets/snippets.json @@ -1418,5 +1418,20 @@ "text": "This is General Baker. Today I received a top-secret letter with new orders from high command. These orders described a new set of coordinates for our ICBM. My men deciphered it, and it became crystal-clear that coordinates are pointing to a certain place inside our country. I requested re-confirmation, and after a short while I received it with the same coordinates, so it wasn't an weird error as I originally thought. I don't know what's on the minds of these guys in the government, but I'm not gonna bomb innocent people of my country. We're just one step away from starting a war, so failure to comply with an order will obviously result in a execution. And it's just a matter of time when they come for me. So actually I'm already a dead man. Whomever may find this. Please tell my wife Jane I love her and Michael Jr. And tell her I'm sorry. General Michael Baker" } ] + }, + { + "type": "snippet", + "category": "welcome_mats", + "text": [ + "'Welcome'", + "'Welcome Home'", + "'Beware Cats!'", + "'J O Y'", + "'U S A'", + "'An Animal Lover Lives Here'", + "It has an image of flowers on it.", + "It has an image of skulls on it.", + "It has an image of a big heart and the word 'JOY' on it" + ] } ]