summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjc_gargma <jc_gargma@iserlohn-fortress.net>2022-04-01 22:31:03 -0700
committerjc_gargma <jc_gargma@iserlohn-fortress.net>2022-04-01 22:31:03 -0700
commitce301156f7f5cd5b6b5ef45510623334dadeeeb0 (patch)
tree5778da0c07073c110bef0872bce109e28352ba6e
parentUpdated to 202203230754 (diff)
downloadcataclysm-bn-ce301156f7f5cd5b6b5ef45510623334dadeeeb0.tar.xz
Port the bunker shop from DDA.
-rw-r--r--PKGBUILD13
-rw-r--r--npc-10_bunker-merchant.patch396
-rw-r--r--npc-20_dialogue-fixes.patch (renamed from npc-10_dialogue-fixes.patch)0
3 files changed, 405 insertions, 4 deletions
diff --git a/PKGBUILD b/PKGBUILD
index b7252c4..9fc1983 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -15,7 +15,7 @@ pkgname=cataclysm-bn
_pkgname=Cataclysm-BN-cbn-experimental
pkgver=202203230754
_pkgver=2022-03-23-0754
-pkgrel=3
+pkgrel=5
pkgdesc="A post-apocalyptic roguelike."
#url="http://cataclysmrl.blogspot.com/"
#url="http://www.cataclysm.glyphgryph.com/"
@@ -77,9 +77,10 @@ source=("$pkgname-$_pkgver.tar.gz::https://github.com/cataclysmbnteam/Cataclysm-
"npc-07_lighthouse-family_v2.patch"
"npc-08_nurse-takes-more-meds.patch"
"npc-09_broker-takes-more-foods.patch"
+ "npc-10_bunker-merchant.patch"
#"npc-nn_refugee.patch"
#"npc-nn_robofac-v2.patch"
- "npc-10_dialogue-fixes.patch"
+ "npc-20_dialogue-fixes.patch"
"recipes-01_4570-dragon-can-be-dismantled.patch"
@@ -159,6 +160,7 @@ b2sums=('0015555f65237aaab18d25fdb9da59d87ffd03d8e217628bda27f89c5e03b7022c35335
'd2c149bb48e3152100b02d138471ec107e172f282a05ee4bae321ef0828c758d0cf1f7a6e9bbb02bca14148d59d61f92abcbc5ddb9a7a0b7cba8db9cef22c391'
'026fb478045b82e3b329a53c023c8c3ee29e792ca2e77c285a67b3655853cd6a960a8e27a65c9ad6988d8000333f6b8f8bf77ea6656b879519fc74a475d8aef7'
'9f34e372124b23bbc0598f42a1331f5a37f6ca4bfa3117d8b83fc804446a0d55f7fe3f462ff924bfa563100127338713bf27241a4244b1a37d9cca9b5da79bca'
+ '9bb382d203bfb6534b38ce54e53046f4a25a08b53620453f04b71b72b6994d55e9348306d9ea1186180dbce25811fdfce938f7b6e45286e523540fb3c22ab9bc'
'adcf0b46ad57390488b3932910fba5a5be8152f91b45864bf078a2b8d92dc89e9944c320dafb7a0d4786e1fce48bedea714d671feefe565ffbbb74baca21d98e'
'3373939e76f1ddb788b45424533c2e7687bbacae840fb3e6b1d49034e18315297af66dddf1b13d4f42033608123929b78819f38cca6cbc6c5ecca09bc67ab69f'
'ee51e67633252dc7af9117891dc1ece1bfa5f5660bdf665404747a756a828affcd072fa114e3911355bc38a2b6ce9e1e1156c5e5f4d33a3655750e08b2a4e6ae'
@@ -187,7 +189,7 @@ b2sums=('0015555f65237aaab18d25fdb9da59d87ffd03d8e217628bda27f89c5e03b7022c35335
'4bd44cbe85c53902b8a360509703e3d38e8a5da75dd2c534a77f03ce6440632f6c83c92939069c60473c88ffb3abab0fbf11e39271f44f813b9f6432ea5f9a6b'
'f115314dd2bb1da07bba7a90fec5c3acb7ccb5145efaea03d6806942e24d402c9a144a2fd07b82e727a0b79dedd4bdd87de0bbaf0944236563164fb6f117965e'
'1de3fed057adb6c0d41c97bbb5af2b753147ea8f8ac7023759684054aead266100dc8c8e0cc261c7a5cf922e4194e8cabaf626fb5f7974c6036edc64f25cc8f9'
- 'a920a8ef9f2a99e421b8e72a3c7c4964f63dcd88da6f1cfa6f1d175fa3ac910338705709937341a0e20ad7da806466dee9f79ac60dbad3a5ae55a1874ec610d1'
+ '712deee5e281498fac61b18537957db43338a54f3f6fe6a6c8d9367c0332d5c7db6c593696fa148b692bffc2e7635f0efd72276068854ff4ecb26cf66575e197'
'a56efdaae0344726debf5b74846edce8df7aa2357fbc7a05a3d369d1f457b02934a0d0ce2330072e03f1ac901e06e333c9393f795c761f8440307e7649ed5596'
'ec8f713c6fae84f6659f76d4edc0f237766329080e33e65a5affc5d0c37cc7906b0daaaa1f275d89c8ddacb5db0ee16b69222956c9f2c402ce44b55aa040ead0'
'b9309da09b165fb57e83f84e3584d2479bd3336ed86e181e5df2d27daa92bd55d03d7f3fc226f03696af5f0f32d8e0e7ecd26ae7e50eed0200d0b0feaad07efb')
@@ -374,6 +376,9 @@ prepare() {
# Also update the dialogue to specify that he buys more types.
patch -Np1 -i "$srcdir"/npc-09_broker-takes-more-foods.patch
+ # Port the bunker merchant from DDA
+ patch -Np1 -i "$srcdir"/npc-10_bunker-merchant.patch
+
# Port the updates to Free Merchant Center from DDA
# Relies on new json functions :/
#patch -Np1 -i "$srcdir"/npc-nn_refugee.patch
@@ -384,7 +389,7 @@ prepare() {
# Assorted typos in NPC dialogue.
# Fix Jack Isherwood mission listing 10 jars, when it is actually 20.
- patch -Np1 -i "$srcdir"/npc-10_dialogue-fixes.patch
+ patch -Np1 -i "$srcdir"/npc-20_dialogue-fixes.patch
# # recipe fixes
diff --git a/npc-10_bunker-merchant.patch b/npc-10_bunker-merchant.patch
new file mode 100644
index 0000000..20f19be
--- /dev/null
+++ b/npc-10_bunker-merchant.patch
@@ -0,0 +1,396 @@
+--- a/data/json/mapgen/bunker_shop.json
++++ b/data/json/mapgen/bunker_shop.json
+@@ -0,0 +1,180 @@
++[
++ {
++ "type": "mapgen",
++ "method": "json",
++ "om_terrain": [ "bunker_shop_g" ],
++ "object": {
++ "fill_ter": "t_floor",
++ "rows": [
++ "kkkkkkkkkkkkkkkkkkkkkkkk",
++ "kkkkkkkkkkkkkkkkkkkkkkkk",
++ "kkkkkkkkkkkkkkkkkkkkkkkk",
++ "kkaasaaGnnGnnGnnGnnoookk",
++ "kkaEDDakkkkkkkkkkkkoqokk",
++ "GnaEDDakkkkzkkkkkkkopokk",
++ "nkaaCaakkkkkkkkAkkkktnkk",
++ "nkkktttttttttttttttttnkk",
++ "GkkktkkkiicjaraaaajktGkk",
++ "nkkktkkkjkkkwwyakkjktnkk",
++ "nttttttkjkkkww a krktnkk",
++ "Gttttttkakk a jktGkk",
++ "nttttttkaaagaaaaagaagaak",
++ "nttttttka lj akkkak",
++ "Gttttttka ljvv gkk sk",
++ "nttttttbbd i akk ak",
++ "nttttttbedk iia a sk",
++ "Gttttttbbdkk a ak",
++ "nttttttkakkkk iijjak",
++ "nttttttFjkkkkkk jkkkkk",
++ "GBBBBBBGiijrcjgjjijkkkkk",
++ "kttttttFkf kkkkgkkkAkkk",
++ "kttttttkkj kkkjkkkkkkk",
++ "kttttttkkjjrrcrjjkkkkkkk"
++ ],
++ "terrain": {
++ "a": "t_wall_wood",
++ "b": "t_rock",
++ "c": "t_window_empty",
++ "d": "t_rock_floor",
++ "e": "t_rock_floor",
++ "f": "t_door_b",
++ "g": "t_door_frame",
++ "h": "t_door_c",
++ "i": "t_wall_wood_broken",
++ "j": "t_wall_wood_chipped",
++ "k": [ "t_grass", "t_grass", "t_grass", "t_dirt" ],
++ "m": "t_dirt",
++ "n": "t_chainfence_h",
++ "o": "t_concrete_wall",
++ "p": "t_door_metal_c",
++ "q": "t_stairs_down",
++ "r": "t_window_frame",
++ "s": "t_window_boarded",
++ "t": "t_dirt",
++ "l": "t_floor",
++ "u": "t_floor",
++ "v": "t_floor",
++ "w": "t_floor",
++ "x": "t_wall_wood_chipped",
++ "y": "t_floor",
++ "z": "t_tree_plum",
++ "A": "t_tree_apple",
++ "B": "t_door_metal_locked",
++ "C": "t_door_c",
++ "D": "t_dirtfloor",
++ "E": "t_dirtfloor",
++ "F": "t_gates_mech_control",
++ "G": "t_wall"
++ },
++ "furniture": {
++ "e": "f_brazier",
++ "m": "f_rubble",
++ "l": "f_crate_o",
++ "u": "f_woodstove",
++ "v": "f_table",
++ "w": "f_bed",
++ "y": "f_dresser",
++ "E": "f_locker"
++ },
++ "place_loot": [
++ { "group": "floor_trash", "chance": 90, "repeat": 5, "x": [ 9, 12 ], "y": [ 13, 19 ] },
++ { "group": "floor_trash", "chance": 90, "repeat": 5, "x": [ 13, 17 ], "y": [ 17, 19 ] },
++ { "group": "floor_trash", "chance": 90, "repeat": 5, "x": [ 14, 17 ], "y": [ 13, 15 ] },
++ { "group": "floor_trash", "chance": 90, "repeat": 5, "x": [ 9, 14 ], "y": [ 9, 11 ] },
++ { "group": "floor_trash", "chance": 90, "repeat": 5, "x": [ 19, 21 ], "y": [ 13, 17 ] },
++ { "group": "floor_trash", "chance": 90, "repeat": 5, "x": [ 10, 15 ], "y": [ 21, 22 ] },
++ { "group": "floor_trash", "chance": 90, "repeat": 3, "x": [ 16, 17 ], "y": [ 9, 11 ] }
++ ]
++ }
++ },
++ {
++ "type": "mapgen",
++ "method": "json",
++ "om_terrain": [ "bunker_shop_b" ],
++ "object": {
++ "fill_ter": "t_rock",
++ "rows": [
++ " fff ",
++ " fvffffff ",
++ " fbbbbbbf ",
++ " fbffffbf ",
++ " fffff fbf faf ",
++ " fftsrf fbf fff ",
++ " fvbbbf fbf ",
++ " ffffffdfffdfffff ",
++ " fnccmfbfjubbxfvf ",
++ " fllccbbdbbbbbebf ",
++ " fvccofjfbbbbbfbf ",
++ " fffffffffgggffbf ",
++ " fjhhhbfbf ",
++ " fffffffffbbpbbdbf ",
++ " fviiiiivfibbbbfff ",
++ " fffbbbbbbbfibvbwf ",
++ " fkdbiiiiibdbbbbhf ",
++ " fffbbbbbbbfiqqbhf ",
++ " fviiiiivffffdff ",
++ " ffffffffffnlcmf ",
++ " fvbbbdclcmf ",
++ " fftsrfcccvf ",
++ " ffffffffff ",
++ " "
++ ],
++ "terrain": {
++ "a": "t_stairs_up",
++ "b": "t_thconc_floor",
++ "c": "t_floor",
++ "d": "t_door_metal_c",
++ "e": "t_door_metal_locked",
++ "f": "t_concrete_wall",
++ "g": "t_reinforced_glass",
++ "h": "t_thconc_floor",
++ "i": "t_thconc_floor",
++ "j": "t_thconc_floor",
++ "k": "t_plut_generator",
++ "l": "t_floor",
++ "m": "t_floor",
++ "n": "t_floor",
++ "o": "t_floor",
++ "p": "t_thconc_floor",
++ "q": "t_thconc_floor",
++ "r": "t_thconc_floor",
++ "s": "t_thconc_floor",
++ "t": "t_thconc_floor",
++ "u": "t_thconc_floor",
++ "v": "t_utility_light",
++ "w": "t_console_broken",
++ "x": "t_atm"
++ },
++ "furniture": {
++ "h": "f_table",
++ "i": "f_rack",
++ "j": "f_locker",
++ "l": "f_bed",
++ "m": "f_dresser",
++ "n": "f_table",
++ "o": "f_sofa",
++ "p": "f_chair",
++ "q": "f_sofa",
++ "r": "f_toilet",
++ "s": "f_sink",
++ "t": "f_shower",
++ "u": "f_crate_o"
++ },
++ "place_loot": [
++ { "group": "mil_food_nodrugs", "chance": 90, "repeat": [ 10 ], "x": [ 6, 10 ], "y": [ 18, 18 ] },
++ { "group": "ammo_rifle_milspec", "chance": 90, "repeat": [ 10 ], "x": [ 6, 10 ], "y": [ 16, 16 ] },
++ { "group": "camping", "chance": 90, "repeat": [ 10 ], "x": [ 6, 10 ], "y": [ 14, 14 ] },
++ { "group": "allclothes", "chance": 90, "repeat": [ 4 ], "x": [ 17, 17 ], "y": [ 19, 20 ] },
++ { "group": "allclothes", "chance": 90, "repeat": [ 4 ], "x": [ 9, 9 ], "y": [ 8, 8 ] },
++ { "group": "book_military", "chance": 90, "repeat": [ 1 ], "x": [ 6, 6 ], "y": [ 8, 8 ] },
++ { "group": "book_military", "chance": 90, "repeat": [ 1 ], "x": [ 14, 14 ], "y": [ 12, 12 ] },
++ { "group": "cleaning_bulk", "chance": 90, "repeat": [ 2 ], "x": [ 11, 11 ], "y": [ 10, 10 ] },
++ { "group": "cleaning_bulk", "chance": 90, "repeat": [ 2 ], "x": [ 13, 13 ], "y": [ 12, 12 ] },
++ { "group": "guns_milspec", "chance": 90, "repeat": [ 2 ], "x": [ 13, 13 ], "y": [ 14, 15 ] },
++ { "group": "mil_food_nodrugs", "chance": 90, "repeat": [ 5 ], "x": [ 13, 13 ], "y": [ 17, 17 ] },
++ { "group": "mil_armor", "chance": 90, "repeat": [ 5 ], "x": [ 17, 17 ], "y": [ 15, 17 ] }
++ ],
++ "place_npcs": [ { "class": "bunker_merchant", "x": 15, "y": 13 } ]
++ }
++ }
++]
+--- a/data/json/npcs/bunker_shop/NC_BUNKER_MERCHANT.json
++++ b/data/json/npcs/bunker_shop/NC_BUNKER_MERCHANT.json
+@@ -0,0 +1,72 @@
++[
++ {
++ "type": "item_group",
++ "id": "NC_BUNKER_MERCHANT_pants_male",
++ "items": [ [ "pants_cargo", 60 ], [ "pants", 20 ], [ "shorts_cargo", 20 ] ]
++ },
++ {
++ "type": "item_group",
++ "id": "NC_BUNKER_MERCHANT_pants_female",
++ "items": [ [ "pants_cargo", 60 ], [ "pants", 20 ], [ "shorts_cargo", 20 ] ]
++ },
++ {
++ "type": "item_group",
++ "id": "NC_BUNKER_MERCHANT_shoes",
++ "items": [ [ "boots_combat", 90 ], [ "boots", 10 ] ]
++ },
++ {
++ "type": "item_group",
++ "id": "NC_BUNKER_MERCHANT_shirt_male",
++ "items": [ [ "undershirt", 30 ], [ "sweatshirt", 20 ], [ "under_armor", 20 ], [ "longshirt", 20 ] ]
++ },
++ {
++ "type": "item_group",
++ "id": "NC_BUNKER_MERCHANT_shirt_female",
++ "items": [ [ "undershirt", 30 ], [ "sweatshirt", 20 ], [ "under_armor", 20 ], [ "longshirt", 20 ] ]
++ },
++ {
++ "type": "item_group",
++ "id": "NC_BUNKER_MERCHANT_gloves",
++ "items": [ [ "null", 20 ], [ "gloves_tactical", 60 ], [ "gloves_fingerless", 20 ] ]
++ },
++ {
++ "type": "item_group",
++ "id": "NC_BUNKER_MERCHANT_coat",
++ "items": [ [ "hoodie", 50 ], [ "kevlar", 50 ] ]
++ },
++ {
++ "type": "item_group",
++ "id": "NC_BUNKER_MERCHANT_extra",
++ "items": [ [ "rucksack", 100 ] ]
++ },
++ {
++ "type": "item_group",
++ "id": "NC_BUNKER_MERCHANT_hat",
++ "items": [ [ "hat_ball", 100 ] ]
++ },
++ {
++ "type": "item_group",
++ "id": "NC_BUNKER_MERCHANT_eyes",
++ "items": [ [ "null", 80 ], [ "glasses_bal", 20 ] ]
++ },
++ {
++ "type": "item_group",
++ "id": "NC_BUNKER_MERCHANT_masks",
++ "items": [ [ "scarf", 100 ] ]
++ },
++ {
++ "type": "item_group",
++ "id": "NC_BUNKER_MERCHANT_misc",
++ "items": [
++ { "group": "ammo_reloaded", "prob": 100, "count-min": 5, "count-max": 10 },
++ { "group": "everyday_gear", "prob": 100, "count-min": 5, "count-max": 25 },
++ { "group": "guns_survival", "prob": 100, "count-min": 5, "count-max": 5 },
++ { "group": "tools_survival", "prob": 100, "count-min": 5, "count-max": 5 },
++ { "group": "supplies_electronics", "prob": 100, "count-min": 5, "count-max": 5 },
++ { "group": "clothing_outdoor_torso", "prob": 100, "count-min": 5, "count-max": 5 },
++ { "group": "clothing_outdoor_pants", "prob": 100, "count-min": 5, "count-max": 5 },
++ { "group": "clothing_outdoor_shoes", "prob": 100, "count-min": 5, "count-max": 5 },
++ { "group": "drugs_soldier", "prob": 100, "count-min": 5, "count-max": 5 }
++ ]
++ }
++]
+--- a/data/json/npcs/bunker_shop/TALK_BUNKER_MERCHANT.json
++++ b/data/json/npcs/bunker_shop/TALK_BUNKER_MERCHANT.json
+@@ -0,0 +1,46 @@
++[
++ {
++ "type": "talk_topic",
++ "id": "TALK_BUNKER_MERCHANT",
++ "dynamic_line": "Heya, scav.",
++ "responses": [
++ { "text": "Did you build this place?", "topic": "TALK_BUNKER_MERCHANT_HERE" },
++ { "text": "Who are you?", "topic": "TALK_BUNKER_MERCHANT_WHO" },
++ { "text": "Why do you still use cash?", "topic": "TALK_BUNKER_MERCHANT_WHY" },
++ { "text": "You're a trader?", "topic": "TALK_BUNKER_MERCHANT_TRADE" },
++ { "text": "I need some supplies.", "effect": "start_trade", "topic": "TALK_BUNKER_MERCHANT" },
++ { "text": "Need help with anything?", "topic": "TALK_BUNKER_MERCHANT_MISSION" },
++ { "text": "Well, bye.", "topic": "TALK_DONE" }
++ ]
++ },
++ {
++ "type": "talk_topic",
++ "id": "TALK_BUNKER_MERCHANT_HERE",
++ "dynamic_line": "No, no… well, maybe a little. It was just as wrecked down here as it is up top when I found it, wasn't too hard to fix up. You're welcome to stay in the spare room awhile, just don't hog it. You're not the only scav out there.",
++ "responses": [ { "text": "Interesting…", "topic": "TALK_BUNKER_MERCHANT" } ]
++ },
++ {
++ "type": "talk_topic",
++ "id": "TALK_BUNKER_MERCHANT_WHO",
++ "dynamic_line": "Just a scav who got lucky. Now I'm content to sit around here on my pile of treasure. I'm more than willing to trade if you've got the cash.",
++ "responses": [ { "text": "I see…", "topic": "TALK_BUNKER_MERCHANT" } ]
++ },
++ {
++ "type": "talk_topic",
++ "id": "TALK_BUNKER_MERCHANT_WHY",
++ "dynamic_line": "Why not? Everyone else does, so I suppose that's all that matters. My ATM over there still works, connected to the bank servers and everything.",
++ "responses": [ { "text": "Hmm…", "topic": "TALK_BUNKER_MERCHANT" } ]
++ },
++ {
++ "type": "talk_topic",
++ "id": "TALK_BUNKER_MERCHANT_TRADE",
++ "dynamic_line": "I suppose I am. Scavs like you need supplies, right? And I could always use more money.",
++ "responses": [ { "text": "Alright…", "topic": "TALK_BUNKER_MERCHANT" } ]
++ },
++ {
++ "type": "talk_topic",
++ "id": "TALK_BUNKER_MERCHANT_MISSION",
++ "dynamic_line": "Not at the moment, check back later perhaps.",
++ "responses": [ { "text": "Sure…", "topic": "TALK_BUNKER_MERCHANT" } ]
++ }
++]
+--- a/data/json/npcs/bunker_shop/classes.json
++++ b/data/json/npcs/bunker_shop/classes.json
+@@ -0,0 +1,21 @@
++[
++ {
++ "type": "npc_class",
++ "id": "NC_BUNKER_MERCHANT",
++ "name": "Merchant",
++ "common": false,
++ "job_description": "",
++ "bonus_str": { "rng": [ -1, 2 ] },
++ "bonus_dex": { "rng": [ -1, 1 ] },
++ "bonus_int": { "rng": [ -1, 4 ] },
++ "bonus_per": { "rng": [ -1, 2 ] },
++ "skills": [
++ { "skill": "ALL", "level": { "mul": [ { "one_in": 3 }, { "sum": [ { "dice": [ 2, 2 ] }, { "constant": 0 } ] } ] } },
++ { "skill": "gun", "bonus": { "rng": [ 1, 5 ] } },
++ { "skill": "rifle", "bonus": { "rng": [ 1, 5 ] } },
++ { "skill": "pistol", "bonus": { "rng": [ 1, 4 ] } },
++ { "skill": "smg", "bonus": { "rng": [ 1, 3 ] } },
++ { "skill": "speech", "bonus": { "rng": [ 1, 6 ] } }
++ ]
++ }
++]
+--- a/data/json/npcs/bunker_shop/npc.json
++++ b/data/json/npcs/bunker_shop/npc.json
+@@ -0,0 +1,12 @@
++[
++ {
++ "type": "npc",
++ "id": "bunker_merchant",
++ "name_suffix": "Merchant",
++ "class": "NC_BUNKER_MERCHANT",
++ "attitude": 0,
++ "mission": 3,
++ "chat": "TALK_BUNKER_MERCHANT",
++ "faction": "no_faction"
++ }
++]
+--- a/data/json/overmap/overmap_special/specials.json
++++ b/data/json/overmap/overmap_special/specials.json
+@@ -7151,5 +7151,19 @@
+ "city_sizes": [ 3, -1 ],
+ "occurrences": [ 0, 2 ],
+ "flags": [ "CLASSIC", "URBAN", "ELECTRIC_GRID" ]
++ },
++ {
++ "type": "overmap_special",
++ "id": "bunker shop",
++ "overmaps": [
++ { "point": [ 0, 0, 0 ], "overmap": "bunker_shop_g_south" },
++ { "point": [ 0, 0, -1 ], "overmap": "bunker_shop_b_south" }
++ ],
++ "connections": [ { "point": [ 0, -1, 0 ], "terrain": "road", "existing": true, "connection": "local_road", "from": [ 0, 0, 0 ] } ],
++ "locations": [ "wilderness" ],
++ "city_distance": [ 10, -1 ],
++ "city_sizes": [ 1, 12 ],
++ "occurrences": [ 5, 100 ],
++ "flags": [ "CLASSIC", "UNIQUE", "WILDERNESS", "ELECTRIC_GRID" ]
+ }
+ ]
+--- a/data/json/overmap/overmap_terrain/overmap_terrain_residential.json
++++ b/data/json/overmap/overmap_terrain/overmap_terrain_residential.json
+@@ -491,5 +491,25 @@
+ "name": "derelict property",
+ "sym": "X",
+ "color": "i_brown"
++ },
++ {
++ "type": "overmap_terrain",
++ "id": "bunker_shop_g",
++ "name": "derelict property",
++ "sym": "X",
++ "color": "i_brown",
++ "see_cost": 5,
++ "extras": "build",
++ "mondensity": 2
++ },
++ {
++ "type": "overmap_terrain",
++ "id": "bunker_shop_b",
++ "name": "scavenger bunker",
++ "sym": "B",
++ "color": "light_green",
++ "see_cost": 5,
++ "extras": "build",
++ "mondensity": 2
+ }
+ ]
diff --git a/npc-10_dialogue-fixes.patch b/npc-20_dialogue-fixes.patch
index 577fc60..577fc60 100644
--- a/npc-10_dialogue-fixes.patch
+++ b/npc-20_dialogue-fixes.patch