From d07f3f6784c25e5ecd57d1143b151f8600c35954 Mon Sep 17 00:00:00 2001 From: jc_gargma Date: Tue, 5 Dec 2023 11:14:05 -0800 Subject: Fix Mr Lapin meet the Isherwood quest looping. Backport street light additions Rename farm mapgen fix patch Backport campground mapgen fixes Backport tileset updates Backport energy weapon mod fixes Backport mechsuit ID card fixes --- External_Tileset_DP_Normal.png | Bin 0 -> 42296 bytes PKGBUILD | 39 +- ...lights-to-remaining-shops-port-change-to-.patch | 1718 ++++++++++++++++++++ ...port-04_feat-content-port-game-store-3469.patch | 550 +++++++ backport-04_fix-farm-mapgen-3715.patch | 78 - backport-05_fix-farm-mapgen-3715.patch | 78 + backport-06_fix-campground-mapgen-3702.patch | 186 +++ ...ace-new-UDP-external-tileset-sprite-for-s.patch | 64 + ...t-non-pistol-only-energy-weapon-mods-to-b.patch | 56 + ...e-MILITARY_MECH-flag-affects-ID-card-need.patch | 77 + npc-06_lapin-update.patch | 8 +- 11 files changed, 2770 insertions(+), 84 deletions(-) create mode 100644 External_Tileset_DP_Normal.png create mode 100644 backport-04-2_Add-street-lights-to-remaining-shops-port-change-to-.patch create mode 100644 backport-04_feat-content-port-game-store-3469.patch delete mode 100644 backport-04_fix-farm-mapgen-3715.patch create mode 100644 backport-05_fix-farm-mapgen-3715.patch create mode 100644 backport-06_fix-campground-mapgen-3702.patch create mode 100644 backport-07_feat-interface-new-UDP-external-tileset-sprite-for-s.patch create mode 100644 backport-08_feat-Convert-non-pistol-only-energy-weapon-mods-to-b.patch create mode 100644 backport-09_feat-balance-MILITARY_MECH-flag-affects-ID-card-need.patch diff --git a/External_Tileset_DP_Normal.png b/External_Tileset_DP_Normal.png new file mode 100644 index 0000000..1b47589 Binary files /dev/null and b/External_Tileset_DP_Normal.png differ diff --git a/PKGBUILD b/PKGBUILD index b2d8b7e..b562c74 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -20,7 +20,7 @@ _pkgname=Cataclysm-BN-cbn pkgver=0.4 #pkgver=202310040030 #_pkgver=2023-10-04-0030 -pkgrel=9 +pkgrel=12 pkgdesc="A post-apocalyptic roguelike." #url="http://cataclysmrl.blogspot.com/" #url="http://www.cataclysm.glyphgryph.com/" @@ -42,7 +42,14 @@ source=("$pkgname-$pkgver.tar.gz::https://github.com/cataclysmbnteam/Cataclysm-B "backport-03_feat-balance-power-armor-updates-3625.patch" "backport-03-2_fix-bugfixes-Fix-light-and-helmet-power-helms-having.patch" "backport-03-3_feat-balance-HEAVY_WEAPON_SUPPORT-flag-for-large-mut.patch" - "backport-04_fix-farm-mapgen-3715.patch" + "backport-04_feat-content-port-game-store-3469.patch" + "backport-04-2_Add-street-lights-to-remaining-shops-port-change-to-.patch" + "backport-05_fix-farm-mapgen-3715.patch" + "backport-06_fix-campground-mapgen-3702.patch" + "backport-07_feat-interface-new-UDP-external-tileset-sprite-for-s.patch" + "External_Tileset_DP_Normal.png" + "backport-08_feat-Convert-non-pistol-only-energy-weapon-mods-to-b.patch" + "backport-09_feat-balance-MILITARY_MECH-flag-affects-ID-card-need.patch" "revert-01_removed-traits.patch" "revert-02_revert-book-revamp.patch" @@ -173,7 +180,14 @@ b2sums=('4d47457c12a539ed6fa1c5b1351f473e43aecfe1e4f2aafd37e7068fc166d95c7f72980 'c7d5c65d71f87439ffece8f230257c03b066f90a9b94194a21a3d7a59057d12e2fbf4378d485623c635d3e077ab864a6e90b1173c899e31004c5315d6a2145fe' '20e5409086ab1927df3eab494d804d31d0544cd5444c166b760f7a7d574ea2975ad74d4d974d2e263f557f6a1e9757422dfee95b08f39db94a916372e1a1a2b1' 'fd7a7e216e3adda177a19747b5275a7222238c939e0d815e555665adbae18665db46e04691b95022aba14cf133110607dc10f6baf7540517314ebeb1b6bf2d69' + 'c5368de53a75e45f074acfc062cddcd07fc5615ecef77fe16b37ba7cec1ee7cea6ff1bd3b8fae66d51aab5f6ea43e39c372814064b2de5f4e0774531ace07290' + '67e6dccd3f6ed1b8ffddb631b8f81a4d1162349f96b7cf6eac2f73f43a2f076c2a9fcdf328c1f130461a14d308deaf19cf9c147eee41313afa823e9d2b5c51e1' 'd48d017ccf864d9cfd30051cc3bd94ca53c9a5982cc2d65ece9da487e3c6fcded2b83f95062227d8e778085aa578bfd0ab3c7f5cde095a5def3f7e52973bc5d1' + '2561b1ee8dac83b1b26049004fb6c5719441977d89af4e56458d464acf315ee1adddb8420ee077a6ab7fb014761540bcd3aef0451452d66b72b4efc6838cf48a' + 'c7321241e4bbe4bff078eb308a044568adcf57104284446c9f24399b37ac7693ac2203beff0a1e072d3db71380516ec5bdaac7338220886bd45f1cc670b5f2bb' + 'ba9a966dc826e5190adca3439da8e98eb493072e7df0ea5383e8d3eed7e22041c74368dfff9c8666cd800a552d156b11838aa961db73a485686d8939794189f4' + '03562be8187854c02003cbb40d021e2457bd6ba346ed0b106c40ad4fe4d700f83f463041c11da1076c2ec4440f2b03c013089c451491598f47ab64750e408205' + '7bc0e4907e069b40fdf06be91155f6bc99beeed425e20072d7dfa591977504c0959ad42f497cc0f33545c205028e823ef5c9cf568e51180a1fc65c3442812f86' 'fdef1f81084e7b08203b8464f37a00e2efc8b11d423c6e6b82e612392d91047160d2bc472b63c836ebc48adee0b4f2b3434c3e07eed5876275b234e69d7f6b9c' 'c2d6d7f74ada2ef54079fdf3759d9875552e2894dc8b753435acc692e705a9b297674eddb4e5a01a9269a84be7a82a8fef7e5762724b4d0f065976e877a05b00' 'e417a1786fbafb685099431f7f9926201ab80636bf3812da67acc341c7ef2b6a3853734d5b8b1bc355acbd5c0bedefb0401f8854aa5cb00032550afc8a7b9ebe' @@ -223,7 +237,7 @@ b2sums=('4d47457c12a539ed6fa1c5b1351f473e43aecfe1e4f2aafd37e7068fc166d95c7f72980 'bc5e233c9c5b7f799a126d51d672ad510ff4f6f75a573ea8b8e994d6be07375c0b4997acef16dacad555a7f36907a361f6cc4076b97d66c4c567dc9e707bc37e' '863676b5168dc2a63ad89a5c9de6f52b65a681954c7a646c2e9a9ca4decad871ab6674df7b8e6d4fa08e90ec0696771a2c5afce358e5e9b729adbd2fc7360aef' '6478e17056a909a6674721d496047e5b3abe2deaf355d4a90461daf702281f5c21acc5e4ccee394917f07e6f2065daf9405384061d80cc2e528ddd3369765b98' - '93be2ff64a3217f92b369c067121683083859c7e939535e55f11818dc346d4862a50faa371315ad28ab54c9778c749d7684e8a7d68a18f774be3c2fe7891bd62' + '49d39404138e5e45fdb05b772636388eb7aada9dab6e549904e4b87053329d9df506ad6f390d73fb25c518299459df657ca6e02142fed9d29f4cd1c5f89734d7' '246a189a0002e755bbed91257c324d0f34bab724f38a31bad1d5eb8bc5b126ecb3a0af8f69a6d0f5f084930c670d2747942beabab0b684f7f66a13044dec394a' '739d0a1acbf6cdd1c6e78cac75a792d475b140219ffbf8c44d4db9fa82dc93f0822763be14c81afe69ab167a611a5d89fceb3df39d28b191835e14628c369140' 'f7a9c6d083f73c780be2f7ebf4e5e8deb4001aaca39b73ec9c6a5ef69f0621b45f9c384f32bc1c86cf238052ad77cf4703cc07886ede8bc62f19433d838b282a' @@ -323,8 +337,25 @@ prepare() { patch -Np1 --no-backup-if-mismatch -i "$srcdir"/backport-03-2_fix-bugfixes-Fix-light-and-helmet-power-helms-having.patch patch -Np1 --no-backup-if-mismatch -i "$srcdir"/backport-03-3_feat-balance-HEAVY_WEAPON_SUPPORT-flag-for-large-mut.patch + # Backport streetlights and the game store required for it + patch -Np1 --no-backup-if-mismatch -i "$srcdir"/backport-04_feat-content-port-game-store-3469.patch + patch -Np1 --no-backup-if-mismatch -i "$srcdir"/backport-04-2_Add-street-lights-to-remaining-shops-port-change-to-.patch + # Backport some farm fixes - patch -Np1 --no-backup-if-mismatch -i "$srcdir"/backport-04_fix-farm-mapgen-3715.patch + patch -Np1 --no-backup-if-mismatch -i "$srcdir"/backport-05_fix-farm-mapgen-3715.patch + + # Backport some campground fixes + patch -Np1 --no-backup-if-mismatch -i "$srcdir"/backport-06_fix-campground-mapgen-3702.patch + + # Backport some external tileset changes + patch -Np1 --no-backup-if-mismatch -i "$srcdir"/backport-07_feat-interface-new-UDP-external-tileset-sprite-for-s.patch + cp -f "$srcdir"/External_Tileset_DP_Normal.png data/json/external_tileset/External_Tileset_DP_Normal.png + + # Backport energy weapon mod fixes + patch -Np1 --no-backup-if-mismatch -i "$srcdir"/backport-08_feat-Convert-non-pistol-only-energy-weapon-mods-to-b.patch + + # Backport industrial mech incorrectly requiring a military ID card + patch -Np1 --no-backup-if-mismatch -i "$srcdir"/backport-09_feat-balance-MILITARY_MECH-flag-affects-ID-card-need.patch # # # Reverts diff --git a/backport-04-2_Add-street-lights-to-remaining-shops-port-change-to-.patch b/backport-04-2_Add-street-lights-to-remaining-shops-port-change-to-.patch new file mode 100644 index 0000000..a004c37 --- /dev/null +++ b/backport-04-2_Add-street-lights-to-remaining-shops-port-change-to-.patch @@ -0,0 +1,1718 @@ +From 1c153718ab5ebddf00e83394a51c48692a338b4b Mon Sep 17 00:00:00 2001 +From: Chaosvolt +Date: Thu, 9 Nov 2023 04:58:40 -0600 +Subject: [PATCH] Add street lights to remaining shops, port change to make + them no longer opaque (#3594) + +* Add street lights to remaining shops + +* Updoots + +* Also port streetlight thing + +Co-Authored-By: Fris0uman <41293484+Fris0uman@users.noreply.github.com> + +--------- + +Co-authored-by: Fris0uman <41293484+Fris0uman@users.noreply.github.com> +--- + .../furniture-appliances.json | 2 +- + .../furniture-terrains.json | 4 ++-- + data/json/mapgen/diner.json | 2 +- + data/json/mapgen/gunsmith.json | 2 +- + data/json/mapgen/recycle_center.json | 12 +++++++++--- + data/json/mapgen/restaurant.json | 16 ++++++++++++---- + data/json/mapgen/restaurant_fast.json | 8 ++++++-- + data/json/mapgen/s_bookstore.json | 18 ++++++++++++------ + data/json/mapgen/s_candy.json | 8 ++++++-- + data/json/mapgen/s_clothing.json | 19 ++++++++++++------- + data/json/mapgen/s_coffee.json | 12 +++++++++--- + data/json/mapgen/s_electronics.json | 14 ++++++++++---- + data/json/mapgen/s_furniture.json | 4 +++- + data/json/mapgen/s_games.json | 4 +++- + data/json/mapgen/s_gas.json | 14 +++++++++----- + data/json/mapgen/s_grocery.json | 17 ++++++++++++++--- + data/json/mapgen/s_gun.json | 16 ++++++++++++---- + data/json/mapgen/s_hardware.json | 16 ++++++++++++---- + data/json/mapgen/s_icecream.json | 4 +++- + data/json/mapgen/s_liquor.json | 4 +++- + data/json/mapgen/school_1.json | 4 +++- + data/json/mapgen/smallscrapyard.json | 4 +++- + data/json/mapgen/smoke_lounge.json | 8 ++++++-- + data/json/mapgen/sports_store.json | 4 +++- + data/json/mapgen/station_radio.json | 8 ++++++-- + data/json/mapgen/storage_units_large.json | 4 +++- + data/json/mapgen/storage_units_medium.json | 4 +++- + data/json/mapgen/storage_units_small.json | 4 +++- + data/json/mapgen/teashop.json | 8 ++++++-- + data/json/mapgen/thrift.json | 4 +++- + data/json/mapgen/veterinarian.json | 4 +++- + data/json/mapgen/vfw.json | 4 +++- + data/json/mapgen/warehouse.json | 6 ++++-- + .../clothes_store_palette.json | 7 ++++++- + data/mods/No_Hope/Mapgen/school_1.json | 4 +++- + 35 files changed, 198 insertions(+), 75 deletions(-) + +diff --git a/data/json/furniture_and_terrain/furniture-appliances.json b/data/json/furniture_and_terrain/furniture-appliances.json +index a0dd071fb08..42707a73da0 100644 +--- a/data/json/furniture_and_terrain/furniture-appliances.json ++++ b/data/json/furniture_and_terrain/furniture-appliances.json +@@ -260,7 +260,7 @@ + "move_cost_mod": -1, + "coverage": 40, + "required_str": -1, +- "flags": [ "BASHABLE" ], ++ "flags": [ "BASHABLE", "TRANSPARENT" ], + "examine_action": "transform", + "transforms_into": "f_street_light_rewired_on", + "prompt": "Switch on the street light.", +diff --git a/data/json/furniture_and_terrain/furniture-terrains.json b/data/json/furniture_and_terrain/furniture-terrains.json +index 93b8b04c453..c3baf2822a4 100644 +--- a/data/json/furniture_and_terrain/furniture-terrains.json ++++ b/data/json/furniture_and_terrain/furniture-terrains.json +@@ -722,7 +722,7 @@ + "move_cost_mod": -1, + "coverage": 40, + "required_str": -1, +- "flags": [ "BASHABLE" ], ++ "flags": [ "BASHABLE", "TRANSPARENT" ], + "deconstruct": { + "items": [ + { "item": "pipe", "count": 8 }, +@@ -759,7 +759,7 @@ + "move_cost_mod": -1, + "coverage": 40, + "required_str": 32, +- "flags": [ "BASHABLE" ], ++ "flags": [ "BASHABLE", "TRANSPARENT" ], + "bash": { + "str_min": 30, + "str_max": 100, +diff --git a/data/json/mapgen/diner.json b/data/json/mapgen/diner.json +index 038b6e5caba..9cc0551086a 100644 +--- a/data/json/mapgen/diner.json ++++ b/data/json/mapgen/diner.json +@@ -38,7 +38,7 @@ + ",": "t_pavement_y", + "-": "t_wall_w", + ".": "t_grass", +- "'": "t_sidewalk", ++ "'": "t_pavement", + "=": "t_sidewalk", + "G": "t_linoleum_gray", + "H": "t_linoleum_white", +diff --git a/data/json/mapgen/gunsmith.json b/data/json/mapgen/gunsmith.json +index e69cc01605e..c0b3988ac7b 100644 +--- a/data/json/mapgen/gunsmith.json ++++ b/data/json/mapgen/gunsmith.json +@@ -7,7 +7,7 @@ + "object": { + "fill_ter": "t_floor", + "rows": [ +- "__________________sss'__", ++ "__________________sss__'", + "_,___,___,___,___,sss_%_", + "_,___,___,___,___,sss_%_", + "_,___,___,___,___,sss_%_", +diff --git a/data/json/mapgen/recycle_center.json b/data/json/mapgen/recycle_center.json +index 6baee912caf..63875d260b1 100644 +--- a/data/json/mapgen/recycle_center.json ++++ b/data/json/mapgen/recycle_center.json +@@ -4,6 +4,7 @@ + "object": { + "fill_ter": "t_thconc_floor", + "furniture": { ++ "'": "f_street_light", + "#": "f_table", + "&": "f_trashcan", + "P": "f_sign", +@@ -29,7 +30,7 @@ + { "chance": 50, "repeat": [ 180, 350 ], "item": "recycle_plastic", "x": [ 7, 8 ], "y": [ 11, 19 ] } + ], + "rows": [ +- ".........s..............", ++ ".........s.............'", + ".........s..............", + ".........s..............", + ".........s..............", +@@ -58,6 +59,7 @@ + "&": "t_floor", + "+": "t_door_metal_c", + ".": [ "t_grass", "t_grass", "t_grass", "t_grass", "t_dirt" ], ++ "'": "t_dirt", + "D": "t_door_c", + "_": "t_thconc_floor", + "c": "t_floor", +@@ -140,6 +142,7 @@ + "object": { + "fill_ter": "t_thconc_floor", + "furniture": { ++ "'": "f_street_light", + "#": "f_table", + "&": "f_trashcan", + "C": "f_chair", +@@ -169,7 +172,7 @@ + ], + "place_vehicles": [ { "chance": 75, "fuel": 0, "rotation": 270, "status": -1, "vehicle": "forklift", "x": 16, "y": [ 7, 16 ] } ], + "rows": [ +- ".....cccc...............", ++ ".....cccc..............'", + ".....cccc...............", + ".....cccc...............", + "..---S++S--|||ww||D|w|..", +@@ -198,6 +201,7 @@ + "+": "t_chaingate_c", + "-": "t_chainfence", + ".": [ "t_grass", "t_grass", "t_grass", "t_grass", "t_dirt" ], ++ "'": "t_dirt", + "D": "t_door_metal_c", + "P": "t_concrete", + "S": "t_chainfence", +@@ -283,6 +287,7 @@ + "object": { + "fill_ter": "t_thconc_floor", + "furniture": { ++ "'": "f_street_light", + "#": "f_counter", + "&": "f_trashcan", + "P": "f_sign", +@@ -309,7 +314,7 @@ + ], + "place_loot": [ { "item": "television", "x": 4, "y": 14, "chance": 100 }, { "item": "stepladder", "x": 8, "y": 13, "chance": 100 } ], + "rows": [ +- "__________ppppp_________", ++ "__________ppppp________'", + "__________ppppp_________", + "______4___ppppp_____7___", + "_4________ppppp_________", +@@ -344,6 +349,7 @@ + "P": "t_concrete", + "R": "t_recycler", + "_": [ "t_grass", "t_grass", "t_grass", "t_grass", "t_dirt" ], ++ "'": "t_dirt", + "p": "t_pavement", + "s": "t_grass", + "t": "t_thconc_floor", +diff --git a/data/json/mapgen/restaurant.json b/data/json/mapgen/restaurant.json +index 033ac5d8031..53f703b94af 100644 +--- a/data/json/mapgen/restaurant.json ++++ b/data/json/mapgen/restaurant.json +@@ -7,7 +7,7 @@ + "object": { + "fill_ter": "t_floor", + "rows": [ +- "____,____,____,____,____", ++ "____,____,____,____,___'", + "____,____,____,____,____", + "____,____,____,____,____", + "____,____,____,____,____", +@@ -48,6 +48,7 @@ + "S": "t_linoleum_white", + "W": "t_window", + "_": "t_pavement", ++ "'": "t_pavement", + "d": "t_pavement", + "g": "t_linoleum_gray", + "w": "t_linoleum_white", +@@ -57,6 +58,7 @@ + "|": "t_wall_r" + }, + "furniture": { ++ "'": "f_street_light", + "#": "f_counter", + "&": "f_trashcan", + "B": "f_bench", +@@ -170,7 +172,7 @@ + "object": { + "fill_ter": "t_carpet_green", + "rows": [ +- "ssssssssssssssssssssssss", ++ "sssssssssssssssssssssss`", + "ssssssssssssssssssssssss", + "ssss|-------------|sssss", + "____|&wlfF|.......|sssss", +@@ -220,6 +222,7 @@ + "g": "t_wall_glass", + "l": "t_linoleum_gray", + "s": "t_sidewalk", ++ "`": "t_sidewalk", + "w": "t_linoleum_white", + "{": "t_linoleum_white", + "4": "t_gutter_downspout", +@@ -228,6 +231,7 @@ + "|": "t_wall_y" + }, + "furniture": { ++ "`": "f_street_light", + "#": "f_counter", + "2": "f_counter", + "&": "f_trashcan", +@@ -342,7 +346,7 @@ + "object": { + "fill_ter": "t_linoleum_white", + "rows": [ +- "____,____,____,____,____", ++ "____,____,____,____,___'", + "____,____,____,____,____", + "____,____,____,____,____", + "____,____,____,____,____", +@@ -385,6 +389,7 @@ + "c": "t_rdoor_b", + "x": "t_linoleum_white", + "_": "t_pavement", ++ "'": "t_pavement", + "f": "t_linoleum_white", + "t": "t_linoleum_white", + "4": "t_gutter_downspout", +@@ -394,6 +399,7 @@ + "|": "t_wall_w" + }, + "furniture": { ++ "'": "f_street_light", + "#": "f_counter", + "G": "f_oven", + "x": "f_rack", +@@ -511,7 +517,7 @@ + "object": { + "fill_ter": "t_floor", + "rows": [ +- "____,____,____,____,____", ++ "____,____,____,____,___'", + "____,____,____,____,____", + "____,____,____,____,____", + "____,____,____,____,____", +@@ -553,6 +559,7 @@ + "S": "t_linoleum_white", + "W": "t_window", + "_": "t_pavement", ++ "'": "t_pavement", + "d": "t_pavement", + "g": "t_linoleum_gray", + "w": "t_linoleum_white", +@@ -563,6 +570,7 @@ + "|": "t_wall_p" + }, + "furniture": { ++ "'": "f_street_light", + "#": "f_counter", + "&": "f_trashcan", + "B": "f_bench", +diff --git a/data/json/mapgen/restaurant_fast.json b/data/json/mapgen/restaurant_fast.json +index 5dc4d3f73fd..21cd246c537 100644 +--- a/data/json/mapgen/restaurant_fast.json ++++ b/data/json/mapgen/restaurant_fast.json +@@ -7,7 +7,7 @@ + "object": { + "fill_ter": "t_floor", + "rows": [ +- ",_____ssssssssssss_____,", ++ ",_____ssssssssssss_____'", + ",__,__#### ss ####__,__,", + ",_,,,_#ssssssssss#__,__,", + ",__,__#HTHssssHTH#__,__,", +@@ -45,6 +45,7 @@ + "%": "t_wall_glass", + "+": "t_door_glass_c", + ",": "t_pavement_y", ++ "'": "t_pavement_y", + "-": "t_wall_w", + ".": "t_floor", + "5": "t_wall_glass", +@@ -66,6 +67,7 @@ + "|": "t_wall_w" + }, + "furniture": { ++ "'": "f_street_light", + "H": "f_chair", + "O": "f_woodstove", + "S": "f_sink", +@@ -168,7 +170,7 @@ + "object": { + "fill_ter": "t_floor", + "rows": [ +- "____,,,,,#ssssssssssssss", ++ "____,,,,,#sssssssssssss'", + "_________#ss|555++++555|", + "_________#ss5.HH.HH..hh|", + "_________#ss5.TT.TT..Th|", +@@ -216,6 +218,7 @@ + "r": "t_linoleum_gray", + "d": "t_sidewalk", + "s": "t_sidewalk", ++ "'": "t_sidewalk", + "D": "t_door_locked", + "t": "t_door_c", + "w": "t_linoleum_white", +@@ -224,6 +227,7 @@ + "|": "t_wall_w" + }, + "furniture": { ++ "'": "f_street_light", + "H": "f_chair", + "F": "f_arcade_machine", + "S": "f_sink", +diff --git a/data/json/mapgen/s_bookstore.json b/data/json/mapgen/s_bookstore.json +index 625a11737e3..1553c7f116b 100644 +--- a/data/json/mapgen/s_bookstore.json ++++ b/data/json/mapgen/s_bookstore.json +@@ -7,7 +7,7 @@ + "object": { + "fill_ter": "t_floor", + "rows": [ +- "~~~~~~~~~~~~~~~~~~~~~~~~", ++ "~~~~~~~~~~~~~~~~~~~~~~~'", + "~~~~~~~~~~~~~~~~~~~~~~~~", + "*|----OOO-::--OO--OO--|*", + "*|s.l#.Thf..#ccccccccc|*", +@@ -45,9 +45,11 @@ + "|": "t_wall_w", + "4": "t_gutter_downspout", + "<": "t_ladder_up", +- "~": "t_sidewalk" ++ "~": "t_sidewalk", ++ "'": "t_sidewalk" + }, + "furniture": { ++ "'": "f_street_light", + "#": "f_counter", + "T": "f_table", + "]": "f_rack", +@@ -226,7 +228,7 @@ + "object": { + "fill_ter": "t_floor", + "rows": [ +- "~~~~~~~~~~~~~~~~~~~~~~~~", ++ "~~~~~~~~~~~~~~~~~~~~~~~'", + "~~~~~~~~~~~~~~~~~~~~~~~~", + "~~~~~~~~~~~~~~~~~~~~~~~~", + "**|========::-OO--OO-|**", +@@ -264,9 +266,11 @@ + "O": "t_window", + "q": "t_grass", + "|": "t_wall_w", +- "~": "t_sidewalk" ++ "~": "t_sidewalk", ++ "'": "t_sidewalk" + }, + "furniture": { ++ "'": "f_street_light", + "#": "f_counter", + "T": "f_table", + "[": "f_rack", +@@ -433,7 +437,7 @@ + "object": { + "fill_ter": "t_floor", + "rows": [ +- "~~~~~~~~~~~~~~~~~~~~~~~~", ++ "~~~~~~~~~~~~~~~~~~~~~~~'", + "~~~qSq~~~~~~~~~~qqq~~~~~", + "~~~~~~~~~~~~~~~~~~~~~~~~", + "~~~~~~~~~~~~~~~~~~~~~~~~", +@@ -471,9 +475,11 @@ + "q": "t_dirt", + "|": "t_wall_w", + "4": "t_gutter_downspout", +- "~": "t_sidewalk" ++ "~": "t_sidewalk", ++ "'": "t_sidewalk" + }, + "furniture": { ++ "'": "f_street_light", + "#": "f_counter", + "S": "f_statue", + "T": "f_table", +diff --git a/data/json/mapgen/s_candy.json b/data/json/mapgen/s_candy.json +index f3afd458e67..b624abe21ee 100644 +--- a/data/json/mapgen/s_candy.json ++++ b/data/json/mapgen/s_candy.json +@@ -7,7 +7,7 @@ + "object": { + "fill_ter": "t_floor", + "rows": [ +- ".............dssd.......", ++ ".............dssd......'", + "....fD..f.D..dssd....fD.", + "........D.f..dssd..d....", + "...uudud.....dssd.d7d...", +@@ -36,6 +36,7 @@ + "+": "t_door_c", + "-": "t_wall_glass", + ".": [ [ "t_grass", 5 ], [ "t_grass_long", 5 ], "t_dirt" ], ++ "'": "t_dirt", + "7": "t_tree_apple_harvested", + "D": "t_dirt", + "R": "t_railing_v", +@@ -55,6 +56,7 @@ + "|": "t_wall_y" + }, + "furniture": { ++ "'": "f_street_light", + "#": "f_counter", + "&": "f_trashcan", + "B": "f_bench", +@@ -168,7 +170,7 @@ + "object": { + "fill_ter": "t_floor", + "rows": [ +- "............ss..........", ++ "............ss.........'", + "............ss..........", + "...d....d...ss.u.u.u.u..", + "..d7d..d4d..ss|||||||||.", +@@ -197,6 +199,7 @@ + "+": "t_door_glass_c", + "-": "t_wall_glass", + ".": [ [ "t_grass", 5 ], [ "t_grass_long", 5 ], "t_dirt" ], ++ "'": "t_dirt", + "4": "t_tree_pine", + "7": "t_tree_birch_harvested", + "D": "t_dirt", +@@ -218,6 +221,7 @@ + "|": "t_brick_wall" + }, + "furniture": { ++ "'": "f_street_light", + "#": "f_counter", + "&": "f_trashcan", + "C": "f_chair", +diff --git a/data/json/mapgen/s_clothing.json b/data/json/mapgen/s_clothing.json +index f4957f00293..0de27ff1eca 100644 +--- a/data/json/mapgen/s_clothing.json ++++ b/data/json/mapgen/s_clothing.json +@@ -8,7 +8,7 @@ + "object": { + "fill_ter": "t_floor", + "rows": [ +- "...........--...........", ++ "...........--..........'", + "...........--...........", + "..##:::::::**:::::::##..", + "..# y &y&y(y #..", +@@ -34,6 +34,7 @@ + "....................4..." + ], + "palettes": [ "standard_building_palette", "clothes_store_palette" ], ++ "terrain": { "'": "t_region_groundcover_urban" }, + "place_monsters": [ { "monster": "GROUP_ZOMBIE", "x": [ 0, 0 ], "y": [ 23, 23 ], "chance": 2, "repeat": [ 2, 3 ] } ], + "vehicles": { ".": { "vehicle": "shopping_cart", "chance": 1, "status": 0 } } + } +@@ -99,7 +100,7 @@ + "object": { + "fill_ter": "t_floor", + "rows": [ +- "------------------------", ++ "-----------------------'", + "-----.ppp.-----.ppp.----", + "------------------------", + "...#:::::::***:::::::#..", +@@ -186,7 +187,7 @@ + "object": { + "fill_ter": "t_floor", + "rows": [ +- "------------------------", ++ "-----------------------'", + "------------------------", + "------------------------", + "..p--####:::++:::#......", +@@ -274,7 +275,7 @@ + "object": { + "fill_ter": "t_floor", + "rows": [ +- "~~~~~~~~~~~~~~~~~~~~~~~~", ++ "~~~~~~~~~~~~~~~~~~~~~~~'", + "~~~~~~~~~~~~~~~~~~~~~~~~", + "~~~~11~~~~1111~~~11~~~~~", + "***|===::----==::==|****", +@@ -311,11 +312,13 @@ + "i": "t_door_locked_interior", + "|": "t_wall_w", + "~": "t_sidewalk", ++ "'": "t_sidewalk", + "1": "t_sidewalk", + "4": "t_gutter_downspout" + }, + "sealed_item": { "1": { "item": { "item": "seed_rose" }, "furniture": "f_planter_harvest" } }, + "furniture": { ++ "'": "f_street_light", + "#": "f_counter", + "&": "f_counter_gate_c", + "@": "f_mannequin", +@@ -409,7 +412,7 @@ + "object": { + "fill_ter": "t_floor", + "rows": [ +- "------------------------", ++ "-----------------------'", + "------------------------", + "------------------------", + ".#:::::**::::::**:::::#.", +@@ -549,7 +552,7 @@ + "object": { + "fill_ter": "t_floor", + "rows": [ +- "~~~~~~~~~~~~~~~~~~~~~~~~", ++ "~~~~~~~~~~~~~~~~~~~~~~~'", + "~~~~~~~~~~~~~~~~~~~~~~~~", + "*****rzr**~~~**rzr******", + "*****rzr**~~~**rzr******", +@@ -593,10 +596,12 @@ + "z": "t_shrub", + "|": "t_brick_wall", + "~": "t_sidewalk", ++ "'": "t_sidewalk", + "R": "t_grass", + "4": "t_gutter_downspout" + }, + "furniture": { ++ "'": "f_street_light", + "#": "f_counter", + "@": "f_mannequin", + "H": "f_chair", +@@ -699,7 +704,7 @@ + "object": { + "fill_ter": "t_floor", + "rows": [ +- "------------------------", ++ "-----------------------'", + "----ppppp------ppppp----", + "------------------------", + "..#:::::::#**#:::::::#..", +diff --git a/data/json/mapgen/s_coffee.json b/data/json/mapgen/s_coffee.json +index 6b005ff91ba..647ea9e335f 100644 +--- a/data/json/mapgen/s_coffee.json ++++ b/data/json/mapgen/s_coffee.json +@@ -13,7 +13,7 @@ + "object": { + "fill_ter": "t_floor", + "rows": [ +- "S___________SSTzzzzzzzTS", ++ "S___________SSTzzzzzzzT'", + "S_____,_____SSzMbMbMbMzS", + "S_____,_____SSSSSSSS/MzS", + "S_____,_____SSSSSSSS/MzS", +@@ -59,6 +59,7 @@ + "M": "t_dirt", + "O": "t_window", + "S": "t_sidewalk", ++ "'": "t_sidewalk", + "U": "t_linoleum_white", + "V": "t_wall_glass", + "W": "t_fencegate_c", +@@ -77,6 +78,7 @@ + "T": "t_tree_coffee" + }, + "furniture": { ++ "'": "f_street_light", + "#": "f_counter", + "%": "f_trashcan", + "/": "f_bluebell", +@@ -187,7 +189,7 @@ + "//": "Default fill is floor but some tables are outside", + "fill_ter": "t_floor", + "rows": [ +- "_______,,,,,,,ss########", ++ "_______,,,,,,,s'########", + "______________ss#pppppp#", + "______________ssspHTTHp#", + "______________ssspppppp#", +@@ -241,11 +243,13 @@ + "p": "t_concrete", + "r": "t_linoleum_white", + "s": "t_sidewalk", ++ "'": "t_sidewalk", + "x": "t_console_broken", + "4": "t_gutter_downspout", + "|": "t_wall_b" + }, + "furniture": { ++ "'": "f_street_light", + "&": "f_trashcan", + "H": "f_chair", + "O": "f_oven", +@@ -333,6 +337,7 @@ + "object": { + "fill_ter": "t_floor", + "furniture": { ++ "'": "f_street_light", + "#": "f_chair", + "&": "f_trashcan", + "+": "f_null", +@@ -378,7 +383,7 @@ + ], + "place_toilets": [ { "x": 20, "y": 17 } ], + "rows": [ +- "______________sss_______", ++ "______________sss______'", + "______u__u____sss_______", + "____uSSuSSSu__sss_SSS___", + "__||||||----||sss||w||__", +@@ -414,6 +419,7 @@ + "T": "t_floor", + "^": "t_floor", + "_": "t_grass", ++ "'": "t_dirt", + "a": "t_floor", + "b": "t_door_metal_pickable", + "c": "t_floor", +diff --git a/data/json/mapgen/s_electronics.json b/data/json/mapgen/s_electronics.json +index 6bc6965bc10..ab3923027a1 100644 +--- a/data/json/mapgen/s_electronics.json ++++ b/data/json/mapgen/s_electronics.json +@@ -8,7 +8,7 @@ + "object": { + "fill_ter": "t_linoleum_gray", + "rows": [ +- "zs______,______,______sz", ++ "ss______,______,______s'", + "zs______,______,______sz", + "zs______,______,______sz", + "zs______,______,______sz", +@@ -50,6 +50,7 @@ + "_": "t_pavement", + "d": "t_pavement", + "s": "t_sidewalk", ++ "'": "t_sidewalk", + "x": "t_console_broken", + "z": "t_shrub", + "|": "t_wall_w", +@@ -57,6 +58,7 @@ + "<": "t_ladder_up" + }, + "furniture": { ++ "'": "f_street_light", + "#": "f_counter", + "C": "f_displaycase", + "E": "f_desk", +@@ -166,8 +168,8 @@ + "object": { + "fill_ter": "t_floor", + "rows": [ +- " xxxxxxx 9 ", +- " 9 xxxpJpxxx 9 ", ++ " xxxxxxx 9 '", ++ " 9 xxxpJpxxx 9 ", + " xxxxxxxxxxxxxxxx", + " ------:::-+--:::--- x", + " 9 |{{{{{y.......#..Y| x", +@@ -193,6 +195,7 @@ + ], + "terrain": { + " ": [ "t_grass", "t_grass", "t_grass", "t_dirt" ], ++ "'": "t_dirt", + ".": "t_floor", + "p": "t_grass", + "J": "t_grass", +@@ -232,6 +235,7 @@ + "4": "t_gutter_downspout" + }, + "furniture": { ++ "'": "f_street_light", + "#": "f_counter", + "{": "f_rack", + "S": "f_stool", +@@ -331,7 +335,7 @@ + "object": { + "fill_ter": "t_region_groundcover_urban", + "rows": [ +- " ____________________ ", ++ " ____________________ '", + " *___*___*______*___* ", + " ---:::---+----:::--- ", + " |H....#...........R| ", +@@ -357,6 +361,7 @@ + " ==================== " + ], + "terrain": { ++ "'": "t_region_groundcover_urban", + "*": "t_pavement_y", + "+": "t_door_metal_pickable", + "-": "t_concrete_wall", +@@ -398,6 +403,7 @@ + ] + }, + "furniture": { ++ "'": "f_street_light", + "#": "f_counter", + "S": "f_stool", + "{": "f_rack", +diff --git a/data/json/mapgen/s_furniture.json b/data/json/mapgen/s_furniture.json +index 85599da1ad5..8ba0dcd792b 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": [ +- " ", ++ " '", + " |ggggggggg++ggggggggg| ", + " |.CphpH.c....O.O.&F&.| ", + " |B.....kc...........y| ", +@@ -34,6 +34,7 @@ + ], + "terrain": { + " ": "t_pavement", ++ "'": "t_pavement", + "+": "t_door_c", + "-": "t_wall_w", + "D": "t_door_locked", +@@ -43,6 +44,7 @@ + "4": "t_gutter_downspout" + }, + "furniture": { ++ "'": "f_street_light", + "#": "f_table", + "&": "f_fridge", + "B": "f_rack", +diff --git a/data/json/mapgen/s_games.json b/data/json/mapgen/s_games.json +index 18b62a01b36..f19b9a4eef6 100644 +--- a/data/json/mapgen/s_games.json ++++ b/data/json/mapgen/s_games.json +@@ -6,7 +6,7 @@ + "object": { + "fill_ter": "t_carpet_purple", + "rows": [ +- "......fg____g____g____gf", ++ "......fg____g____g____g'", + "......fg____g____g____gf", + "......fg____g____g____gf", + "......fg____g____g____gf", +@@ -40,6 +40,7 @@ + "_": "t_pavement", + ".": "t_region_groundcover_urban", + "f": "t_sidewalk", ++ "'": "t_sidewalk", + "g": "t_pavement_y", + "h": "t_carpet_purple", + "i": "t_carpet_purple", +@@ -56,6 +57,7 @@ + "9": "t_gutter_downspout" + }, + "furniture": { ++ "'": "f_street_light", + "h": "f_rack_wood", + "i": "f_counter", + "ƃ": "f_counter_gate_c", +diff --git a/data/json/mapgen/s_gas.json b/data/json/mapgen/s_gas.json +index 5f276fe967f..0ead27e3b96 100644 +--- a/data/json/mapgen/s_gas.json ++++ b/data/json/mapgen/s_gas.json +@@ -7,7 +7,7 @@ + "object": { + "fill_ter": "t_pavement", + "rows": [ +- "........................", ++ ".......................'", + ".-----..................", + ".|...|..........sss.....", + ".|...|...........&s.....", +@@ -38,11 +38,12 @@ + "+": "t_chaingate_l", + "-": "t_chainfence_h", + ".": "t_pavement", ++ "'": "t_pavement", + "5": "t_gas_pump", + "s": "t_little_column", + "|": "t_chainfence_v" + }, +- "furniture": { "9": "f_aut_gas_console" }, ++ "furniture": { "'": "f_street_light", "9": "f_aut_gas_console" }, + "signs": { "P": { "signage": "Danger! Do not smoke! Risk of explosion!" } }, + "vendingmachines": { "1": { "item_group": "vending_drink" }, "2": { "item_group": "vending_food" } }, + "place_liquids": [ { "liquid": "gasoline", "x": 3, "y": 3, "repeat": [ 200, 1075 ] } ] +@@ -56,7 +57,7 @@ + "object": { + "fill_ter": "t_floor", + "rows": [ +- "____:]:____:____:]:____]", ++ "____:]:____:____:]:____'", + "____]]]____:____]]]____]", + "____!#!____:____!#!____]", + "____]]]____:____]]]____]", +@@ -82,7 +83,8 @@ + " 4 ]]]]]]]]]]]]]]]]" + ], + "palettes": [ "road" ], +- "terrain": { "P": "t_sidewalk", "4": "t_gutter_downspout" }, ++ "terrain": { "'": "t_sidewalk", "P": "t_sidewalk", "4": "t_gutter_downspout" }, ++ "furniture": { "'": "f_street_light" }, + "signs": { "P": { "signage": "Wide selection of storage batteries! Discounts!" } }, + "items": { "l": { "item": "cleaning", "chance": 70 }, "&": { "item": "trash_cart", "chance": 50 } }, + "place_loot": [ +@@ -161,7 +163,7 @@ + "object": { + "fill_ter": "t_floor", + "rows": [ +- "________________________", ++ "_______________________'", + "________________________", + "________________________", + "________________________", +@@ -202,10 +204,12 @@ + "O": "t_dirt", + "[": "t_fence_v", + "_": "t_pavement", ++ "'": "t_pavement", + "~": "t_fence_h", + "4": "t_gutter_downspout" + }, + "furniture": { ++ "'": "f_street_light", + "6": "f_table", + "9": "f_rack", + ":": "f_dresser", +diff --git a/data/json/mapgen/s_grocery.json b/data/json/mapgen/s_grocery.json +index 8fc7ac2924b..458e6612b1a 100644 +--- a/data/json/mapgen/s_grocery.json ++++ b/data/json/mapgen/s_grocery.json +@@ -6,7 +6,7 @@ + "weight": 500, + "object": { + "rows": [ +- "ssssssssssssssssssssssss", ++ "sssssssssssssssssssssss'", + "ssWWWWWWWWssssssssssssss", + "sswsssssssssssssssssssss", + "sswsssssssssssssssssssss", +@@ -57,12 +57,14 @@ + "l": "t_linoleum_gray", + "r": "t_linoleum_white", + "s": "t_sidewalk", ++ "'": "t_sidewalk", + "t": "t_linoleum_white", + "w": "t_chainfence_v", + "4": "t_gutter_downspout", + "|": "t_wall_w" + }, + "furniture": { ++ "'": "f_street_light", + "#": "f_counter", + "7": "f_bookcase", + "C": "f_crate_c", +@@ -187,7 +189,7 @@ + "object": { + "fill_ter": "t_floor", + "rows": [ +- " ", ++ " '", + " ", + " ---:::---++---:::--- ", + " |..................| ", +@@ -214,6 +216,7 @@ + ], + "terrain": { + " ": [ "t_grass", "t_grass", "t_grass", "t_dirt" ], ++ "'": "t_dirt", + "+": "t_door_c", + "-": "t_wall_w", + ".": "t_floor", +@@ -221,7 +224,15 @@ + "4": "t_gutter_downspout", + "|": "t_wall_w" + }, +- "furniture": { "#": "f_counter", "&": "f_glass_fridge", "{": "f_rack", "b": "f_stool", "S": "f_sink", "L": "f_locker" }, ++ "furniture": { ++ "'": "f_street_light", ++ "#": "f_counter", ++ "&": "f_glass_fridge", ++ "{": "f_rack", ++ "b": "f_stool", ++ "S": "f_sink", ++ "L": "f_locker" ++ }, + "toilets": { "T": { } }, + "place_items": [ + { "item": "fridgesnacks", "x": 3, "y": [ 10, 15 ], "chance": 80, "repeat": [ 1, 12 ] }, +diff --git a/data/json/mapgen/s_gun.json b/data/json/mapgen/s_gun.json +index b25e265ffb2..b1efabd10ec 100644 +--- a/data/json/mapgen/s_gun.json ++++ b/data/json/mapgen/s_gun.json +@@ -7,7 +7,7 @@ + "object": { + "fill_ter": "t_floor", + "rows": [ +- " ____________________ ", ++ " ____________________ '", + " *___*___*______*___* ", + " *___*___*______*___* ", + " *___*___*______*___* ", +@@ -38,6 +38,7 @@ + ], + "terrain": { + " ": [ "t_grass", "t_grass", "t_grass", "t_dirt" ], ++ "'": "t_dirt", + "*": "t_pavement_y", + "+": "t_door_metal_pickable", + "-": "t_wall_w", +@@ -57,6 +58,7 @@ + }, + "toilets": { "&": { } }, + "furniture": { ++ "'": "f_street_light", + "#": "f_counter", + "H": "f_counter", + "S": "f_stool", +@@ -202,7 +204,7 @@ + "object": { + "fill_ter": "t_floor", + "rows": [ +- "_ssssssssssssssssssssss_", ++ "_ssssssssssssssssssssss'", + "_s@@@@@@@_ssss_@@@@@@@s_", + "_s||555||_ssss_||555||s_", + "_s|#####5_ssss_5#####|s_", +@@ -239,6 +241,7 @@ + "D": "t_door_c", + "L": "t_door_metal_locked", + "_": "t_pavement", ++ "'": "t_pavement", + "s": "t_sidewalk", + "|": "t_wall_w", + "?": "t_console_broken", +@@ -246,6 +249,7 @@ + "4": "t_gutter_downspout" + }, + "furniture": { ++ "'": "f_street_light", + "#": "f_counter", + "a": "f_stool", + "E": "f_desk", +@@ -346,7 +350,7 @@ + "object": { + "fill_ter": "t_floor", + "rows": [ +- "_ssssssssssssssssssssss_", ++ "_ssssssssssssssssssssss'", + "_s@@xx@@@_ssss_@@@@@@@s_", + "_s||5l5||_ssss_||555||s_", + "_s|#lll#5_ssss_5#####|s_", +@@ -383,6 +387,7 @@ + "D": "t_door_o", + "L": "t_door_metal_locked", + "_": "t_pavement", ++ "'": "t_pavement", + "p": "t_door_metal_o", + "s": "t_sidewalk", + "|": "t_wall_w", +@@ -391,6 +396,7 @@ + "4": "t_gutter_downspout" + }, + "furniture": { ++ "'": "f_street_light", + "#": "f_counter", + "E": "f_desk", + "S": "f_sink", +@@ -449,7 +455,7 @@ + "object": { + "fill_ter": "t_floor", + "rows": [ +- "....d...d....dss..dd.d..", ++ "....d...d....dss..dd.d.'", + ".......d......ss........", + "d.............ssd.d.....", + "..d....d..d.dssss......d", +@@ -479,6 +485,7 @@ + "+": "t_door_metal_pickable", + "-": "t_brick_wall", + ".": "t_grass", ++ "'": "t_dirt", + "S": "t_grass", + "T": "t_dirt", + "W": "t_wall_w", +@@ -498,6 +505,7 @@ + "toilets": { ";": { } }, + "place_item": [ { "item": "corpse", "repeat": 1, "x": 19, "y": 12 } ], + "furniture": { ++ "'": "f_street_light", + "#": "f_sandbag_wall", + "&": "f_trashcan", + "C": "f_chair", +diff --git a/data/json/mapgen/s_hardware.json b/data/json/mapgen/s_hardware.json +index b0c7b87b010..6ad00420a5b 100644 +--- a/data/json/mapgen/s_hardware.json ++++ b/data/json/mapgen/s_hardware.json +@@ -7,7 +7,7 @@ + "object": { + "fill_ter": "t_floor", + "rows": [ +- "________________________", ++ "_______________________'", + "________________________", + "~~~~~~~~~~~_____________", + "~~~~~~~~~~~_____________", +@@ -41,12 +41,14 @@ + ";": "t_door_locked", + "O": "t_window", + "_": "t_pavement", ++ "'": "t_pavement", + "U": "t_pavement", + "|": "t_wall_w", + "~": "t_sidewalk", + "4": "t_gutter_downspout" + }, + "furniture": { ++ "'": "f_street_light", + "#": "f_counter", + "@": "f_locker", + "[": "f_bookcase", +@@ -132,7 +134,7 @@ + "object": { + "fill_ter": "t_floor", + "rows": [ +- "ppppp~~~~~~~~~~~~~~~~~~~", ++ "ppppp~~~~~~~~~~~~~~~~~~`", + "ppppp###---##++##---###~", + "ppppp#b.........v....P#'", + "ppppp#b.b.b.r..r.o.o.P#'", +@@ -179,6 +181,7 @@ + "w": "t_chainfence_v", + "|": "t_chaingate_c", + "~": "t_sidewalk", ++ "`": "t_sidewalk", + "4": "t_gutter_downspout" + }, + "sealed_item": { +@@ -188,6 +191,7 @@ + "M": { "item": { "item": "seed_flower" }, "furniture": "f_planter_harvest" } + }, + "furniture": { ++ "`": "f_street_light", + "D": "f_dumpster", + "H": "f_warehouse_shelf", + "P": "f_rack", +@@ -282,7 +286,7 @@ + "object": { + "fill_ter": "t_floor", + "rows": [ +- "~~~~~~~~~~~~~~~~~~~~~~~~", ++ "~~~~~~~~~~~~~~~~~~~~~~~'", + "*W^^^WW|-=--:---:---:-|*", + "*w~~~%~|..............|*", + "*w~~~v~|..............|*", +@@ -322,9 +326,11 @@ + "w": "t_chainfence_v", + "|": "t_wall_w", + "~": "t_sidewalk", ++ "'": "t_sidewalk", + "4": "t_gutter_downspout" + }, + "furniture": { ++ "'": "f_street_light", + "#": "f_counter", + "]": "f_rack", + "l": "f_stool", +@@ -416,7 +422,7 @@ + "object": { + "fill_ter": "t_floor", + "rows": [ +- "~~~~~~~~~~~~~~~~~~~~~~~~", ++ "~~~~~~~~~~~~~~~~~~~~~~~'", + "~~~WWWWWWWWW^^WWWWWWW~~~", + "***w~~~~~~~~~~~~~~~~w***", + "***w~~~~~~~~~~~~~~~~w***", +@@ -453,10 +459,12 @@ + "w": "t_chainfence_v", + "|": "t_wall_w", + "~": "t_sidewalk", ++ "'": "t_sidewalk", + "4": "t_gutter_downspout" + }, + "toilets": { "&": { } }, + "furniture": { ++ "'": "f_street_light", + "#": "f_counter", + "[": "f_table", + "]": "f_rack", +diff --git a/data/json/mapgen/s_icecream.json b/data/json/mapgen/s_icecream.json +index d080aec2899..54be44ee64a 100644 +--- a/data/json/mapgen/s_icecream.json ++++ b/data/json/mapgen/s_icecream.json +@@ -6,7 +6,7 @@ + "weight": 100, + "object": { + "rows": [ +- ".............d__d.......", ++ ".............d__d......`", + ".............d__d.......", + "...D...b.....d__d.......", + "..bab.DaD...d____d......", +@@ -38,6 +38,7 @@ + "+": "t_door_glass_c", + "-": "t_wall_y", + ".": "t_grass", ++ "`": "t_dirt", + "C": "t_sidewalk", + "D": "t_dirt", + "T": "t_floor", +@@ -67,6 +68,7 @@ + "4": "t_gutter_downspout" + }, + "furniture": { ++ "`": "f_street_light", + "#": "f_bench", + "&": "f_sink", + "C": "f_counter", +diff --git a/data/json/mapgen/s_liquor.json b/data/json/mapgen/s_liquor.json +index c3b46ee2a13..e7f1086e8c1 100644 +--- a/data/json/mapgen/s_liquor.json ++++ b/data/json/mapgen/s_liquor.json +@@ -7,7 +7,7 @@ + "object": { + "fill_ter": "t_floor", + "rows": [ +- " ", ++ " '", + " ", + " --:---------+--:-- ", + " |#..#####....cs..| ", +@@ -34,6 +34,7 @@ + ], + "terrain": { + " ": [ "t_grass", "t_grass", "t_grass", "t_dirt" ], ++ "'": "t_dirt", + "-": "t_wall_g", + ".": "t_floor", + ":": "t_window", +@@ -49,6 +50,7 @@ + "+": "t_door_c" + }, + "furniture": { ++ "'": "f_street_light", + "#": "f_rack", + "&": "f_glass_fridge", + "c": "f_counter", +diff --git a/data/json/mapgen/school_1.json b/data/json/mapgen/school_1.json +index f617810dc9a..ef14e1f33bd 100644 +--- a/data/json/mapgen/school_1.json ++++ b/data/json/mapgen/school_1.json +@@ -11,7 +11,7 @@ + "object": { + "fill_ter": "t_floor", + "rows": [ +- "ssssssss_______sssssssssssssssssssssssssssssssssssssssssssssssssssssssss", ++ "ssssssss_______ssssssss`sssssssssssssssssssssss`sssssssssssssssssssssss`", + "s$;$ $;$_______$;$ $;$ssssssssssssssssssssssssssssssssssssssssssssssssss", + "sLLLLLLL_______LLLLLLLss ss ", + "s_____________________ss ss $;$$$$$;$$$$$$$$;$$$$$;$ ", +@@ -433,6 +433,7 @@ + "_": "t_pavement", + "f": "t_chainfence_h", + "s": "t_sidewalk", ++ "`": "t_sidewalk", + "w": "t_window", + "x": "t_console_broken", + "|": "t_wall_y", +@@ -461,6 +462,7 @@ + "j": "t_sewage_pipe" + }, + "furniture": { ++ "`": "f_street_light", + "%": "f_curtain", + "@": "f_bed", + "#": "f_bench", +diff --git a/data/json/mapgen/smallscrapyard.json b/data/json/mapgen/smallscrapyard.json +index d6366f986e3..b7469fd6aca 100644 +--- a/data/json/mapgen/smallscrapyard.json ++++ b/data/json/mapgen/smallscrapyard.json +@@ -249,6 +249,7 @@ + "method": "json", + "object": { + "furniture": { ++ "'": "f_street_light", + "#": "f_wreckage", + "&": "f_toilet", + "-": "f_null", +@@ -284,7 +285,7 @@ + { "chance": 35, "item": "hardware_plumbing", "x": 16, "y": 8 } + ], + "rows": [ +- "__._______._.__.____.___", ++ "__._______._.__.____.__'", + "_____..._._._.__...____.", + "_-------.........------_", + "_|^#................^^|_", +@@ -324,6 +325,7 @@ + "W": "t_wall_metal", + "^": "t_dirt", + "_": "t_grass", ++ "'": "t_dirt", + "b": "t_dirt", + "d": "t_dirt", + "f": "t_dirt", +diff --git a/data/json/mapgen/smoke_lounge.json b/data/json/mapgen/smoke_lounge.json +index d362e1a7ab3..dcb123ec551 100644 +--- a/data/json/mapgen/smoke_lounge.json ++++ b/data/json/mapgen/smoke_lounge.json +@@ -30,7 +30,7 @@ + { "chance": 25, "item": "floor_trash", "x": 14, "y": 6 } + ], + "rows": [ +- "____d______d__1sss1__d__", ++ "____d______d__1sss1__d_'", + "_|||--------|||sss|||||_", + "_|M..........{|TTT|^.#|_", + "_|M..........{|TTT|.g#|_", +@@ -62,6 +62,7 @@ + "D": "t_door_c", + "T": "t_thconc_floor", + "_": "t_grass", ++ "'": "t_dirt", + "a": "t_pavement", + "1": "t_dirt", + "d": "t_dirt", +@@ -72,6 +73,7 @@ + "4": "t_gutter_downspout" + }, + "furniture": { ++ "'": "f_street_light", + "#": "f_counter", + "S": "f_statue", + "^": [ "f_indoor_plant_y", "f_indoor_plant" ], +@@ -176,7 +178,7 @@ + ], + "fill_ter": "t_floor", + "rows": [ +- "___d___1sss1____d_______", ++ "___d___1sss1____d______'", + "_||---||ttt||||||||||||_", + "_|{...^|D-D|cccc.^|RY&|d", + "_|{....|..........+...|_", +@@ -206,6 +208,7 @@ + "-": "t_wall_glass", + "D": "t_door_glass_c", + "_": "t_grass", ++ "'": "t_dirt", + "d": "t_dirt", + "1": "t_dirt", + "p": "t_pavement", +@@ -216,6 +219,7 @@ + "4": "t_gutter_downspout" + }, + "furniture": { ++ "'": "f_street_light", + "#": "f_table", + "C": "f_chair", + "H": "f_sofa", +diff --git a/data/json/mapgen/sports_store.json b/data/json/mapgen/sports_store.json +index 35be3e50755..fc324851d9f 100644 +--- a/data/json/mapgen/sports_store.json ++++ b/data/json/mapgen/sports_store.json +@@ -7,7 +7,7 @@ + "object": { + "fill_ter": "t_floor", + "rows": [ +- ".`''''`''''`''''`''''`..", ++ ".`''''`''''`''''`''''`.?", + ".`''''`''''`''''`''''`..", + ".`''''`''''`''''`''''`..", + ".`''''`''''`''''`''''`..", +@@ -34,6 +34,7 @@ + ], + "terrain": { + ".": [ "t_grass", "t_grass", "t_grass", "t_grass", "t_dirt" ], ++ "?": "t_dirt", + " ": "t_floor", + "'": "t_pavement", + "`": "t_pavement_y", +@@ -46,6 +47,7 @@ + "/": "t_door_curtain_c" + }, + "furniture": { ++ "?": "f_street_light", + "#": "f_counter", + "h": "f_stool", + "t": "f_treadmill", +diff --git a/data/json/mapgen/station_radio.json b/data/json/mapgen/station_radio.json +index dda7f03f220..20a79244477 100644 +--- a/data/json/mapgen/station_radio.json ++++ b/data/json/mapgen/station_radio.json +@@ -8,7 +8,7 @@ + "object": { + "fill_ter": "t_floor", + "rows": [ +- " sssssssssssssssssssss ", ++ " sssssssssssssssssssss'", + " sssssssFffffffffffffFss", + " sssssssF____________Fss", + " ss|----|______&&&&__Fss", +@@ -46,6 +46,7 @@ + "_": "t_pavement", + "&": "t_radio_tower", + "s": "t_sidewalk", ++ "'": "t_sidewalk", + "x": "t_console_broken", + "F": "t_chainfence", + "f": "t_chainfence", +@@ -54,6 +55,7 @@ + "<": "t_ladder_up" + }, + "furniture": { ++ "'": "f_street_light", + "o": "f_bookcase", + "d": "f_desk", + "h": "f_chair", +@@ -151,7 +153,7 @@ + "object": { + "fill_ter": "t_floor", + "rows": [ +- "ss ##w###", ++ "ss '##w###", + "ss #ffffffff#xxxP#", + "sssssssssG________#.h.P#", + "ss ######________Dc.hP#", +@@ -178,6 +180,7 @@ + ], + "terrain": { + " ": [ "t_grass", "t_grass", "t_grass", "t_dirt" ], ++ "'": "t_dirt", + "+": "t_door_c", + "=": "t_door_locked_alarm", + "D": "t_door_locked", +@@ -199,6 +202,7 @@ + "<": "t_ladder_up" + }, + "furniture": { ++ "'": "f_street_light", + "o": "f_bookcase", + "d": "f_desk", + "h": "f_chair", +diff --git a/data/json/mapgen/storage_units_large.json b/data/json/mapgen/storage_units_large.json +index de33a51bbd2..f3465e8bf41 100644 +--- a/data/json/mapgen/storage_units_large.json ++++ b/data/json/mapgen/storage_units_large.json +@@ -163,7 +163,7 @@ + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ +- "6622rrrrrrrrrrrrrrrrr226", ++ "6622rrrrrrrrrrrrrrrrr2'6", + "..22yrrryrrryrrryrrry22.", + "..22yrrryrrryrrryrrry22.", + "..22yrrryrrryrrryrrry22.", +@@ -195,6 +195,7 @@ + ".": "t_pavement", + "1": "t_window", + "2": "t_sidewalk", ++ "'": "t_sidewalk", + "U": "t_sidewalk", + "3": "t_tree_young", + "4": "t_chaingate_l", +@@ -209,6 +210,7 @@ + "|": "t_wall_w" + }, + "furniture": { ++ "'": "f_street_light", + "A": "f_rack", + "B": "f_toilet", + "C": "f_counter", +diff --git a/data/json/mapgen/storage_units_medium.json b/data/json/mapgen/storage_units_medium.json +index 75acce80edc..66bc96bb28a 100644 +--- a/data/json/mapgen/storage_units_medium.json ++++ b/data/json/mapgen/storage_units_medium.json +@@ -163,7 +163,7 @@ + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ +- "|------------2rrrrrrrrr2", ++ "|------------2rrrrrrrrr'", + "|A MM 7y....2yrrryrrry2", + "|A M 7y....2yrrryrrry2", + "|A |8....2yrrryrrry2", +@@ -195,6 +195,7 @@ + ".": "t_pavement", + "1": "t_window", + "2": "t_sidewalk", ++ "'": "t_sidewalk", + "V": "t_sidewalk", + "W": "t_sidewalk", + "3": "t_tree_young", +@@ -210,6 +211,7 @@ + "|": "t_wall_w" + }, + "furniture": { ++ "'": "f_street_light", + "A": "f_rack", + "B": "f_toilet", + "C": "f_counter", +diff --git a/data/json/mapgen/storage_units_small.json b/data/json/mapgen/storage_units_small.json +index cabceb9c453..60de5508575 100644 +--- a/data/json/mapgen/storage_units_small.json ++++ b/data/json/mapgen/storage_units_small.json +@@ -7,7 +7,7 @@ + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ +- "sssssss..........sssssss", ++ "sssssss..........ssssss'", + "sssssss..........sssssss", + "sssssss..........sssssss", + "sssssss..........sssssss", +@@ -43,9 +43,11 @@ + "p": "t_pavement_y", + "r": "t_pavement", + "s": "t_sidewalk", ++ "'": "t_sidewalk", + "|": "t_wall_w" + }, + "furniture": { ++ "'": "f_street_light", + "#": "f_chair", + "R": "f_rubble", + "^": "f_rubble", +diff --git a/data/json/mapgen/teashop.json b/data/json/mapgen/teashop.json +index 7653f3aabda..204d15c2c39 100644 +--- a/data/json/mapgen/teashop.json ++++ b/data/json/mapgen/teashop.json +@@ -7,7 +7,7 @@ + "object": { + "fill_ter": "t_floor", + "rows": [ +- "...S....................", ++ "...S...................'", + ".z.S.z..123123123123123.", + "...S....SSSSCTCSSSSSCSz.", + ".z.S.z..SCTCSSSSCTCSTSz.", +@@ -44,6 +44,7 @@ + ",": "t_floor", + "-": "t_wall_w", + ".": [ "t_grass", "t_grass", "t_grass", "t_grass", "t_grass", "t_grass", "t_dirt" ], ++ "'": "t_dirt", + "1": "t_grass", + "2": "t_grass", + "3": "t_grass", +@@ -65,6 +66,7 @@ + "|": "t_wall_w" + }, + "furniture": { ++ "'": "f_street_light", + "#": "f_counter", + "&": "f_dumpster", + "1": "f_dandelion", +@@ -171,7 +173,7 @@ + "object": { + "fill_ter": "t_floor", + "rows": [ +- ".....SSS.......T.....T..", ++ ".....SSS.......T.....T.'", + ".qqqqSSSqqqqqq|||OOO|||.", + ".q...TSS.T..Tz|c,$$$&C|.", + ".q.T..SSS@...zOtC,,,,t|T", +@@ -204,6 +206,7 @@ + ";": "t_linoleum_gray", + ",": "t_floor", + ".": [ "t_grass", "t_grass", "t_grass", "t_grass", "t_grass", "t_grass", "t_dirt" ], ++ "'": "t_dirt", + "T": [ "t_tree", "t_tree_young", "t_shrub", "t_grass", "t_grass", "t_dirt" ], + "z": "t_shrub", + "@": "t_grass", +@@ -233,6 +236,7 @@ + "q": "t_fence_v" + }, + "furniture": { ++ "'": "f_street_light", + "#": "f_counter", + "Y": "f_rack_coat", + "&": "f_trashcan", +diff --git a/data/json/mapgen/thrift.json b/data/json/mapgen/thrift.json +index baf5ae9c74d..67f576866f5 100644 +--- a/data/json/mapgen/thrift.json ++++ b/data/json/mapgen/thrift.json +@@ -7,7 +7,7 @@ + "object": { + "fill_ter": "t_floor", + "rows": [ +- "rrrrrrrrrrrrrrrrrrrrrrrr", ++ "rrrrrrrrrrrrrrrrrrrrrrr'", + "yrrryrrryrrryrrryrrryrrr", + "yrrryrrryrrryrrryrrryrrr", + "yrrryrrryrrryrrryrrryrrr", +@@ -50,12 +50,14 @@ + "g": "t_door_glass_c", + "o": "t_carpet_purple", + "r": "t_pavement", ++ "'": "t_pavement", + "y": "t_pavement_y", + "|": "t_wall_w", + "Z": "t_gutter_downspout", + "<": "t_ladder_up" + }, + "furniture": { ++ "'": "f_street_light", + "A": "f_rack", + "C": "f_counter", + "D": "f_sink", +diff --git a/data/json/mapgen/veterinarian.json b/data/json/mapgen/veterinarian.json +index b0c48efca59..a578e78f501 100644 +--- a/data/json/mapgen/veterinarian.json ++++ b/data/json/mapgen/veterinarian.json +@@ -7,7 +7,7 @@ + "object": { + "fill_ter": "t_floor", + "rows": [ +- " ", ++ " '", + " ", + " ", + " ", +@@ -34,6 +34,7 @@ + ], + "terrain": { + " ": "t_pavement", ++ "'": "t_pavement", + "%": "t_console_broken", + "*": "t_shrub", + "+": "t_door_c", +@@ -56,6 +57,7 @@ + "4": "t_gutter_downspout" + }, + "furniture": { ++ "'": "f_street_light", + "#": "f_counter", + "$": "f_safe_l", + "?": "f_counter", +diff --git a/data/json/mapgen/vfw.json b/data/json/mapgen/vfw.json +index ee75edffd1d..8b64b04b341 100644 +--- a/data/json/mapgen/vfw.json ++++ b/data/json/mapgen/vfw.json +@@ -7,7 +7,7 @@ + "object": { + "fill_ter": "t_floor", + "rows": [ +- "rrrrrrrrrrrrr..33.22.33.", ++ "rrrrrrrrrrrrr..33.22.33'", + "yrrryrrryrrry.3..2222..3", + "yrrryrrryrrry.3.22pp22.3", + "yrrryrrryrrry..22pXSp22.", +@@ -37,6 +37,7 @@ + "+": "t_door_c", + "-": "t_wall_wood", + ".": [ [ "t_grass", 5 ], [ "t_grass_long", 2 ], "t_dirt", "t_shrub" ], ++ "'": "t_dirt", + "X": "t_grass", + "S": "t_grass", + "p": "t_grass", +@@ -53,6 +54,7 @@ + "5": "t_gutter_downspout" + }, + "furniture": { ++ "'": "f_street_light", + "A": "f_rack", + "C": "f_counter", + "D": "f_sink", +diff --git a/data/json/mapgen/warehouse.json b/data/json/mapgen/warehouse.json +index 11afc5094ad..93373ccf10c 100644 +--- a/data/json/mapgen/warehouse.json ++++ b/data/json/mapgen/warehouse.json +@@ -7,7 +7,7 @@ + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ +- "....S.SSSSSSSSSSSS......", ++ "....S.SSSSSSSSSSSS.....'", + "zzzzSzSSSSSSSSSSSSzzzzzz", + ".---3-MMMMMMMMMMMM-----.", + ".|11 6 w111|.", +@@ -35,7 +35,7 @@ + "set": [ + { "point": "terrain", "id": "t_dirt", "x": [ 0, 23 ], "y": 23, "repeat": [ 5, 8 ] }, + { "point": "terrain", "id": "t_tree_pine", "x": [ 0, 5 ], "y": 0, "repeat": [ 0, 1 ] }, +- { "point": "terrain", "id": "t_tree_pine", "x": [ 18, 23 ], "y": 0, "repeat": [ 0, 1 ] }, ++ { "point": "terrain", "id": "t_tree_pine", "x": [ 18, 21 ], "y": 0, "repeat": [ 0, 1 ] }, + { "point": "terrain", "id": "t_shrub", "x": 0, "y": [ 2, 19 ], "repeat": [ 1, 4 ] }, + { "point": "terrain", "id": "t_shrub", "x": 23, "y": [ 2, 19 ], "repeat": [ 1, 4 ] }, + { "point": "terrain", "id": "t_tree_pine", "x": 0, "y": [ 2, 19 ], "repeat": [ 0, 2 ] }, +@@ -45,6 +45,7 @@ + " ": "t_thconc_floor", + "-": "t_brick_wall", + ".": "t_grass", ++ "'": "t_dirt", + "3": "t_door_locked", + "M": "t_door_metal_locked", + "O": "t_window", +@@ -56,6 +57,7 @@ + "U": "t_gutter_downspout" + }, + "furniture": { ++ "'": "f_street_light", + "1": [ "f_crate_c", "f_cardboard_box" ], + "2": "f_sink", + "5": "f_counter", +diff --git a/data/json/mapgen_palettes/clothes_store_palette.json b/data/json/mapgen_palettes/clothes_store_palette.json +index 85c11175374..9b2df7292c5 100644 +--- a/data/json/mapgen_palettes/clothes_store_palette.json ++++ b/data/json/mapgen_palettes/clothes_store_palette.json +@@ -2,8 +2,9 @@ + { + "type": "palette", + "id": "clothes_store_palette", +- "terrain": { "%": "t_console_broken", "p": "t_region_groundcover_urban" }, ++ "terrain": { "'": "t_sidewalk", "%": "t_console_broken", "p": "t_region_groundcover_urban" }, + "furniture": { ++ "'": "f_street_light", + "c": "f_counter", + "C": "f_armchair", + "s": "f_stool", +@@ -59,6 +60,7 @@ + "type": "palette", + "id": "tailor_palette", + "terrain": { ++ "'": "t_sidewalk", + "%": "t_console_broken", + ";": "t_door_locked", + "0": "t_window_alarm", +@@ -66,6 +68,7 @@ + "p": "t_region_groundcover_urban" + }, + "furniture": { ++ "'": "f_street_light", + "c": "f_counter", + "R": "f_clothing_rail", + "s": "f_stool", +@@ -99,6 +102,7 @@ + "type": "palette", + "id": "furs_palette", + "terrain": { ++ "'": "t_sidewalk", + "%": "t_console_broken", + ";": "t_door_locked", + "i": "t_door_locked_interior", +@@ -107,6 +111,7 @@ + "p": "t_region_groundcover_urban" + }, + "furniture": { ++ "'": "f_street_light", + "c": "f_displaycase", + "s": "f_stool", + "d": "f_desk", +diff --git a/data/mods/No_Hope/Mapgen/school_1.json b/data/mods/No_Hope/Mapgen/school_1.json +index a914d0bd9f6..76aad2fdff5 100644 +--- a/data/mods/No_Hope/Mapgen/school_1.json ++++ b/data/mods/No_Hope/Mapgen/school_1.json +@@ -11,7 +11,7 @@ + "object": { + "fill_ter": "t_floor", + "rows": [ +- "ssssssss_______sssssssssssssssssssssssssssssssssssssssssssssssssssssssss", ++ "ssssssss_______ssssssss`sssssssssssssssssssssss`sssssssssssssssssssssss`", + "s$;$ $;$_______$;$ $;$ssssssssssssssssssssssssssssssssssssssssssssssssss", + "sLLLLLLL_______LLLLLLLss ss ", + "s_____________________ss ss $;$$$$$;$$$$$$$$;$$$$$;$ ", +@@ -426,6 +426,7 @@ + "_": "t_pavement", + "f": "t_chainfence_h", + "s": "t_sidewalk", ++ "`": "t_sidewalk", + "w": "t_window", + "|": "t_wall_y", + "I": "t_column", +@@ -454,6 +455,7 @@ + "x": "t_console_broken" + }, + "furniture": { ++ "`": "f_street_light", + "%": "f_curtain", + "@": "f_bed", + "#": "f_bench", +-- +2.42.0 + diff --git a/backport-04_feat-content-port-game-store-3469.patch b/backport-04_feat-content-port-game-store-3469.patch new file mode 100644 index 0000000..ae90ba9 --- /dev/null +++ b/backport-04_feat-content-port-game-store-3469.patch @@ -0,0 +1,550 @@ +From 361b8b6452e14ad5c74fad05e1ad093669103ef4 Mon Sep 17 00:00:00 2001 +From: Zlorthishen <79779913+Zlorthishen@users.noreply.github.com> +Date: Sun, 22 Oct 2023 21:16:10 -0500 +Subject: [PATCH] feat(content, port): game store (#3469) + +* Update fluff.json + +* Update overmap_terrain_commercial.json + +* Update multitile_city_buildings.json + +* Update regional_map_settings.json + +* Update activities_hobbies.json + +* Update mansion.json + +* Update mall_item_groups.json + +* style(autofix.ci): automated formatting + +* Add files via upload + +* Update regional_map_settings.json + +* Update activities_hobbies.json + +* style(autofix.ci): automated formatting + +* Update multitile_city_buildings.json + +* style(autofix.ci): automated formatting + +--------- + +Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> +--- + .../Locations_MapExtras/mall_item_groups.json | 12 +- + .../Locations_MapExtras/mansion.json | 19 +- + data/json/itemgroups/activities_hobbies.json | 26 ++- + data/json/items/fluff.json | 176 ++++++++++++++++++ + data/json/mapgen/s_games.json | 139 ++++++++++++++ + .../overmap/multitile_city_buildings.json | 6 + + .../overmap_terrain_commercial.json | 14 ++ + data/json/regional_map_settings.json | 1 + + 8 files changed, 384 insertions(+), 9 deletions(-) + create mode 100644 data/json/mapgen/s_games.json + +diff --git a/data/json/itemgroups/Locations_MapExtras/mall_item_groups.json b/data/json/itemgroups/Locations_MapExtras/mall_item_groups.json +index 0841f79f760..031e545771a 100644 +--- a/data/json/itemgroups/Locations_MapExtras/mall_item_groups.json ++++ b/data/json/itemgroups/Locations_MapExtras/mall_item_groups.json +@@ -93,19 +93,25 @@ + [ "portable_game", 60 ], + [ "bat", 60 ], + [ "backpack", 40 ], +- [ "pockknife", 20 ], ++ [ "pockknife", 5 ], + [ "wristwatch", 20 ], + [ "teleumbrella", 5 ], + { "group": "kids_books", "prob": 155 }, ++ { "group": "games", "prob": 170 }, ++ [ "frisbee", 40 ], ++ [ "disc_golf", 40 ], ++ [ "magic_8_ball", 30 ], + [ "novel_pulp", 20 ], + [ "folding_bicycle", 5 ], + [ "sunglasses", 25 ], +- [ "cowboy_hat", 25 ], +- [ "mp3", 40 ], + [ "wolfsuit", 5 ], + [ "dinosuit", 5 ], + [ "gum", 10 ], ++ [ "baseball", 40 ], ++ [ "football", 40 ], ++ [ "basketball", 50 ], + [ "talking_doll", 50 ], ++ [ "marble", 60 ], + [ "creepy_doll", 1 ], + [ "jedi_cloak", 5 ], + [ "clown_suit", 5 ], +diff --git a/data/json/itemgroups/Locations_MapExtras/mansion.json b/data/json/itemgroups/Locations_MapExtras/mansion.json +index bd0b6889844..7a8de7a0074 100644 +--- a/data/json/itemgroups/Locations_MapExtras/mansion.json ++++ b/data/json/itemgroups/Locations_MapExtras/mansion.json +@@ -712,13 +712,21 @@ + "magazine": 100, + "subtype": "distribution", + "items": [ +- [ "bat_nerf", 100 ], +- [ "marble", 60 ], ++ [ "bat_nerf", 70 ], ++ [ "marble", 50 ], + [ "talking_doll", 50 ], +- [ "fc_hairpin", 50 ], +- { "group": "kids_books", "prob": 170 }, +- [ "backpack", 40 ], ++ [ "basketball", 30 ], ++ [ "fc_hairpin", 30 ], ++ { "group": "kids_books", "prob": 170, "count": [ 1, 4 ] }, ++ { "group": "games", "prob": 170, "count": [ 1, 2 ] }, ++ [ "backpack", 20 ], ++ [ "baseball", 30 ], ++ [ "football", 20 ], ++ [ "frisbee", 40 ], ++ [ "disc_golf", 20 ], ++ [ "radio_car_box", 10 ], + [ "orangesoda", 30 ], ++ [ "magic_8_ball", 10 ], + [ "hairpin", 30 ], + [ "purple_drink", 20 ], + [ "candy", 20 ], +@@ -726,6 +734,7 @@ + [ "rock", 10 ], + [ "bat", 10 ], + [ "creepy_doll", 3 ], ++ [ "portable_game", 5 ], + [ "whistle", 3 ] + ] + }, +diff --git a/data/json/itemgroups/activities_hobbies.json b/data/json/itemgroups/activities_hobbies.json +index 57e3c00bda2..a6745c4cc5d 100644 +--- a/data/json/itemgroups/activities_hobbies.json ++++ b/data/json/itemgroups/activities_hobbies.json +@@ -222,8 +222,8 @@ + [ "textbook_traps", 8 ], + [ "lighter", 60 ], + [ "ref_lighter", 10 ], +- [ "electric_lighter", 10 ], + [ "matches", 60 ], ++ [ "electric_lighter", 10 ], + [ "sewing_kit", 47 ], + [ "tailors_kit", 3 ], + [ "thread", 40 ], +@@ -324,5 +324,29 @@ + [ "survival_kit", 30 ], + [ "premium_survival_kit", 3 ] + ] ++ }, ++ { ++ "type": "item_group", ++ "id": "games", ++ "items": [ ++ [ "chess", 50 ], ++ [ "checkers", 50 ], ++ [ "deck_of_cards", 50 ], ++ [ "cards_magic", 50 ], ++ [ "pictionary", 50 ], ++ [ "monopoly", 50 ], ++ [ "dnd", 50 ], ++ [ "g_warhammer", 50 ], ++ [ "g_warhammer40k", 50 ], ++ [ "catan", 50 ], ++ [ "battleship", 50 ], ++ [ "clue", 50 ], ++ [ "metal_RPG_die", 30 ], ++ [ "RPG_die", 40 ], ++ [ "character_sheet", 20 ], ++ [ "scorecard", 10 ], ++ [ "dnd_handbook", 5 ], ++ [ "portable_game", 5 ] ++ ] + } + ] +diff --git a/data/json/items/fluff.json b/data/json/items/fluff.json +index 1b9438f0d83..b1a6aa3fb1c 100644 +--- a/data/json/items/fluff.json ++++ b/data/json/items/fluff.json +@@ -59,5 +59,181 @@ + "material": [ "paper" ], + "symbol": "*", + "color": "light_gray" ++ }, ++ { ++ "id": "chess", ++ "type": "GENERIC", ++ "category": "other", ++ "name": { "str": "chess set" }, ++ "description": "A wooden box containing all the equipment needed to play a game of chess.", ++ "weight": "907 g", ++ "volume": "2 L", ++ "price": 7500, ++ "price_postapoc": 100, ++ "material": [ "wood" ], ++ "symbol": "?", ++ "color": "brown", ++ "flags": [ "NO_REPAIR" ], ++ "use_action": "PLAY_GAME" ++ }, ++ { ++ "id": "checkers", ++ "type": "GENERIC", ++ "category": "other", ++ "name": { "str": "checkers set" }, ++ "description": "A wooden box containing a set of round tokens used to play checkers.", ++ "weight": "788 g", ++ "volume": "1500 ml", ++ "price": 2000, ++ "price_postapoc": 100, ++ "material": [ "wood" ], ++ "symbol": "?", ++ "color": "brown", ++ "flags": [ "NO_REPAIR" ], ++ "use_action": "PLAY_GAME" ++ }, ++ { ++ "id": "cards_magic", ++ "type": "GENERIC", ++ "category": "other", ++ "name": { "str": "deck of Sorcery cards", "str_pl": "decks of Sorcery cards" }, ++ "description": "A set of cards meant to play the game \"Sorcery.\" Each card has a fun picture of a different monster.", ++ "weight": "210 g", ++ "volume": "250 ml", ++ "price": 2300, ++ "price_postapoc": 100, ++ "material": [ "paper" ], ++ "symbol": "?", ++ "color": "blue", ++ "flags": [ "NO_REPAIR" ], ++ "use_action": "PLAY_GAME" ++ }, ++ { ++ "id": "pictionary", ++ "type": "GENERIC", ++ "category": "other", ++ "name": { "str": "Picturesque", "str_pl": "sets of Picturesque" }, ++ "description": "A game where one draws an image, and the others attempt to guess what it is.", ++ "weight": "350 g", ++ "volume": "500 ml", ++ "price": 1500, ++ "price_postapoc": 100, ++ "material": [ "plastic" ], ++ "symbol": "?", ++ "color": "yellow", ++ "flags": [ "NO_REPAIR" ], ++ "use_action": "PLAY_GAME" ++ }, ++ { ++ "id": "monopoly", ++ "type": "GENERIC", ++ "category": "other", ++ "name": { "str": "Capitalism", "str_pl": "sets of Capitalism" }, ++ "description": "A game where players traverse around the board buying property and swindling their friends.", ++ "weight": "300 g", ++ "volume": "500 ml", ++ "price": 99, ++ "price_postapoc": 100, ++ "material": [ "plastic" ], ++ "symbol": "?", ++ "color": "red", ++ "flags": [ "NO_REPAIR" ], ++ "use_action": "PLAY_GAME" ++ }, ++ { ++ "id": "dnd", ++ "type": "GENERIC", ++ "category": "other", ++ "name": { "str": "Blobs and Bandits", "str_pl": "sets of Blobs and Bandits" }, ++ "description": "A roleplaying game set in the post-apocalypse, so you can pretend to survive the apocalypse while surviving the apocalypse.", ++ "weight": "680 g", ++ "volume": "1250 ml", ++ "price": 12950, ++ "price_postapoc": 1000, ++ "material": [ "plastic" ], ++ "symbol": "?", ++ "color": "red", ++ "flags": [ "NO_REPAIR" ], ++ "use_action": "PLAY_GAME" ++ }, ++ { ++ "id": "g_warhammer", ++ "type": "GENERIC", ++ "category": "other", ++ "name": { "str": "Battlehammer", "str_pl": "sets of Battlehammer" }, ++ "description": "A strategy game featuring a set of tiny figurines of fantasy creatures.", ++ "weight": "680 g", ++ "volume": "1250 ml", ++ "price": 10880, ++ "price_postapoc": 5000, ++ "material": [ "plastic" ], ++ "symbol": "?", ++ "color": "yellow", ++ "flags": [ "NO_REPAIR" ], ++ "use_action": "PLAY_GAME" ++ }, ++ { ++ "id": "g_warhammer40k", ++ "type": "GENERIC", ++ "category": "other", ++ "name": { "str": "Battlehammer 20k", "str_pl": "sets of Battlehammer 20k" }, ++ "description": "A strategy game featuring a set of tiny figurines of grotesque aliens and imperious space marines.", ++ "weight": "680 g", ++ "volume": "1250 ml", ++ "price": 10880, ++ "price_postapoc": 5000, ++ "material": [ "plastic" ], ++ "symbol": "?", ++ "color": "yellow", ++ "flags": [ "NO_REPAIR" ], ++ "use_action": "PLAY_GAME" ++ }, ++ { ++ "id": "catan", ++ "type": "GENERIC", ++ "category": "other", ++ "name": { "str": "Settlers of the Ranch", "str_pl": "sets of Settlers of the Ranch" }, ++ "description": "A strategy game where players build settlements and trade for supplies.", ++ "weight": "804 g", ++ "volume": "1250 ml", ++ "price": 7050, ++ "price_postapoc": 5000, ++ "material": [ "wood" ], ++ "symbol": "?", ++ "color": "light_blue", ++ "flags": [ "NO_REPAIR" ], ++ "use_action": "PLAY_GAME" ++ }, ++ { ++ "id": "battleship", ++ "type": "GENERIC", ++ "category": "other", ++ "name": { "str": "Warships", "str_pl": "sets of Warships" }, ++ "description": "A game where players try to guess where the opponent placed their ships on the board.", ++ "weight": "450 g", ++ "volume": "500 ml", ++ "price": 2000, ++ "price_postapoc": 1000, ++ "material": [ "plastic" ], ++ "symbol": "?", ++ "color": "blue", ++ "flags": [ "NO_REPAIR" ], ++ "use_action": "PLAY_GAME" ++ }, ++ { ++ "id": "clue", ++ "type": "GENERIC", ++ "category": "other", ++ "name": { "str": "Murder Mystery", "str_pl": "sets of Murder Mystery" }, ++ "description": "A game where players try to figure out who murdered the butler.", ++ "weight": "370 g", ++ "volume": "500 ml", ++ "price": 2480, ++ "price_postapoc": 1000, ++ "material": [ "paper" ], ++ "symbol": "?", ++ "color": "blue", ++ "flags": [ "NO_REPAIR" ], ++ "use_action": "PLAY_GAME" + } + ] +diff --git a/data/json/mapgen/s_games.json b/data/json/mapgen/s_games.json +new file mode 100644 +index 00000000000..18b62a01b36 +--- /dev/null ++++ b/data/json/mapgen/s_games.json +@@ -0,0 +1,139 @@ ++[ ++ { ++ "type": "mapgen", ++ "method": "json", ++ "om_terrain": [ "s_games" ], ++ "object": { ++ "fill_ter": "t_carpet_purple", ++ "rows": [ ++ "......fg____g____g____gf", ++ "......fg____g____g____gf", ++ "......fg____g____g____gf", ++ "......fg____g____g____gf", ++ "......fg____g____g____gf", ++ "......fg____g____g____gf", ++ "......ffffffffffffffffff", ++ "......9##oooo#cc#oooo##.", ++ ".##o#o## kkkk Ykkkk #.", ++ ".#hhhhh| #.", ++ ".# iiƃ#.", ++ ".# l hh hh i #.", ++ ".# hhh | lkl hh hh i #.", ++ ".# hhh | l j A#.", ++ ".# i #.", ++ ".# hh hkk i #.", ++ ".#hhhhh| Y||c|oo||||#.", ++ ".##o#o###|c||D |;r#.", ++ ".______9#;;;| ll c;q#.", ++ "._______c;;;| lkkl |###.", ++ ".nn_____#;;m| lkkl c;q#.", ++ ".nn_____#mmm|F ll |;r#.", ++ ".nn_____######oooo#####.", ++ "........................" ++ ], ++ "vendingmachines": { "D": { "item_group": "vending_drink" }, "F": { "item_group": "vending_food" } }, ++ "terrain": { ++ "|": "t_wall_w", ++ "#": "t_brick_wall", ++ "o": "t_window", ++ "c": "t_door_c", ++ "_": "t_pavement", ++ ".": "t_region_groundcover_urban", ++ "f": "t_sidewalk", ++ "g": "t_pavement_y", ++ "h": "t_carpet_purple", ++ "i": "t_carpet_purple", ++ "j": "t_console_broken", ++ "k": "t_carpet_purple", ++ "l": "t_carpet_purple", ++ "n": "t_pavement", ++ "Y": "t_carpet_purple", ++ ";": "t_linoleum_gray", ++ "q": "t_linoleum_gray", ++ "r": "t_linoleum_gray", ++ "m": "t_linoleum_gray", ++ "s": "t_carpet_purple", ++ "9": "t_gutter_downspout" ++ }, ++ "furniture": { ++ "h": "f_rack_wood", ++ "i": "f_counter", ++ "ƃ": "f_counter_gate_c", ++ "k": "f_table", ++ "A": "f_stool", ++ "l": "f_chair", ++ "m": "f_crate_c", ++ "n": "f_dumpster", ++ "Y": "f_trashcan", ++ "r": "f_sink", ++ "s": "f_locker" ++ }, ++ "toilets": { "q": { } }, ++ "place_vehicles": [ ++ { "vehicle": "car", "x": 9, "y": 2, "chance": 35, "rotation": 270 }, ++ { "vehicle": "scooter_electric", "x": 5, "y": 20, "chance": 35, "rotation": 270 }, ++ { "vehicle": "beetle", "x": 14, "y": 2, "chance": 35, "rotation": 270 }, ++ { "vehicle": "electric_car", "x": 19, "y": 2, "chance": 35, "rotation": 270 } ++ ], ++ "place_loot": [ ++ { "group": "magazines", "chance": 50, "repeat": 5, "x": [ 2, 6 ], "y": 9 }, ++ { "group": "bookstore_misc", "chance": 50, "repeat": 5, "x": [ 3, 5 ], "y": 12 }, ++ { "group": "games", "chance": 50, "repeat": 3, "x": [ 3, 5 ], "y": 13 }, ++ { "group": "games", "chance": 50, "repeat": 5, "x": [ 2, 6 ], "y": 16 }, ++ { "group": "games", "chance": 50, "repeat": 4, "x": [ 13, 14 ], "y": [ 11, 12 ] }, ++ { "group": "games", "chance": 50, "repeat": 5, "x": [ 16, 17 ], "y": [ 11, 12 ] }, ++ { "group": "games", "chance": 50, "repeat": 4, "x": [ 9, 12 ], "y": 8 }, ++ { "group": "games", "chance": 50, "repeat": 4, "x": [ 17, 20 ], "y": 8 }, ++ { "group": "games", "chance": 50, "repeat": 5, "x": [ 12, 13 ], "y": 15 }, ++ { "group": "games", "chance": 50, "repeat": 5, "x": [ 15, 17 ], "y": 15 }, ++ { "group": "trash", "chance": 50, "repeat": 5, "x": 11, "y": 16 }, ++ { "group": "trash", "chance": 50, "repeat": 5, "x": 16, "y": 8 }, ++ { "group": "games", "chance": 50, "repeat": 3, "x": [ 9, 11 ], "y": 21 }, ++ { "group": "games", "chance": 50, "repeat": 4, "x": 11, "y": 20 }, ++ { "group": "cleaning_bulk", "chance": 80, "x": 18, "y": 21 }, ++ { "group": "vending_food_items", "chance": 80, "repeat": 4, "x": 19, "y": [ 14, 15 ] }, ++ { "group": "trash", "chance": 50, "repeat": 5, "x": [ 1, 2 ], "y": [ 20, 22 ] }, ++ { "item": "dnd_handbook", "x": 16, "y": 20, "chance": 100 }, ++ { "item": "dnd", "x": 15, "y": 20, "chance": 90 }, ++ { "item": "character_sheet", "x": [ 15, 16 ], "y": [ 19, 20 ], "chance": 80, "repeat": [ 1, 6 ] }, ++ { "item": "metal_RPG_die", "x": 16, "y": 19, "chance": 10 }, ++ { "item": "RPG_die", "x": 15, "y": 19, "chance": 90, "repeat": [ 1, 4 ] } ++ ] ++ } ++ }, ++ { ++ "type": "mapgen", ++ "method": "json", ++ "om_terrain": [ "s_games_roof" ], ++ "object": { ++ "fill_ter": "t_flat_roof", ++ "rows": [ ++ " ", ++ " ", ++ " ", ++ " ", ++ " ", ++ " ", ++ " ", ++ " |222222222222223 ", ++ " |222225..............3 ", ++ " |...............X.:..3 ", ++ " |....................3 ", ++ " |....................3 ", ++ " |...A...........=&...3 ", ++ " |....................3 ", ++ " |....................3 ", ++ " |....................3 ", ++ " |....................3 ", ++ " |-----5|.............3 ", ++ " |.............3 ", ++ " |.............3 ", ++ " |........A....3 ", ++ " |.............3 ", ++ " |-------------3 ", ++ " " ++ ], ++ "palettes": [ "roof_palette" ] ++ } ++ } ++] +diff --git a/data/json/overmap/multitile_city_buildings.json b/data/json/overmap/multitile_city_buildings.json +index cef6a12b31b..4124a2b0778 100644 +--- a/data/json/overmap/multitile_city_buildings.json ++++ b/data/json/overmap/multitile_city_buildings.json +@@ -3802,5 +3802,11 @@ + { "point": [ 0, 0, 0 ], "overmap": "s_laundromat_1_north" }, + { "point": [ 0, 0, 1 ], "overmap": "s_laundromat_roof_1_north" } + ] ++ }, ++ { ++ "type": "city_building", ++ "id": "s_games", ++ "locations": [ "land" ], ++ "overmaps": [ { "point": [ 0, 0, 0 ], "overmap": "s_games_north" }, { "point": [ 0, 0, 1 ], "overmap": "s_games_roof_north" } ] + } + ] +diff --git a/data/json/overmap/overmap_terrain/overmap_terrain_commercial.json b/data/json/overmap/overmap_terrain/overmap_terrain_commercial.json +index 1b9abe94e1f..5d3488e6b35 100644 +--- a/data/json/overmap/overmap_terrain/overmap_terrain_commercial.json ++++ b/data/json/overmap/overmap_terrain/overmap_terrain_commercial.json +@@ -1507,5 +1507,19 @@ + "urban_14_9" + ], + "copy-from": "urban_13_3" ++ }, ++ { ++ "type": "overmap_terrain", ++ "id": "s_games", ++ "name": "gaming store", ++ "copy-from": "generic_city_building", ++ "sym": "g", ++ "color": "cyan" ++ }, ++ { ++ "type": "overmap_terrain", ++ "id": "s_games_roof", ++ "name": "gaming store roof", ++ "copy-from": "s_games" + } + ] +diff --git a/data/json/regional_map_settings.json b/data/json/regional_map_settings.json +index a64a7448dc0..b69100f0cc9 100644 +--- a/data/json/regional_map_settings.json ++++ b/data/json/regional_map_settings.json +@@ -928,6 +928,7 @@ + "shopping_plaza": 125, + "movie_theater": 75, + "garage_gas_city": 250, ++ "s_games": 80, + "2fmotel_city": 50, + "cs_car_dealership": 100, + "cs_car_showroom": 100, +-- +2.42.0 + diff --git a/backport-04_fix-farm-mapgen-3715.patch b/backport-04_fix-farm-mapgen-3715.patch deleted file mode 100644 index c737051..0000000 --- a/backport-04_fix-farm-mapgen-3715.patch +++ /dev/null @@ -1,78 +0,0 @@ -From 13714f68ef41c8e2cd43d6bf203065c27fbc2810 Mon Sep 17 00:00:00 2001 -From: 0Monet <146018959+0Monet@users.noreply.github.com> -Date: Sun, 19 Nov 2023 00:22:30 +0100 -Subject: [PATCH] fix: farm mapgen (#3715) - -* fix_farm_mapgen - -* style(autofix.ci): automated formatting - ---------- - -Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> ---- - data/json/mapgen/farm.json | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/data/json/mapgen/farm.json b/data/json/mapgen/farm.json -index eca907206c1..1c3952dbb8e 100644 ---- a/data/json/mapgen/farm.json -+++ b/data/json/mapgen/farm.json -@@ -24,7 +24,7 @@ - " #__2___________2__# #_1__1_# -6..........H.- F DDDDDDDDDDDDDDDD F ", - " #__2___________2__# #______# -u...----+----- F F ", - " #332___________233# #______# --+---kh......- F DDDDDDDDDDDDDDDD F ", -- " #_____________1___# #_1__1_# -...-.........w F F ", -+ " #_____________1___# #_1__1_# -b..-.........w F F ", - " W_________________W #______# -b..+......BB.- F DDDDDDDDDDDDDDDD F ", - " W_________________W #____ll# -.ST-.....dBBd- F F ", - " #lll__________O___# ###++### --w------w----- F DDDDDDDDDDDDDDDD F ", -@@ -80,7 +80,6 @@ - "F F ", - "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF " - ], -- "place_items": [ ], - "place_item": [ - { "item": "straw_pile", "x": [ 3, 5 ], "y": [ 5, 7 ], "amount": [ 0, 8 ] }, - { "item": "cattlefodder", "x": [ 3, 5 ], "y": [ 5, 7 ], "amount": [ 0, 4 ] }, -@@ -90,11 +89,10 @@ - { "item": "cattlefodder", "x": [ 19, 19 ], "y": [ 10, 15 ], "amount": [ 2, 7 ] } - ], - "place_monsters": [ -- { "monster": "GROUP_ZOMBIE", "x": [ 4, 4 ], "y": [ 14, 14 ], "repeat": [ 1, 6 ], "density": 0.2 }, -+ { "monster": "GROUP_ZOMBIE", "x": [ 9, 11 ], "y": [ 12, 14 ], "repeat": [ 1, 6 ], "density": 0.2 }, - { "monster": "GROUP_DOMESTIC", "x": [ 10, 12 ], "y": [ 15, 17 ], "repeat": [ 1, 2 ], "density": 0.2 } - ], - "sealed_item": { "D": { "item": { "item": "seed_corn" }, "furniture": "f_plant_seedling" } }, -- "place_nested": [ { "chunks": [ [ "NC_FARMER_spawn", 10 ], [ "null", 90 ] ], "x": 23, "y": 3 } ], - "palettes": [ "farm" ] - } - }, -@@ -123,7 +121,7 @@ - "#_1__1_# -6...........m-", - "#__Q___# -u...----+-----", - "#______# --+---mm....mm-", -- "#_1__1_# -...-.........w", -+ "#_1__1_# -b..-.........w", - "#______# -b..+......BB.-", - "#____ll# -.ST-mm...dBBd-", - "###++### --w------w-----", -@@ -131,6 +129,7 @@ - " ", - "FFFFFFFFFFFFFFFFFFFFFFFF" - ], -+ "terrain": { "Q": "t_dirtfloor" }, - "items": { - ".": { "item": "trash", "chance": 20 }, - "B": [ -@@ -164,6 +163,7 @@ - "u": [ { "item": "kitchen", "chance": 70 }, { "item": "cannedfood", "chance": 40 }, { "item": "softdrugs", "chance": 40 } ], - "Q": { "item": "farming_tools", "chance": 15 } - }, -+ "place_nested": [ { "chunks": [ [ "NC_FARMER_spawn", 10 ], [ "null", 90 ] ], "x": 17, "y": 13 } ], - "palettes": [ "farm" ] - } - }, --- -2.42.0 - diff --git a/backport-05_fix-farm-mapgen-3715.patch b/backport-05_fix-farm-mapgen-3715.patch new file mode 100644 index 0000000..c737051 --- /dev/null +++ b/backport-05_fix-farm-mapgen-3715.patch @@ -0,0 +1,78 @@ +From 13714f68ef41c8e2cd43d6bf203065c27fbc2810 Mon Sep 17 00:00:00 2001 +From: 0Monet <146018959+0Monet@users.noreply.github.com> +Date: Sun, 19 Nov 2023 00:22:30 +0100 +Subject: [PATCH] fix: farm mapgen (#3715) + +* fix_farm_mapgen + +* style(autofix.ci): automated formatting + +--------- + +Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> +--- + data/json/mapgen/farm.json | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/data/json/mapgen/farm.json b/data/json/mapgen/farm.json +index eca907206c1..1c3952dbb8e 100644 +--- a/data/json/mapgen/farm.json ++++ b/data/json/mapgen/farm.json +@@ -24,7 +24,7 @@ + " #__2___________2__# #_1__1_# -6..........H.- F DDDDDDDDDDDDDDDD F ", + " #__2___________2__# #______# -u...----+----- F F ", + " #332___________233# #______# --+---kh......- F DDDDDDDDDDDDDDDD F ", +- " #_____________1___# #_1__1_# -...-.........w F F ", ++ " #_____________1___# #_1__1_# -b..-.........w F F ", + " W_________________W #______# -b..+......BB.- F DDDDDDDDDDDDDDDD F ", + " W_________________W #____ll# -.ST-.....dBBd- F F ", + " #lll__________O___# ###++### --w------w----- F DDDDDDDDDDDDDDDD F ", +@@ -80,7 +80,6 @@ + "F F ", + "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF " + ], +- "place_items": [ ], + "place_item": [ + { "item": "straw_pile", "x": [ 3, 5 ], "y": [ 5, 7 ], "amount": [ 0, 8 ] }, + { "item": "cattlefodder", "x": [ 3, 5 ], "y": [ 5, 7 ], "amount": [ 0, 4 ] }, +@@ -90,11 +89,10 @@ + { "item": "cattlefodder", "x": [ 19, 19 ], "y": [ 10, 15 ], "amount": [ 2, 7 ] } + ], + "place_monsters": [ +- { "monster": "GROUP_ZOMBIE", "x": [ 4, 4 ], "y": [ 14, 14 ], "repeat": [ 1, 6 ], "density": 0.2 }, ++ { "monster": "GROUP_ZOMBIE", "x": [ 9, 11 ], "y": [ 12, 14 ], "repeat": [ 1, 6 ], "density": 0.2 }, + { "monster": "GROUP_DOMESTIC", "x": [ 10, 12 ], "y": [ 15, 17 ], "repeat": [ 1, 2 ], "density": 0.2 } + ], + "sealed_item": { "D": { "item": { "item": "seed_corn" }, "furniture": "f_plant_seedling" } }, +- "place_nested": [ { "chunks": [ [ "NC_FARMER_spawn", 10 ], [ "null", 90 ] ], "x": 23, "y": 3 } ], + "palettes": [ "farm" ] + } + }, +@@ -123,7 +121,7 @@ + "#_1__1_# -6...........m-", + "#__Q___# -u...----+-----", + "#______# --+---mm....mm-", +- "#_1__1_# -...-.........w", ++ "#_1__1_# -b..-.........w", + "#______# -b..+......BB.-", + "#____ll# -.ST-mm...dBBd-", + "###++### --w------w-----", +@@ -131,6 +129,7 @@ + " ", + "FFFFFFFFFFFFFFFFFFFFFFFF" + ], ++ "terrain": { "Q": "t_dirtfloor" }, + "items": { + ".": { "item": "trash", "chance": 20 }, + "B": [ +@@ -164,6 +163,7 @@ + "u": [ { "item": "kitchen", "chance": 70 }, { "item": "cannedfood", "chance": 40 }, { "item": "softdrugs", "chance": 40 } ], + "Q": { "item": "farming_tools", "chance": 15 } + }, ++ "place_nested": [ { "chunks": [ [ "NC_FARMER_spawn", 10 ], [ "null", 90 ] ], "x": 17, "y": 13 } ], + "palettes": [ "farm" ] + } + }, +-- +2.42.0 + diff --git a/backport-06_fix-campground-mapgen-3702.patch b/backport-06_fix-campground-mapgen-3702.patch new file mode 100644 index 0000000..0dd5977 --- /dev/null +++ b/backport-06_fix-campground-mapgen-3702.patch @@ -0,0 +1,186 @@ +From 0f8ea67a352735ca1b12525b87b8d37b7fe0d284 Mon Sep 17 00:00:00 2001 +From: 0Monet <146018959+0Monet@users.noreply.github.com> +Date: Fri, 17 Nov 2023 19:36:11 +0100 +Subject: [PATCH] fix: campground mapgen (#3702) + +* fix_campground + +* fix_waterless_toilets + +* style(autofix.ci): automated formatting + +--------- + +Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> +--- + data/json/mapgen/campground.json | 124 ++++++++++------------ + data/json/mapgen_palettes/campground.json | 4 +- + 2 files changed, 60 insertions(+), 68 deletions(-) + +diff --git a/data/json/mapgen/campground.json b/data/json/mapgen/campground.json +index 0bd8910b1c4..b4e8ff694f3 100644 +--- a/data/json/mapgen/campground.json ++++ b/data/json/mapgen/campground.json +@@ -1,68 +1,10 @@ + [ + { ++ "type": "mapgen", + "method": "json", ++ "om_terrain": [ [ "campground_1a", "campground_1b" ], [ "campground_2a", "campground_2b" ] ], ++ "weight": 100, + "object": { +- "items": { +- ";": [ +- { "item": "dresser", "chance": 5, "repeat": [ 1, 2 ] }, +- { "item": "creepy", "chance": 2 }, +- { "item": "camping", "chance": 5 }, +- { "item": "archery", "chance": 2 } +- ], +- ",": [ +- { "item": "dresser", "chance": 5, "repeat": [ 1, 2 ] }, +- { "item": "creepy", "chance": 2 }, +- { "item": "camping", "chance": 5 }, +- { "item": "archery", "chance": 2 } +- ], +- "t": [ +- { "item": "barbecue", "chance": 5, "repeat": [ 1, 2 ] }, +- { "item": "misc_smoking", "chance": 2 }, +- { "item": "cannedfood", "chance": 2, "repeat": [ 1, 2 ] } +- ] +- }, +- "place_monsters": [ +- { "chance": 50, "density": 1, "monster": "CAMPERS", "x": [ 8, 18 ], "y": [ 7, 22 ] }, +- { "monster": "GROUP_PARK_ANIMAL", "x": [ 2, 17 ], "y": [ 2, 15 ], "repeat": [ 0, 2 ] }, +- { "chance": 50, "density": 1, "monster": "CAMPERS", "x": [ 3, 17 ], "y": [ 32, 46 ] }, +- { "monster": "GROUP_PARK_ANIMAL", "x": [ 2, 17 ], "y": [ 31, 46 ], "repeat": [ 0, 2 ] }, +- { "monster": "GROUP_PARK_ANIMAL", "x": [ 30, 46 ], "y": [ 31, 46 ], "repeat": [ 0, 2 ] } +- ], +- "place_vehicles": [ +- { "chance": 25, "fuel": 15, "rotation": 270, "status": -1, "vehicle": "campground_vehicles", "x": 16, "y": 2 }, +- { "chance": 25, "fuel": -1, "rotation": 180, "status": -1, "vehicle": "campground_vehicles", "x": 5, "y": 19 }, +- { "chance": 50, "fuel": 20, "rotation": 0, "status": -1, "vehicle": "lux_rv", "x": 43, "y": 18 }, +- { +- "chance": 25, +- "fuel": 15, +- "rotation": 180, +- "status": -1, +- "vehicle": "campground_vehicles", +- "x": 26, +- "y": 14 +- }, +- { +- "chance": 25, +- "fuel": 15, +- "rotation": 360, +- "status": -1, +- "vehicle": "campground_vehicles", +- "x": 18, +- "y": 32 +- }, +- { "chance": 25, "fuel": -1, "rotation": 0, "status": -1, "vehicle": "campground_vehicles", "x": 7, "y": 34 }, +- { +- "chance": 25, +- "fuel": -1, +- "rotation": 270, +- "status": -1, +- "vehicle": "campground_vehicles", +- "x": 17, +- "y": 40 +- }, +- { "chance": 10, "fuel": -1, "rotation": 0, "status": -1, "vehicle": "rv", "x": 42, "y": 27 }, +- { "chance": 25, "fuel": 15, "rotation": 90, "status": -1, "vehicle": "campground_vehicles", "x": 35, "y": 43 } +- ], + "rows": [ + "_____________________ssssss_ss_......sssssssss__", + "_______sssssssssssssssbbbbs__ss......|ww||||||||", +@@ -113,11 +55,61 @@ + "______________sssssss#####sssssssss____ssssss___", + "____________________ssssss______________________" + ], +- "palettes": [ "campground_palette" ] +- }, +- "om_terrain": [ [ "campground_1a", "campground_1b" ], [ "campground_2a", "campground_2b" ] ], +- "type": "mapgen", +- "weight": 100 ++ "palettes": [ "campground_palette" ], ++ "items": { ++ ";": [ ++ { "item": "dresser", "chance": 5, "repeat": [ 1, 2 ] }, ++ { "item": "creepy", "chance": 2 }, ++ { "item": "camping", "chance": 5 }, ++ { "item": "archery", "chance": 2 } ++ ], ++ ",": [ ++ { "item": "dresser", "chance": 5, "repeat": [ 1, 2 ] }, ++ { "item": "creepy", "chance": 2 }, ++ { "item": "camping", "chance": 5 }, ++ { "item": "archery", "chance": 2 } ++ ], ++ "t": [ ++ { "item": "barbecue", "chance": 5, "repeat": [ 1, 2 ] }, ++ { "item": "misc_smoking", "chance": 2 }, ++ { "item": "cannedfood", "chance": 2, "repeat": [ 1, 2 ] } ++ ] ++ }, ++ "place_monsters": [ ++ { "chance": 50, "density": 1, "monster": "CAMPERS", "x": [ 8, 18 ], "y": [ 7, 22 ] }, ++ { "monster": "GROUP_PARK_ANIMAL", "x": [ 2, 17 ], "y": [ 2, 15 ], "repeat": [ 0, 2 ] }, ++ { "chance": 50, "density": 1, "monster": "CAMPERS", "x": [ 3, 17 ], "y": [ 32, 46 ] }, ++ { "monster": "GROUP_PARK_ANIMAL", "x": [ 2, 17 ], "y": [ 31, 46 ], "repeat": [ 0, 2 ] }, ++ { "monster": "GROUP_PARK_ANIMAL", "x": [ 30, 46 ], "y": [ 31, 46 ], "repeat": [ 0, 2 ] } ++ ], ++ "place_vehicles": [ ++ { "chance": 25, "fuel": 15, "rotation": 270, "status": -1, "vehicle": "campground_vehicles", "x": 16, "y": 5 }, ++ { "chance": 25, "fuel": -1, "rotation": 180, "status": -1, "vehicle": "campground_vehicles", "x": 5, "y": 19 }, ++ { "chance": 50, "fuel": 20, "rotation": 0, "status": -1, "vehicle": "lux_rv", "x": 42, "y": 18 }, ++ { ++ "chance": 25, ++ "fuel": 15, ++ "rotation": 180, ++ "status": -1, ++ "vehicle": "campground_vehicles", ++ "x": 26, ++ "y": 14 ++ }, ++ { "chance": 25, "fuel": 15, "rotation": 90, "status": -1, "vehicle": "campground_vehicles", "x": 22, "y": 31 }, ++ { "chance": 25, "fuel": -1, "rotation": 0, "status": -1, "vehicle": "campground_vehicles", "x": 7, "y": 34 }, ++ { ++ "chance": 25, ++ "fuel": -1, ++ "rotation": 270, ++ "status": -1, ++ "vehicle": "campground_vehicles", ++ "x": 17, ++ "y": 41 ++ }, ++ { "chance": 10, "fuel": -1, "rotation": 0, "status": -1, "vehicle": "rv", "x": 42, "y": 27 }, ++ { "chance": 25, "fuel": 15, "rotation": 90, "status": -1, "vehicle": "campground_vehicles", "x": 34, "y": 41 } ++ ] ++ } + }, + { + "method": "json", +diff --git a/data/json/mapgen_palettes/campground.json b/data/json/mapgen_palettes/campground.json +index c14a2f34e06..3d659fb5018 100644 +--- a/data/json/mapgen_palettes/campground.json ++++ b/data/json/mapgen_palettes/campground.json +@@ -32,7 +32,6 @@ + "h": "f_chair", + "H": "f_camp_chair", + "#": "f_large_canvas_wall", +- "&": "f_toilet", + ";": "f_large_groundsheet", + ",": "f_center_groundsheet", + "B": "f_brazier", +@@ -42,6 +41,7 @@ + "t": "f_table", + "n": "f_tourist_table", + "o": "f_firering" +- } ++ }, ++ "toilets": { "&": { } } + } + ] +-- +2.42.0 + diff --git a/backport-07_feat-interface-new-UDP-external-tileset-sprite-for-s.patch b/backport-07_feat-interface-new-UDP-external-tileset-sprite-for-s.patch new file mode 100644 index 0000000..f923ac4 --- /dev/null +++ b/backport-07_feat-interface-new-UDP-external-tileset-sprite-for-s.patch @@ -0,0 +1,64 @@ +From fac99a00b26d617ca185d2546dd97f26a8e693b8 Mon Sep 17 00:00:00 2001 +From: Chaosvolt +Date: Tue, 14 Nov 2023 12:56:15 -0600 +Subject: [PATCH] feat (interface): new UDP external tileset sprite for signs + (#3670) + +* feat (interface): new UPD external tileset sprite for signs + +* Update external_tileset.md +--- + .../External_Tileset_DP_Normal.json | 3 ++- + .../External_Tileset_DP_Normal.png | Bin 33382 -> 42296 bytes + .../reference/graphics/external_tileset.md | 8 +++++++- + 3 files changed, 9 insertions(+), 2 deletions(-) + +diff --git a/data/json/external_tileset/External_Tileset_DP_Normal.json b/data/json/external_tileset/External_Tileset_DP_Normal.json +index d25b8d76ac5..b799eceadbf 100644 +--- a/data/json/external_tileset/External_Tileset_DP_Normal.json ++++ b/data/json/external_tileset/External_Tileset_DP_Normal.json +@@ -55,5 +55,6 @@ + { "id": "armguard_bronze", "fg": 44 }, +- { "id": "overlay_worn_armguard_bronze", "fg": 45 } ++ { "id": "overlay_worn_armguard_bronze", "fg": 45 }, ++ { "id": "f_sign", "fg": 47 } + ], + "sprite_width": 32, + "sprite_height": 32 +diff --git a/doc/src/content/docs/en/mod/json/reference/graphics/external_tileset.md b/doc/src/content/docs/en/mod/json/reference/graphics/external_tileset.md +index 0f11c64a3a8..68adcf2625b 100644 +--- a/doc/src/content/docs/en/mod/json/reference/graphics/external_tileset.md ++++ b/doc/src/content/docs/en/mod/json/reference/graphics/external_tileset.md +@@ -35,6 +35,8 @@ Links to relevant pull requests, for content covered below: + [#3221](https://github.com/cataclysmbnteam/Cataclysm-BN/pull/3221) + - Rewired street lights: [#3273](https://github.com/cataclysmbnteam/Cataclysm-BN/pull/3273) + - Alternative ear/tail mutation: [#3340](https://github.com/cataclysmbnteam/Cataclysm-BN/pull/3340) ++- New trees: [#3626](https://github.com/cataclysmbnteam/Cataclysm-BN/pull/3626) ++- Alternative sign sprite: [#3670](https://github.com/cataclysmbnteam/Cataclysm-BN/pull/3670) + + ## Undead People + +@@ -72,8 +74,9 @@ Ultica are planned for the future. + - Buckler, including worn and wielded. Item specific to BN. + - Battle masks, iron and bronze, including worn sprites. Items specific to BN. + - Bronze arm guards, including worn sprites. Item specific to BN. ++- Cacao pods. Item specific to BN. + +-### External_Tileset_DP_Large.png ++### External_Tileset_DP_Tall.png + + - Off state for utility light. Ability to switch on and off specific to BN. + - Alien nerve cluster, furniture added to mi-go locations in BN. +@@ -82,6 +85,9 @@ Ultica are planned for the future. + - Cherry tree uses summer sprite (plus cherry blossom coloration), summer sprite depicted without + berries, due to harvest season being moved in BN. + - Rewired street light, including active state. Furniture specific to BN. ++- Cocoa tree. Terrain specific to BN. ++- Cocoa plant. Terrain specific to BN. ++- Override for sign sprite. Removes lettering on the front specific to DDA. + + ### alternative_mutation_tileset.png + +-- +2.42.0 + diff --git a/backport-08_feat-Convert-non-pistol-only-energy-weapon-mods-to-b.patch b/backport-08_feat-Convert-non-pistol-only-energy-weapon-mods-to-b.patch new file mode 100644 index 0000000..2d9da9e --- /dev/null +++ b/backport-08_feat-Convert-non-pistol-only-energy-weapon-mods-to-b.patch @@ -0,0 +1,56 @@ +From 7d7dfe329b14390b4f45b42e8de701d993926641 Mon Sep 17 00:00:00 2001 +From: KheirFerrum <102964889+KheirFerrum@users.noreply.github.com> +Date: Thu, 16 Nov 2023 02:47:48 +0000 +Subject: [PATCH] feat: Convert non-pistol only energy weapon mods to be + compatible with all energy weapons. (#3688) + +Convert non-pistol only energy weapon mods + +Now works with all energy weapons +--- + data/json/items/gunmod/laser_gunmods.json | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/data/json/items/gunmod/laser_gunmods.json b/data/json/items/gunmod/laser_gunmods.json +index 4d3bde9ff24..82ddd880c05 100644 +--- a/data/json/items/gunmod/laser_gunmods.json ++++ b/data/json/items/gunmod/laser_gunmods.json +@@ -12,7 +12,7 @@ + "symbol": ":", + "color": "light_gray", + "location": "lens", +- "mod_target_category": [ [ "ENERGY_WEAPONS", "PISTOLS" ], [ "ENERGY_WEAPONS", "RIFLES" ] ], ++ "mod_target_category": [ [ "ENERGY_WEAPONS" ] ], + "range_modifier": -25, + "damage_modifier": { "damage_type": "heat", "amount": 10 }, + "ammo_effects": [ "SHOT" ] +@@ -30,7 +30,7 @@ + "symbol": ":", + "color": "light_gray", + "location": "lens", +- "mod_target_category": [ [ "ENERGY_WEAPONS", "PISTOLS" ], [ "ENERGY_WEAPONS", "RIFLES" ] ], ++ "mod_target_category": [ [ "ENERGY_WEAPONS" ] ], + "range_modifier": 15, + "damage_modifier": { "damage_type": "heat", "amount": 5 }, + "dispersion_modifier": 15 +@@ -68,7 +68,7 @@ + "symbol": ":", + "color": "light_gray", + "location": "emitter", +- "mod_target_category": [ [ "ENERGY_WEAPONS", "PISTOLS" ], [ "ENERGY_WEAPONS", "RIFLES" ] ], ++ "mod_target_category": [ [ "ENERGY_WEAPONS" ] ], + "ups_charges_multiplier": 0.9 + }, + { +@@ -85,7 +85,7 @@ + "symbol": ":", + "color": "light_gray", + "location": "emitter", +- "mod_target_category": [ [ "ENERGY_WEAPONS", "PISTOLS" ], [ "ENERGY_WEAPONS", "RIFLES" ] ], ++ "mod_target_category": [ [ "ENERGY_WEAPONS" ] ], + "range_modifier": 5, + "damage_modifier": { "damage_type": "heat", "amount": 10 }, + "ups_charges_multiplier": 2.0 +-- +2.42.0 + diff --git a/backport-09_feat-balance-MILITARY_MECH-flag-affects-ID-card-need.patch b/backport-09_feat-balance-MILITARY_MECH-flag-affects-ID-card-need.patch new file mode 100644 index 0000000..e08411b --- /dev/null +++ b/backport-09_feat-balance-MILITARY_MECH-flag-affects-ID-card-need.patch @@ -0,0 +1,77 @@ +From f73f0d1a09f44aee8c8be75d12fed308ba779997 Mon Sep 17 00:00:00 2001 +From: Chaosvolt +Date: Fri, 17 Nov 2023 07:09:19 -0600 +Subject: [PATCH] feat(balance): MILITARY_MECH flag affects ID card needed, fix + duplicate message (#3697) + +* feat(balance): MILITARY_MECH flag affects ID card needed, fix duplicate message + +* Fix the thing +--- + data/json/monsters/mechsuits.json | 1 - + src/character.cpp | 1 - + src/monexamine.cpp | 8 +++++--- + 3 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/data/json/monsters/mechsuits.json b/data/json/monsters/mechsuits.json +index 3bdc8f061a4..3f169a5c668 100644 +--- a/data/json/monsters/mechsuits.json ++++ b/data/json/monsters/mechsuits.json +@@ -134,7 +134,6 @@ + "flags": [ + "SEES", + "HEARS", +- "MILITARY_MECH", + "BASHES", + "PUSH_VEH", + "PUSH_MON", +diff --git a/src/character.cpp b/src/character.cpp +index c5b903133ac..6d8d9335c9c 100644 +--- a/src/character.cpp ++++ b/src/character.cpp +@@ -1364,7 +1364,6 @@ void Character::mount_creature( monster &z ) + } + add_msg_if_player( m_good, _( "You hear your %s whir to life." ), z.get_name() ); + } +- add_msg_if_player( m_good, _( "You hear your %s whir to life." ), z.get_name() ); + } + // some rideable mechs have night-vision + recalc_sight_limits(); +diff --git a/src/monexamine.cpp b/src/monexamine.cpp +index 2dc423d10b1..4be13ab25aa 100644 +--- a/src/monexamine.cpp ++++ b/src/monexamine.cpp +@@ -58,6 +58,7 @@ static const efftype_id effect_led_by_leash( "led_by_leash" ); + static const efftype_id effect_tied( "tied" ); + + static const itype_id itype_cash_card( "cash_card" ); ++static const itype_id itype_id_industrial( "id_industrial" ); + static const itype_id itype_id_military( "id_military" ); + + static const skill_id skill_survival( "survival" ); +@@ -430,10 +431,10 @@ void monexamine::insert_battery( monster &z ) + + bool monexamine::mech_hack( monster &z ) + { +- itype_id card_type = itype_id_military; ++ itype_id card_type = ( z.has_flag( MF_MILITARY_MECH ) ? itype_id_military : itype_id_industrial ); + avatar &you = get_avatar(); + if( you.has_amount( card_type, 1 ) ) { +- if( query_yn( _( "Swipe your ID card into the mech's security port?" ) ) ) { ++ if( query_yn( _( "Swipe your %s into the mech's security port?" ), item::nname( card_type ) ) ) { + you.mod_moves( -100 ); + z.add_effect( effect_pet, 1_turns, num_bp ); + z.friendly = -1; +@@ -443,7 +444,8 @@ bool monexamine::mech_hack( monster &z ) + return true; + } + } else { +- add_msg( m_info, _( "You do not have the required ID card to activate this mech." ) ); ++ add_msg( m_info, _( "You do not have the required %s to activate this mech." ), ++ item::nname( card_type ) ); + } + return false; + } +-- +2.42.0 + diff --git a/npc-06_lapin-update.patch b/npc-06_lapin-update.patch index d568b6e..b1938f4 100644 --- a/npc-06_lapin-update.patch +++ b/npc-06_lapin-update.patch @@ -17,11 +17,15 @@ { "text": "Well, bye.", "topic": "TALK_DONE" } ] }, -@@ -68,10 +69,33 @@ +@@ -68,10 +69,37 @@ "dynamic_line": "People come to me to learn how to keep rabbits. They learn and they go. I like to think I'm making the world better.", "responses": [ { "text": "…", "topic": "TALK_WARRENER" }, -+ { "text": "Anyone nearby I should meet?", "topic": "TALK_WARRENER_ISHERWOOD" }, ++ { ++ "text": "Anyone nearby I should meet?", ++ "topic": "TALK_WARRENER_ISHERWOOD", ++ "condition": { "u_has_var": "u_met_carlos_isherwood", "type": "general", "context": "meeting", "value": "no" } ++ }, { "text": "That sounds optimistic?", "topic": "TALK_WARRENER_WORLD_OPTIMISTIC" } ] }, -- cgit v1.2.1