summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjc_gargma <jc_gargma@iserlohn-fortress.net>2024-02-04 00:30:36 -0800
committerjc_gargma <jc_gargma@iserlohn-fortress.net>2024-02-04 00:30:36 -0800
commitc3829543091f66f9a47a02714ae11d7c579950ce (patch)
treec3896fd6e4efbc0fef5f7d68b6792622d59a3b06
parentUpdate vampirism mod with partial_deaf for the vamp_hearing trait. (diff)
downloadcataclysm-bn-c3829543091f66f9a47a02714ae11d7c579950ce.tar.xz
Apply hotfixes.
-monsters won't attack idle mechsuits -reloading no longer deletes empty containers -look around won't overlap text -no more safe reference error on save and quit -zombies no longer smell through glass
-rw-r--r--PKGBUILD30
-rw-r--r--hotfix-01_fix-monsters-ignore-mechs-that-aren-t-being-piloted-.patch27
-rw-r--r--hotfix-02_fix-Prevents-reloading-from-deleting-containers-4104.patch63
-rw-r--r--hotfix-03_fix-Fix-overlapping-text-in-look-around.-4156.patch105
-rw-r--r--hotfix-04_fix-uaf-in-safe-references-4165.patch48
-rw-r--r--hotfix-05_feat-balance-closed-glass-windows-block-scent-4114.patch415
6 files changed, 687 insertions, 1 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 3defce2..098d590 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -18,7 +18,7 @@ _pkgname=Cataclysm-BN
pkgver=0.5.2
#pkgver=202310040030
#_pkgver=2023-10-04-0030
-pkgrel=4
+pkgrel=5
pkgdesc="A post-apocalyptic roguelike."
#url="http://cataclysmrl.blogspot.com/"
#url="http://www.cataclysm.glyphgryph.com/"
@@ -59,6 +59,12 @@ source=("$pkgname-$pkgver.tar.gz::https://github.com/cataclysmbnteam/Cataclysm-B
"revert-27_fix-NPCs-keep-their-splints-on-3589.patch"
"revert-28_feat-content-semi-plausible-smokeless-gunpowder-reci.patch"
+ "hotfix-01_fix-monsters-ignore-mechs-that-aren-t-being-piloted-.patch"
+ "hotfix-02_fix-Prevents-reloading-from-deleting-containers-4104.patch"
+ "hotfix-03_fix-Fix-overlapping-text-in-look-around.-4156.patch"
+ "hotfix-04_fix-uaf-in-safe-references-4165.patch"
+ "hotfix-05_feat-balance-closed-glass-windows-block-scent-4114.patch"
+
"ammo-10_ammo-order-fix.patch"
"ammo-11_fix-volume-40mm.patch"
"ammo-12_fix-20x66mm-loudness.patch"
@@ -178,6 +184,11 @@ b2sums=('9daaba287ef99aa3b33b6f3fbb129b97a2b4dcc265dd7affa08ccee1bdd41b4568e061a
'6735377f8611451333c8d7f009001aa652af9edeeddfcd0cd163d03ea84607803d260eb1338fa35f688954c3cb75bb7bdc41a5ad0497771815dd16afa86d54b3'
'13e61e9144f4d7325c409553c72ea1fca07009939b53491ea24d208fba7539e7f09063911c76e7d45f7e6bda12a61bbde17a75c319a0b79518e6639d520fa4ef'
'c4ee693418d394e3b946aa2b9a5f11c04bb0ff11234f830056963f4a755357552f9a769688a086f56f492ed479cf1a44032cfde45c03627adc5fb55f88f806e6'
+ '32714f9869cbf44847c5cd2d4b4d6e69a47450a3dd2bd92a195686d938162a86717c4e1c28dab48d8b62fbe0271e0eead5ea9c727aa547787643172fe3b48751'
+ '54ed3733d646b549b4db8eded9aeb08de1df328c63c4a535971cf03de172349421b4e96d495995ea5abd2cf63b2df46c2fee9d526eea414bd9463e920802fe78'
+ '29bc7e4f9ca7437930a43455be8d1166ff2b7bbaaa58209692d4a15fa7c4b19a4b185881d9a1c5abafe363de31f31fe44585da24dbeecaba183e884539443228'
+ 'af8d397d3b42ec0ff461337c19e470dd05b367a362cff092dbe6083841fee062cf899799e69db11fba05179775ac398f8ef3bf79a9f0e25b8774350451e73363'
+ 'b388513e6e2d67b3c6ae4f7c27d59bcd78fac9909e887fa4c58932052c0f3355b1dad23abfe404ca2bec82e278759e5be5982abb8b5b1dc7c908c51f7a510d05'
'df26a597afe46a35e07f02c32839e2f7f57cf4d4d9bf0e62eb645d1b720f601fe2e9787462a0ab0ba8b788c727b846272a4ca6ecf81f96bb058d070b53633dcc'
'ba2964e64df20167c722e71951db28d039e637397a6be2e7f5312da10ab3c57a1982ec1ae1c37dd361317292b8c519f678472eb06360d4368294e0b636704c15'
'365e1ac9f9ee636f2578f6fd8ab16b6460894cb9b76cf0aee5d8a55f42d882d6ee0b04e80194f4c346bfdb0778e11e30b8c03541b4d351602ccfd63cee7e3cf0'
@@ -291,6 +302,23 @@ prepare() {
# # # Hotfixes
echo "Applying hotfixes"
+
+ # Fix monsters attacking idle mechsuits
+ patch -Np1 --no-backup-if-mismatch -i "$srcdir"/hotfix-01_fix-monsters-ignore-mechs-that-aren-t-being-piloted-.patch
+
+ # Fix containers being deleted when reloading empties a container
+ patch -Np1 --no-backup-if-mismatch -i "$srcdir"/hotfix-02_fix-Prevents-reloading-from-deleting-containers-4104.patch
+
+ # Fix overlapping text when looking around
+ patch -Np1 --no-backup-if-mismatch -i "$srcdir"/hotfix-03_fix-Fix-overlapping-text-in-look-around.-4156.patch
+
+ # Fix safe reference error on save and quit
+ patch -Np1 --no-backup-if-mismatch -i "$srcdir"/hotfix-04_fix-uaf-in-safe-references-4165.patch
+
+ # Fix zombies having a psychic sense of smell
+ patch -Np1 --no-backup-if-mismatch -i "$srcdir"/hotfix-05_feat-balance-closed-glass-windows-block-scent-4114.patch
+
+
# # Adjust default mods
patch -Np1 --no-backup-if-mismatch -i "$srcdir"/src-20_fix-default-mods.patch
diff --git a/hotfix-01_fix-monsters-ignore-mechs-that-aren-t-being-piloted-.patch b/hotfix-01_fix-monsters-ignore-mechs-that-aren-t-being-piloted-.patch
new file mode 100644
index 0000000..a03a172
--- /dev/null
+++ b/hotfix-01_fix-monsters-ignore-mechs-that-aren-t-being-piloted-.patch
@@ -0,0 +1,27 @@
+From 8618c68bafe113d8c6e301e8eb23d7df2292d91d Mon Sep 17 00:00:00 2001
+From: Chaosvolt <chaosvolt@users.noreply.github.com>
+Date: Tue, 9 Jan 2024 17:56:09 -0600
+Subject: [PATCH] fix: monsters ignore mechs that aren't being piloted (#4083)
+
+---
+ src/monster.cpp | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/monster.cpp b/src/monster.cpp
+index 5cadb78107f..1c8c755f760 100644
+--- a/src/monster.cpp
++++ b/src/monster.cpp
+@@ -1223,6 +1223,10 @@ Attitude monster::attitude_to( const Creature &other ) const
+ if( m == this ) {
+ return Attitude::A_FRIENDLY;
+ }
++ // Ignore inactive mechs
++ if( m->has_flag( MF_RIDEABLE_MECH ) && !m->has_effect( effect_ridden ) ) {
++ return Attitude::A_NEUTRAL;
++ }
+
+ static const string_id<monfaction> faction_zombie( "zombie" );
+ auto faction_att = faction.obj().attitude( m->faction );
+--
+2.43.0
+
diff --git a/hotfix-02_fix-Prevents-reloading-from-deleting-containers-4104.patch b/hotfix-02_fix-Prevents-reloading-from-deleting-containers-4104.patch
new file mode 100644
index 0000000..5414c95
--- /dev/null
+++ b/hotfix-02_fix-Prevents-reloading-from-deleting-containers-4104.patch
@@ -0,0 +1,63 @@
+From db0b41135105d165ead640d4d4d46d220491c873 Mon Sep 17 00:00:00 2001
+From: joveeater <joveasarus@gmail.com>
+Date: Sat, 13 Jan 2024 12:21:59 +0000
+Subject: [PATCH] fix: Prevents reloading from deleting containers (#4104)
+
+* Prevents reloading from deleting containers
+
+* style(autofix.ci): automated formatting
+
+---------
+
+Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
+---
+ src/item.cpp | 24 ++++++++++--------------
+ 1 file changed, 10 insertions(+), 14 deletions(-)
+
+diff --git a/src/item.cpp b/src/item.cpp
+index 25051aeb76c..b4667994e17 100644
+--- a/src/item.cpp
++++ b/src/item.cpp
+@@ -8186,9 +8186,7 @@ bool item::reload( player &u, item &loc, int qty )
+ }
+ }
+
+- detached_ptr<item> to_reload = item::spawn( *ammo );
+- to_reload->charges = qty;
+- ammo->charges -= qty;
++ detached_ptr<item> to_reload = ammo->split( qty );
+ bool merged = false;
+ for( item *it : contents.all_items_top() ) {
+ if( it->merge_charges( std::move( to_reload ) ) ) {
+@@ -8246,19 +8244,17 @@ bool item::reload( player &u, item &loc, int qty )
+ ammo->charges -= qty;
+ charges += qty;
+ }
+- }
+-
+- // we have transfered ammo from the container to the item
+- // therefore, we erase the 0-charge item inside container
+- // TODO: why don't we just remove 0-charge items?
+- if( ammo->charges == 0 && !ammo->has_flag( flag_SPEEDLOADER ) ) {
+- if( container != nullptr && !container->contents.empty() ) {
+- container->remove_item( container->contents.front() );
+- u.inv_restack( ); // emptied containers do not stack with non-empty ones
+- } else {
+- loc.detach();
++ // we have transfered ammo from the container to the item
++ // therefore, we erase the 0-charge item inside container
++ // TODO: why don't we just remove 0-charge items?
++ if( ammo->charges == 0 && !ammo->has_flag( flag_SPEEDLOADER ) ) {
++ ammo->detach();
++ if( container != nullptr ) {
++ u.inv_restack();
++ }
+ }
+ }
++
+ return true;
+ }
+
+--
+2.43.0
+
diff --git a/hotfix-03_fix-Fix-overlapping-text-in-look-around.-4156.patch b/hotfix-03_fix-Fix-overlapping-text-in-look-around.-4156.patch
new file mode 100644
index 0000000..586a7b3
--- /dev/null
+++ b/hotfix-03_fix-Fix-overlapping-text-in-look-around.-4156.patch
@@ -0,0 +1,105 @@
+From 273f51063c1c1cf254c9ad0184655418f4126535 Mon Sep 17 00:00:00 2001
+From: richardnlarge <richard.n.large@gmail.com>
+Date: Wed, 24 Jan 2024 20:23:11 -0500
+Subject: [PATCH] fix: Fix overlapping text in look-around. (#4156)
+
+* Prevent overlapping lines in look-around panel.
+
+Lines were being drawn on top of one another, making text unreadable.
+
+fixes #4140, fixes #3945
+
+* Fix cursor placement for printing visibility text.
+
+"point" constructor takes (x, y) and was being fed (y, x).
+---
+ src/game.cpp | 35 ++++++++++++++++-------------------
+ 1 file changed, 16 insertions(+), 19 deletions(-)
+
+diff --git a/src/game.cpp b/src/game.cpp
+index 9d68459be86..47c2c92b189 100644
+--- a/src/game.cpp
++++ b/src/game.cpp
+@@ -5863,7 +5863,7 @@ void game::print_visibility_info( const catacurses::window &w_look, int column,
+ break;
+ }
+
+- mvwprintw( w_look, point( line, column ), visibility_message );
++ mvwprintw( w_look, point( column, line ), visibility_message );
+ line += 2;
+ }
+
+@@ -5872,7 +5872,6 @@ void game::print_terrain_info( const tripoint &lp, const catacurses::window &w_l
+ int &line )
+ {
+ const int max_width = getmaxx( w_look ) - column - 1;
+- int lines;
+
+ const auto fmt_tile_info = []( const tripoint & lp ) {
+ map &here = get_map();
+@@ -5897,23 +5896,23 @@ void game::print_terrain_info( const tripoint &lp, const catacurses::window &w_l
+ std::string tile = string_format( "(%s) %s", area_name, fmt_tile_info( lp ) );
+
+ if( m.impassable( lp ) ) {
+- lines = fold_and_print( w_look, point( column, line ), max_width, c_light_gray,
++ line += fold_and_print( w_look, point( column, line ), max_width, c_light_gray,
+ _( "%s; Impassable" ),
+ tile );
+ } else {
+- lines = fold_and_print( w_look, point( column, line ), max_width, c_light_gray,
++ line += fold_and_print( w_look, point( column, line ), max_width, c_light_gray,
+ _( "%s; Movement cost %d" ),
+ tile, m.move_cost( lp ) * 50 );
+
+ const auto ll = get_light_level( std::max( 1.0,
+ LIGHT_AMBIENT_LIT - m.ambient_light_at( lp ) + 1.0 ) );
+- mvwprintw( w_look, point( column, ++lines ), _( "Lighting: " ) );
++ mvwprintw( w_look, point( column, line++ ), _( "Lighting: " ) );
+ wprintz( w_look, ll.second, ll.first );
+ }
+
+ std::string signage = m.get_signage( lp );
+ if( !signage.empty() ) {
+- trim_and_print( w_look, point( column, ++lines ), max_width, c_dark_gray,
++ trim_and_print( w_look, point( column, line++ ), max_width, c_dark_gray,
+ // NOLINTNEXTLINE(cata-text-style): the question mark does not end a sentence
+ u.has_trait( trait_ILLITERATE ) ? _( "Sign: ???" ) : _( "Sign: %s" ), signage );
+ }
+@@ -5924,23 +5923,21 @@ void game::print_terrain_info( const tripoint &lp, const catacurses::window &w_l
+ std::string tile_below = fmt_tile_info( below );
+
+ if( !m.has_floor_or_support( lp ) ) {
+- fold_and_print( w_look, point( column, ++lines ), max_width, c_dark_gray,
+- _( "Below: %s; No support" ),
+- tile_below );
++ line += fold_and_print( w_look, point( column, line ), max_width, c_dark_gray,
++ _( "Below: %s; No support" ),
++ tile_below );
+ } else {
+- fold_and_print( w_look, point( column, ++lines ), max_width, c_dark_gray,
+- _( "Below: %s; Walkable" ),
+- tile_below );
++ line += fold_and_print( w_look, point( column, line ), max_width, c_dark_gray,
++ _( "Below: %s; Walkable" ),
++ tile_below );
+ }
+ }
+
+- int map_features = fold_and_print( w_look, point( column, ++lines ), max_width, c_dark_gray,
+- m.features( lp ) );
+- fold_and_print( w_look, point( column, ++lines ), max_width, c_light_gray, _( "Coverage: %d%%" ),
+- m.coverage( lp ) );
+- if( line < lines ) {
+- line = lines + map_features - 1;
+- }
++ line += fold_and_print( w_look, point( column, line ), max_width, c_dark_gray,
++ m.features( lp ) );
++ line += fold_and_print( w_look, point( column, line ), max_width, c_light_gray,
++ _( "Coverage: %d%%" ),
++ m.coverage( lp ) );
+ }
+
+ void game::print_fields_info( const tripoint &lp, const catacurses::window &w_look, int column,
+--
+2.43.0
+
diff --git a/hotfix-04_fix-uaf-in-safe-references-4165.patch b/hotfix-04_fix-uaf-in-safe-references-4165.patch
new file mode 100644
index 0000000..adbaaf0
--- /dev/null
+++ b/hotfix-04_fix-uaf-in-safe-references-4165.patch
@@ -0,0 +1,48 @@
+From 05a7e9e3f647cf77c2782f8f24b05a8d37117ccc Mon Sep 17 00:00:00 2001
+From: joveeater <joveasarus@gmail.com>
+Date: Sat, 27 Jan 2024 10:39:58 +0000
+Subject: [PATCH] fix: uaf in safe references (#4165)
+
+* Fixes a uaf in safe references
+
+* style(autofix.ci): automated formatting
+
+---------
+
+Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
+---
+ src/safe_reference.h | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/src/safe_reference.h b/src/safe_reference.h
+index 7334885bc67..552aeb6e300 100644
+--- a/src/safe_reference.h
++++ b/src/safe_reference.h
+@@ -154,6 +154,7 @@ class safe_reference
+ } else {
+ rec->mem_count--;
+ rec = rec->target.redirect;
++ rec->mem_count++;
+ }
+ }
+ }
+@@ -368,13 +369,12 @@ class safe_reference
+ if( sec_rec->id == ID_NONE ) {
+ sec_rec->id = REDIRECTED_MASK;
+ sec_rec->target.redirect = pri_rec;
+- }
+-
+- //They both have an id
+- if( pri_rec->id != ID_NONE && sec_rec->id != ID_NONE ) {
++ pri_rec->mem_count++;
++ } else {
+ //This is the worse case, we actually need a redirect
+ sec_rec->id = sec_rec->id | REDIRECTED_MASK;
+ sec_rec->target.redirect = pri_rec;
++ pri_rec->mem_count++;
+ }
+ }
+
+--
+2.43.0
+
diff --git a/hotfix-05_feat-balance-closed-glass-windows-block-scent-4114.patch b/hotfix-05_feat-balance-closed-glass-windows-block-scent-4114.patch
new file mode 100644
index 0000000..cd77189
--- /dev/null
+++ b/hotfix-05_feat-balance-closed-glass-windows-block-scent-4114.patch
@@ -0,0 +1,415 @@
+From 0d6982046ab8f46207d99185c39474b9e9d08c20 Mon Sep 17 00:00:00 2001
+From: RoyalFox <112293514+RoyalFox2140@users.noreply.github.com>
+Date: Mon, 15 Jan 2024 20:30:09 -0500
+Subject: [PATCH] feat(balance): closed glass windows block scent (#4114)
+
+* no_scent added to glass windows
+
+* style(autofix.ci): automated formatting
+
+---------
+
+Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
+---
+ .../terrain-windows.json | 91 +++++++++----------
+ 1 file changed, 43 insertions(+), 48 deletions(-)
+
+diff --git a/data/json/furniture_and_terrain/terrain-windows.json b/data/json/furniture_and_terrain/terrain-windows.json
+index 07727f607d2..ca50fc1e6f3 100644
+--- a/data/json/furniture_and_terrain/terrain-windows.json
++++ b/data/json/furniture_and_terrain/terrain-windows.json
+@@ -9,7 +9,7 @@
+ "move_cost": 0,
+ "coverage": 60,
+ "roof": "t_flat_roof",
+- "flags": [ "TRANSPARENT", "FLAMMABLE", "NOITEM", "REDUCE_SCENT", "BARRICADABLE_WINDOW", "CONNECT_TO_WALL", "BLOCK_WIND" ],
++ "flags": [ "TRANSPARENT", "FLAMMABLE", "NOITEM", "NO_SCENT", "BARRICADABLE_WINDOW", "CONNECT_TO_WALL", "BLOCK_WIND" ],
+ "deconstruct": { "ter_set": "t_window_empty", "items": [ { "item": "glass_sheet", "count": 1 } ] },
+ "bash": {
+ "str_min": 3,
+@@ -142,7 +142,7 @@
+ "symbol": "\"",
+ "color": "dark_gray",
+ "move_cost": 0,
+- "delete": { "flags": [ "TRANSPARENT", "REDUCE_SCENT", "BARRICADABLE_WINDOW", "CONNECT_TO_WALL" ] },
++ "delete": { "flags": [ "TRANSPARENT", "NO_SCENT", "BARRICADABLE_WINDOW", "CONNECT_TO_WALL" ] },
+ "extend": { "flags": [ "WALL" ] },
+ "bash": {
+ "items": [ { "item": "glass_shard", "count": [ 1, 3 ] } ],
+@@ -182,7 +182,7 @@
+ "color": "light_gray",
+ "move_cost": 4,
+ "extend": { "flags": [ "OPENCLOSE_INSIDE", "MOUNTABLE", "THIN_OBSTACLE", "SMALL_PASSAGE", "WINDOW" ] },
+- "delete": { "flags": [ "REDUCE_SCENT", "BARRICADABLE_WINDOW", "BLOCK_WIND" ] },
++ "delete": { "flags": [ "NO_SCENT", "BARRICADABLE_WINDOW", "BLOCK_WIND" ] },
+ "curtain_transform": "t_window_no_curtains",
+ "examine_action": "curtains",
+ "close": "t_window_domestic",
+@@ -206,7 +206,7 @@
+ "move_cost": 0,
+ "coverage": 95,
+ "extend": { "flags": [ "OPENCLOSE_INSIDE", "BARRICADABLE_WINDOW_CURTAINS", "WINDOW" ] },
+- "delete": { "flags": [ "TRANSPARENT", "REDUCE_SCENT", "BARRICADABLE_WINDOW" ] },
++ "delete": { "flags": [ "TRANSPARENT", "BARRICADABLE_WINDOW" ] },
+ "curtain_transform": "t_window_no_curtains",
+ "open": "t_window_domestic",
+ "examine_action": "curtains",
+@@ -361,7 +361,7 @@
+ "move_cost": 0,
+ "coverage": 95,
+ "roof": "t_flat_roof",
+- "flags": [ "FLAMMABLE", "NOITEM", "REDUCE_SCENT", "CONNECT_TO_WALL", "BLOCK_WIND" ],
++ "flags": [ "FLAMMABLE", "NOITEM", "NO_SCENT", "CONNECT_TO_WALL", "BLOCK_WIND" ],
+ "bash": {
+ "str_min": 3,
+ "str_max": 30,
+@@ -384,7 +384,7 @@
+ "move_cost": 0,
+ "coverage": 95,
+ "roof": "t_flat_roof",
+- "flags": [ "FLAMMABLE", "NOITEM", "REDUCE_SCENT", "CONNECT_TO_WALL", "BLOCK_WIND" ],
++ "flags": [ "FLAMMABLE", "NOITEM", "NO_SCENT", "CONNECT_TO_WALL", "BLOCK_WIND" ],
+ "bash": {
+ "str_min": 12,
+ "str_max": 30,
+@@ -432,7 +432,7 @@
+ "message": "You finish cutting the metal.",
+ "byproducts": [ { "item": "rebar", "count": [ 1, 4 ] } ]
+ },
+- "flags": [ "NOITEM", "REDUCE_SCENT", "CONNECT_TO_WALL", "BLOCK_WIND" ],
++ "flags": [ "NOITEM", "NO_SCENT", "CONNECT_TO_WALL", "BLOCK_WIND" ],
+ "oxytorch": {
+ "result": "t_window_empty",
+ "duration": "4 seconds",
+@@ -543,15 +543,7 @@
+ },
+ "roof": "t_flat_roof",
+ "oxytorch": { "result": "t_window_domestic", "duration": "9 seconds", "byproducts": [ { "item": "rebar", "count": [ 1, 2 ] } ] },
+- "flags": [
+- "NOITEM",
+- "OPENCLOSE_INSIDE",
+- "BARRICADABLE_WINDOW_CURTAINS",
+- "REDUCE_SCENT",
+- "CONNECT_TO_WALL",
+- "BLOCK_WIND",
+- "WINDOW"
+- ],
++ "flags": [ "NOITEM", "OPENCLOSE_INSIDE", "BARRICADABLE_WINDOW_CURTAINS", "NO_SCENT", "CONNECT_TO_WALL", "BLOCK_WIND", "WINDOW" ],
+ "curtain_transform": "t_window_bars",
+ "examine_action": "curtains",
+ "open": "t_window_bars_domestic",
+@@ -593,7 +585,7 @@
+ "NOITEM",
+ "OPENCLOSE_INSIDE",
+ "BARRICADABLE_WINDOW_CURTAINS",
+- "REDUCE_SCENT",
++ "NO_SCENT",
+ "CONNECT_TO_WALL",
+ "BLOCK_WIND"
+ ],
+@@ -625,7 +617,7 @@
+ "color": "light_green",
+ "move_cost": 0,
+ "roof": "t_flat_roof",
+- "flags": [ "NOITEM", "SUPPORTS_ROOF", "WALL", "BARRICADABLE_WINDOW", "CONNECT_TO_WALL", "MINEABLE", "BLOCK_WIND" ],
++ "flags": [ "NOITEM", "SUPPORTS_ROOF", "WALL", "NO_SCENT", "BARRICADABLE_WINDOW", "CONNECT_TO_WALL", "MINEABLE", "BLOCK_WIND" ],
+ "bash": {
+ "str_min": 100,
+ "str_max": 400,
+@@ -644,7 +636,7 @@
+ "color": "light_red",
+ "move_cost": 0,
+ "roof": "t_flat_roof",
+- "flags": [ "NOITEM", "SUPPORTS_ROOF", "WALL", "BARRICADABLE_WINDOW", "CONNECT_TO_WALL", "MINEABLE", "BLOCK_WIND" ],
++ "flags": [ "NOITEM", "SUPPORTS_ROOF", "WALL", "NO_SCENT", "BARRICADABLE_WINDOW", "CONNECT_TO_WALL", "MINEABLE", "BLOCK_WIND" ],
+ "bash": {
+ "str_min": 100,
+ "str_max": 400,
+@@ -663,7 +655,7 @@
+ "color": "light_blue",
+ "move_cost": 0,
+ "roof": "t_flat_roof",
+- "flags": [ "NOITEM", "SUPPORTS_ROOF", "WALL", "BARRICADABLE_WINDOW", "CONNECT_TO_WALL", "MINEABLE", "BLOCK_WIND" ],
++ "flags": [ "NOITEM", "SUPPORTS_ROOF", "WALL", "NO_SCENT", "BARRICADABLE_WINDOW", "CONNECT_TO_WALL", "MINEABLE", "BLOCK_WIND" ],
+ "bash": {
+ "str_min": 100,
+ "str_max": 400,
+@@ -701,7 +693,7 @@
+ "BARRICADABLE_WINDOW",
+ "THIN_OBSTACLE",
+ "BLOCK_WIND",
+- "REDUCE_SCENT",
++ "NO_SCENT",
+ "WINDOW"
+ ],
+ "deconstruct": {
+@@ -743,7 +735,7 @@
+ "message": "You finish cutting the metal.",
+ "byproducts": [ { "item": "pipe", "count": [ 1, 12 ] }, { "item": "sheet_metal", "count": 4 } ]
+ },
+- "flags": [ "NOITEM", "CONNECT_TO_WALL", "THIN_OBSTACLE", "BARRICADABLE_WINDOW_CURTAINS", "BLOCK_WIND", "REDUCE_SCENT", "WINDOW" ],
++ "flags": [ "NOITEM", "CONNECT_TO_WALL", "THIN_OBSTACLE", "BARRICADABLE_WINDOW_CURTAINS", "BLOCK_WIND", "NO_SCENT", "WINDOW" ],
+ "curtain_transform": "t_window_bars",
+ "examine_action": "curtains",
+ "open": "t_metal_grate_window_with_curtain_open",
+@@ -782,7 +774,7 @@
+ "THIN_OBSTACLE",
+ "BARRICADABLE_WINDOW_CURTAINS",
+ "BLOCK_WIND",
+- "REDUCE_SCENT",
++ "NO_SCENT",
+ "WINDOW"
+ ],
+ "oxytorch": {
+@@ -969,7 +961,7 @@
+ "NOITEM",
+ "OPENCLOSE_INSIDE",
+ "BARRICADABLE_WINDOW",
+- "REDUCE_SCENT",
++ "NO_SCENT",
+ "CONNECT_TO_WALL",
+ "BLOCK_WIND"
+ ],
+@@ -1047,7 +1039,7 @@
+ "NOITEM",
+ "OPENCLOSE_INSIDE",
+ "BARRICADABLE_WINDOW_CURTAINS",
+- "REDUCE_SCENT",
++ "NO_SCENT",
+ "CONNECT_TO_WALL",
+ "BLOCK_WIND",
+ "WINDOW"
+@@ -1093,7 +1085,7 @@
+ "NOITEM",
+ "OPENCLOSE_INSIDE",
+ "BARRICADABLE_WINDOW_CURTAINS",
+- "REDUCE_SCENT",
++ "NO_SCENT",
+ "CONNECT_TO_WALL",
+ "BLOCK_WIND"
+ ],
+@@ -1186,7 +1178,7 @@
+ "NOITEM",
+ "OPENCLOSE_INSIDE",
+ "BARRICADABLE_WINDOW",
+- "REDUCE_SCENT",
++ "NO_SCENT",
+ "CONNECT_TO_WALL",
+ "BLOCK_WIND"
+ ],
+@@ -1264,7 +1256,7 @@
+ "NOITEM",
+ "OPENCLOSE_INSIDE",
+ "BARRICADABLE_WINDOW_CURTAINS",
+- "REDUCE_SCENT",
++ "NO_SCENT",
+ "CONNECT_TO_WALL",
+ "BLOCK_WIND",
+ "WINDOW"
+@@ -1310,7 +1302,7 @@
+ "NOITEM",
+ "OPENCLOSE_INSIDE",
+ "BARRICADABLE_WINDOW_CURTAINS",
+- "REDUCE_SCENT",
++ "NO_SCENT",
+ "CONNECT_TO_WALL",
+ "BLOCK_WIND"
+ ],
+@@ -1403,7 +1395,7 @@
+ "NOITEM",
+ "OPENCLOSE_INSIDE",
+ "BARRICADABLE_WINDOW",
+- "REDUCE_SCENT",
++ "NO_SCENT",
+ "CONNECT_TO_WALL",
+ "BLOCK_WIND"
+ ],
+@@ -1481,7 +1473,7 @@
+ "NOITEM",
+ "OPENCLOSE_INSIDE",
+ "BARRICADABLE_WINDOW_CURTAINS",
+- "REDUCE_SCENT",
++ "NO_SCENT",
+ "CONNECT_TO_WALL",
+ "BLOCK_WIND",
+ "WINDOW"
+@@ -1527,7 +1519,7 @@
+ "NOITEM",
+ "OPENCLOSE_INSIDE",
+ "BARRICADABLE_WINDOW_CURTAINS",
+- "REDUCE_SCENT",
++ "NO_SCENT",
+ "CONNECT_TO_WALL",
+ "BLOCK_WIND"
+ ],
+@@ -1620,7 +1612,7 @@
+ "NOITEM",
+ "OPENCLOSE_INSIDE",
+ "BARRICADABLE_WINDOW",
+- "REDUCE_SCENT",
++ "NO_SCENT",
+ "CONNECT_TO_WALL",
+ "BLOCK_WIND"
+ ],
+@@ -1699,7 +1691,7 @@
+ "NOITEM",
+ "OPENCLOSE_INSIDE",
+ "BARRICADABLE_WINDOW_CURTAINS",
+- "REDUCE_SCENT",
++ "NO_SCENT",
+ "CONNECT_TO_WALL",
+ "BLOCK_WIND",
+ "WINDOW"
+@@ -1745,6 +1737,7 @@
+ "NOITEM",
+ "OPENCLOSE_INSIDE",
+ "MOUNTABLE",
++ "NO_SCENT",
+ "BARRICADABLE_WINDOW_CURTAINS",
+ "CONNECT_TO_WALL",
+ "THIN_OBSTACLE",
+@@ -1840,7 +1833,7 @@
+ "NOITEM",
+ "OPENCLOSE_INSIDE",
+ "BARRICADABLE_WINDOW",
+- "REDUCE_SCENT",
++ "NO_SCENT",
+ "CONNECT_TO_WALL",
+ "BLOCK_WIND"
+ ],
+@@ -1918,7 +1911,7 @@
+ "NOITEM",
+ "OPENCLOSE_INSIDE",
+ "BARRICADABLE_WINDOW_CURTAINS",
+- "REDUCE_SCENT",
++ "NO_SCENT",
+ "CONNECT_TO_WALL",
+ "BLOCK_WIND",
+ "WINDOW"
+@@ -1964,7 +1957,7 @@
+ "NOITEM",
+ "OPENCLOSE_INSIDE",
+ "BARRICADABLE_WINDOW_CURTAINS",
+- "REDUCE_SCENT",
++ "NO_SCENT",
+ "CONNECT_TO_WALL",
+ "BLOCK_WIND"
+ ],
+@@ -2057,7 +2050,7 @@
+ "NOITEM",
+ "OPENCLOSE_INSIDE",
+ "BARRICADABLE_WINDOW",
+- "REDUCE_SCENT",
++ "NO_SCENT",
+ "CONNECT_TO_WALL",
+ "BLOCK_WIND"
+ ],
+@@ -2135,7 +2128,7 @@
+ "NOITEM",
+ "OPENCLOSE_INSIDE",
+ "BARRICADABLE_WINDOW_CURTAINS",
+- "REDUCE_SCENT",
++ "NO_SCENT",
+ "CONNECT_TO_WALL",
+ "BLOCK_WIND",
+ "WINDOW"
+@@ -2181,6 +2174,7 @@
+ "NOITEM",
+ "OPENCLOSE_INSIDE",
+ "MOUNTABLE",
++ "NO_SCENT",
+ "BARRICADABLE_WINDOW_CURTAINS",
+ "CONNECT_TO_WALL",
+ "THIN_OBSTACLE",
+@@ -2276,7 +2270,7 @@
+ "NOITEM",
+ "OPENCLOSE_INSIDE",
+ "BARRICADABLE_WINDOW",
+- "REDUCE_SCENT",
++ "NO_SCENT",
+ "CONNECT_TO_WALL",
+ "BLOCK_WIND"
+ ],
+@@ -2352,7 +2346,7 @@
+ "NOITEM",
+ "OPENCLOSE_INSIDE",
+ "BARRICADABLE_WINDOW_CURTAINS",
+- "REDUCE_SCENT",
++ "NO_SCENT",
+ "CONNECT_TO_WALL",
+ "BLOCK_WIND",
+ "WINDOW"
+@@ -2398,7 +2392,7 @@
+ "NOITEM",
+ "OPENCLOSE_INSIDE",
+ "BARRICADABLE_WINDOW_CURTAINS",
+- "REDUCE_SCENT",
++ "NO_SCENT",
+ "CONNECT_TO_WALL",
+ "BLOCK_WIND"
+ ],
+@@ -2491,7 +2485,7 @@
+ "NOITEM",
+ "OPENCLOSE_INSIDE",
+ "BARRICADABLE_WINDOW",
+- "REDUCE_SCENT",
++ "NO_SCENT",
+ "CONNECT_TO_WALL",
+ "BLOCK_WIND"
+ ],
+@@ -2569,7 +2563,7 @@
+ "NOITEM",
+ "OPENCLOSE_INSIDE",
+ "BARRICADABLE_WINDOW_CURTAINS",
+- "REDUCE_SCENT",
++ "NO_SCENT",
+ "CONNECT_TO_WALL",
+ "BLOCK_WIND",
+ "WINDOW"
+@@ -2663,6 +2657,7 @@
+ "NOITEM",
+ "OPENCLOSE_INSIDE",
+ "MOUNTABLE",
++ "NO_SCENT",
+ "BARRICADABLE_WINDOW_CURTAINS",
+ "CONNECT_TO_WALL",
+ "THIN_OBSTACLE",
+@@ -3167,7 +3162,7 @@
+ "NOITEM",
+ "OPENCLOSE_INSIDE",
+ "BARRICADABLE_WINDOW",
+- "REDUCE_SCENT",
++ "NO_SCENT",
+ "CONNECT_TO_WALL",
+ "BLOCK_WIND"
+ ],
+@@ -3244,7 +3239,7 @@
+ "NOITEM",
+ "OPENCLOSE_INSIDE",
+ "BARRICADABLE_WINDOW_CURTAINS",
+- "REDUCE_SCENT",
++ "NO_SCENT",
+ "CONNECT_TO_WALL",
+ "BLOCK_WIND",
+ "WINDOW"
+@@ -3290,7 +3285,7 @@
+ "NOITEM",
+ "OPENCLOSE_INSIDE",
+ "BARRICADABLE_WINDOW_CURTAINS",
+- "REDUCE_SCENT",
++ "NO_SCENT",
+ "CONNECT_TO_WALL",
+ "BLOCK_WIND"
+ ],
+@@ -3376,7 +3371,7 @@
+ "color": "light_gray",
+ "move_cost": 0,
+ "roof": "t_metal_flat_roof",
+- "flags": [ "TRANSPARENT", "NOITEM", "CONNECT_TO_WALL", "THIN_OBSTACLE", "BLOCK_WIND", "REDUCE_SCENT" ],
++ "flags": [ "TRANSPARENT", "NOITEM", "CONNECT_TO_WALL", "THIN_OBSTACLE", "BLOCK_WIND", "NO_SCENT" ],
+ "bash": {
+ "str_min": 50,
+ "str_max": 75,
+--
+2.43.0
+