Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update evac shelters and bring them (mostly) up to code #35847

Merged
merged 10 commits into from
Dec 4, 2019
85 changes: 85 additions & 0 deletions data/json/itemgroups/SUS_specific_use_storage_items.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,89 @@
[
{
"id": "SUS_evac_shelter_locker",
"type": "item_group",
"//": "SUS item groups are collections that contain a reasonable realistic distribution of items that might spawn in a given storage furniture.",
"//2": "Each locker contains by spec one jacket, one blanket, one gas mask, a flashlight, a plastic bowl and utensils, a lighter, and two bottles of water. Not every locker is fully stocked.",
"subtype": "collection",
"items": [
[ "evac_pamphlet", 99 ],
[ "jacket_evac", 75 ],
[ "emer_blanket", 75 ],
[ "mask_gas", 5 ],
[ "flashlight", 50 ],
[ "lighter", 20 ],
{ "item": "water_clean", "count": 2, "prob": 80 },
{ "item": "protein_bar_evac", "count": 3 },
{
"collection": [ { "item": "plastic_spoon" }, { "item": "plastic_knife" }, { "item": "plastic_fork" }, { "item": "bowl_plastic" } ],
"prob": 90
}
]
},
{
"id": "SUS_evac_shelter_cabinet",
"type": "item_group",
"//": "SUS item groups are collections that contain a reasonable realistic distribution of items that might spawn in a given storage furniture.",
"//2": "The cabinets contain a stock of delicious evac protein bars, and may contain clean water, cans of food, and spare blankets.",
"subtype": "collection",
"items": [
{
"distribution": [
{
"collection": [ { "item": "emer_blanket", "count": 5, "prob": 80 }, { "item": "jacket_evac", "count": 5, "prob": 80 } ],
"prob": 30
},
{ "item": "water_clean", "count": 12, "prob": 20 },
{ "item": "protein_bar_evac", "count": 24, "prob": 60 },
{
"collection": [
{ "item": "extinguisher", "prob": 70 },
{ "item": "1st_aid", "count": [ 1, 3 ], "prob": 85 },
{ "item": "two_way_radio", "prob": 65 },
{ "item": "light_disposable_cell", "count": [ 2, 4 ], "prob": 65 },
{ "item": "electric_lantern", "prob": 35 }
],
"prob": 10
},
{
"collection": [
{ "item": "detergent", "count": [ 1, 2 ] },
{ "item": "brush", "prob": 85 },
{ "item": "bleach", "prob": 65 },
{ "item": "ammonia", "prob": 35 }
],
"prob": 15
},
{
"collection": [
{ "item": "can_beans", "count": 12, "prob": 50 },
{ "item": "can_tomato", "count": 12, "prob": 40 },
{ "item": "soup_chicken", "count": 12, "prob": 20 },
{ "item": "can_opener", "prob": 90 }
],
"prob": 5
}
]
},
[ "evac_pamphlet", 15 ]
]
},
{
"id": "SUS_evac_shelter_sink",
"type": "item_group",
"//": "SUS item groups are collections that contain a reasonable realistic distribution of items that might spawn in a given storage furniture.",
"//2": "The cabinets contain a stock of delicious evac protein bars, and may contain clean water, cans of food, and spare blankets.",
"subtype": "collection",
"items": [
{ "item": "soap", "count": [ 1, 2 ] },
[ "brush", 90 ],
[ "bleach", 45 ],
[ "ammonia", 25 ],
[ "1st_aid", 60 ],
{ "item": "paper", "count": [ 1, 3 ] },
[ "evac_pamphlet", 10 ]
]
},
{
"id": "SUS_silverware",
"type": "item_group",
Expand Down
21 changes: 21 additions & 0 deletions data/json/items/comestibles/protein.json
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,27 @@
"calories": 100,
"vitamins": [ ]
},
{
"id": "protein_bar_evac",
"type": "COMESTIBLE",
"comestible_type": "FOOD",
"name": { "str": "emergency protein ration", "str_pl": "emergency protein rations" },
"//": "Inspired by, but not based on, a true story",
"description": "SoyPelusa ran a highly successful crowdfunding campaign for this protein bar. A person can live on one of these bars, three times a day, presumably forever. After backers received their product, a single flaw was found: most consumers found starvation preferable to the flavor. Warehouses of the product went unsold as the company went bankrupt, providing the perfect opportunity for FEMA to scoop them up and stock the evac shelters. Now, you hold a piece of famous crowdfunding history in your hands. How exciting.",
"weight": "150 g",
"volume": "223 ml",
"price": 500,
"flags": [ "EDIBLE_FROZEN" ],
"healthy": -1,
"fun": -5,
"quench": -9,
"material": [ "fruit", "veggy" ],
"symbol": "%",
"color": "green",
"container": "wrapper",
"calories": 400,
"vitamins": [ [ "calcium", 30 ], [ "iron", 30 ], [ "vitA", 30 ], [ "vitB", 30 ], [ "vitC", 30 ] ]
},
{
"id": "protein_shake",
"copy-from": "protein_drink",
Expand Down
14 changes: 14 additions & 0 deletions data/json/items/newspaper.json
Original file line number Diff line number Diff line change
Expand Up @@ -182,5 +182,19 @@
"flags": "TRADER_AVOID",
"weight": "3 g",
"volume": 0
},
{
"type": "GENERIC",
"id": "evac_pamphlet",
"category": "books",
"name": "FEMA evacuation pamphlet",
"description": "Welcome to your Emergency Survival Shelter. We hope your stay here will be short and comfortable. Provided are an emergency blanket, high visibility jacket, gas mask, and food and water rations for one day, as well as an emergency lighter and flashlight. There are further supplies in the communal cabinets should the facility be over its intended capacity. These resources are checked and updated by FEMA on a regular basis, but if you find some items missing, please contact a FEMA supervisor at your earliest convenience.\n\nPlease wait in the shelter until an official evacuation transport arrives to take you to your homes or, in the event of a major disaster, to the nearest evacuation gathering point.\n\nIn the event that you have been evacuated under violent circumstances, FEMA recommends taking cover in the shelter's basement until help arrives. Remember: if you leave the shelter, we cannot find you to take you to safety.",
"weight": "5 g",
"volume": "15 ml",
"material": [ "paper" ],
"looks_like": "newspaper",
"color": "white",
"symbol": "?",
"flags": "TRADER_AVOID"
}
]
111 changes: 57 additions & 54 deletions data/json/mapgen/shelter.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
"id": "shelter_supplies",
"type": "item_group",
"subtype": "collection",
"//": "obsolete item group, use SUS instead",
"items": [ [ "jacket_evac", 100 ], [ "emer_blanket", 100 ], [ "mask_gas", 12 ] ]
},
{
Expand All @@ -11,6 +12,7 @@
"weight": 100,
"om_terrain": [ "shelter" ],
"object": {
"fill_ter": "t_floor",
"rows": [
" !!!!!!!!!!!!!!!! ",
" `!!!!`!!!!`!!!!` ",
Expand Down Expand Up @@ -38,7 +40,6 @@
" |----:--+-:----|4 "
],
"palettes": [ "shelter" ],
"items": { "l": { "item": "shelter_supplies", "chance": 20, "repeat": [ 0, 1 ] } },
"computers": {
"6": {
"name": "Evac shelter computer",
Expand Down Expand Up @@ -104,6 +105,7 @@
"weight": 100,
"om_terrain": [ "shelter_1" ],
"object": {
"fill_ter": "t_floor",
"rows": [
" !!!!!!!!!!!!!!!! ",
" `!!!!`!!!!`!!!!` ",
Expand Down Expand Up @@ -131,7 +133,6 @@
" |----:--+-:----| "
],
"palettes": [ "shelter" ],
"items": { "l": { "item": "shelter_supplies", "chance": 20, "repeat": [ 0, 1 ] } },
"computers": {
"6": {
"name": "Evac shelter computer",
Expand Down Expand Up @@ -197,34 +198,34 @@
"weight": 100,
"om_terrain": [ "shelter_2" ],
"object": {
"fill_ter": "t_floor",
"rows": [
" `!!!!`!!!!`!!!!` ",
" `!!!!`!!!!`!!!!` ",
" `!!!!`!!!!`!!!!` ",
" `!!!!`!!!!`!!!!` ",
" `!!!!`!!!!`!!!!` ",
" &&&&&&&&&&&&&&&& ",
" |-:-++-:-| ",
" |--|........|--| ",
" |*|c........ccc| ",
" |=|............| ",
" --..............-- ",
" |b..............b| ",
" :b..............b: ",
" |b...|--++--|...b| ",
" |c..l|>....>|l..c| ",
" |c..l|>....>|l..c| ",
" |b...|--++--|...b| ",
" :b..............b: ",
" |b..............b| ",
" --ccc..b..b..ccc-- ",
" |..c..b..b..c..| ",
" |6....b..b....x|4 ",
" |--|........|--| ",
" |-:-++-:-| ",
" ||------|%......l| ",
" |*|cccc6........l| ",
" |.=.............l| ",
" |--|.............--| ",
" |b......bbbb......b| ",
" :b................b: ",
" |b......llll......b| ",
" |c......|--|......c| ",
" |c.......>>.......c| ",
" |b.......>>.......b| ",
" :b......|--|......b: ",
" |b......llll......b| ",
" |--..............-- ",
" |c.....bbbb.....c| ",
" |cccx........cccc|4 ",
" |---|l......l|---| ",
" |-:--+-:-| "
],
"palettes": [ "shelter" ],
"items": { "l": { "item": "shelter_supplies", "chance": 20, "repeat": [ 0, 1 ] } },
"computers": {
"6": {
"name": "Evac shelter computer",
Expand All @@ -251,23 +252,23 @@
" ",
" ",
" ",
" 4444444443 ",
" |44|........3443 ",
" |>.............3 ",
" |..........#...3 ",
" ||..:...........33 ",
" |................3 ",
" |................3 ",
" |................3 ",
" |................3 ",
" |................3 ",
" |................3 ",
" 4444444443 ",
" |4444444|........3 ",
" |>.....#.........3 ",
" |................3 ",
" ||................33 ",
" |..................3 ",
" |..................3 ",
" |..................3 ",
" |..................3 ",
" |..............:...3 ",
" |..................3 ",
" |..................3 ",
" |.....&............3 ",
" ||................33 ",
" |................3 ",
" ||...&..........33 ",
" |..............3 ",
" |..............5 ",
" |--|........|--3 ",
" |................5 ",
" |---|........|---3 ",
" |--------| "
],
"terrain": {
Expand All @@ -290,6 +291,7 @@
"weight": 100,
"om_terrain": [ "shelter_under" ],
"object": {
"fill_ter": "t_linoleum_white",
"rows": [
"########################",
"########################",
Expand All @@ -298,15 +300,15 @@
"####;;;;;;;;;;;;;;;;####",
"####;bbbbbbbbbbbbbb;####",
"####;b____________b;####",
"####;b____________b;####",
"####;b____________b;####",
"####;b___|-++-|___b;####",
"####;b___|____|___b;####",
"####;b___+_<<_+___b;####",
"####;b___+_<<_+___b;####",
"####;b___|____|___b;####",
"####;b___|-++-|___b;####",
"####;b____________b;####",
"####;----_________b;####",
"####;T|T||lllll___b;####",
"####;____|----|___b;####",
"####;S%S_+____|___b;####",
"####;----|_<<_+___b;####",
"####;S%S_|_<<_+___b;####",
"####;____+____|___b;####",
"####;T|T||----|___b;####",
"####;---|llllll___b;####",
"####;b____________b;####",
"####;b____________b;####",
"####;bbbbbbbbbbbbbb;####",
Expand All @@ -326,6 +328,7 @@
"weight": 10,
"om_terrain": [ "shelter_under" ],
"object": {
"fill_ter": "t_linoleum_white",
"rows": [
"########################",
"########################",
Expand All @@ -334,15 +337,15 @@
"####;;;;;;;;;;;;;;;;####",
"####;bbbbbbbbbbbbbb;####",
"####;b____________b;####",
"####;b____________b;####",
"####;b____________b;####",
"####;b___|-++-|___b;####",
"####;b___|____|___b;####",
"####;b___+_<<_+___b;####",
"####;b___+_<<_+___b;####",
"####;b___|____|___b;####",
"####;b___|-++-|___b;####",
"####;b____________b;####",
"####;----_________b;####",
"####;T|T||lllll___b;####",
"####;____|----|___b;####",
"####;S%S_+____|___b;####",
"####;----|_<<_+___b;####",
"####;S%S_|_<<_+___b;####",
"####;____+____|___b;####",
"####;T|T||----|___b;####",
"####;---|llllll___b;####",
"####;b____________b;####",
"####;b____________b;####",
"####;bbbbbbbbbbbbbb;####",
Expand All @@ -354,7 +357,7 @@
],
"palettes": [ "shelter" ],
"items": { "_": { "item": "shelter", "chance": 10 } },
"place_monsters": [ { "monster": "GROUP_ZOMBIE", "x": [ 5, 18 ], "y": [ 5, 18 ], "density": 0.2 } ]
"monsters": { "_": { "monster": "GROUP_ZOMBIE", "chance": 40 }, "b": { "monster": "GROUP_ZOMBIE", "chance": 10 } }
}
}
]
16 changes: 9 additions & 7 deletions data/json/mapgen_palettes/shelter.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,29 +3,31 @@
"type": "palette",
"id": "shelter",
"terrain": {
" ": [ "t_grass", "t_grass", "t_grass", "t_dirt" ],
" ": "t_region_groundcover_urban",
"!": "t_pavement",
"`": "t_pavement_y",
"&": "t_sidewalk",
"#": "t_rock",
"+": "t_door_c",
"-": "t_wall_w",
".": "t_floor",
"_": "t_rock_floor",
"_": "t_linoleum_white",
"6": "t_console",
":": "t_window_domestic",
">": "t_stairs_down",
"<": "t_stairs_up",
"b": "t_floor",
"c": "t_floor",
"l": "t_floor",
"x": "t_console_broken",
"|": "t_wall_w",
";": "t_concrete_wall",
"*": "t_ladder_up",
"=": "t_door_locked_interior",
"4": "t_gutter_downspout"
},
"furniture": { "b": "f_bench", "c": "f_counter", "l": "f_locker" }
"furniture": { "b": "f_bench", "c": "f_counter", "l": "f_locker", "S": "f_sink", "%": "f_trashcan" },
"toilets": { "T": { } },
"items": {
"l": { "item": "SUS_evac_shelter_locker", "chance": 90 },
"c": { "item": "SUS_evac_shelter_cabinet", "chance": 70 },
"S": { "item": "SUS_evac_shelter_sink", "chance": 70 }
}
}
]