From b46eef7154d87dd17792a273a9c55a8007675755 Mon Sep 17 00:00:00 2001 From: jc_gargma Date: Thu, 9 Nov 2023 02:06:37 -0800 Subject: Porting to 0.4, part 2. --- PKGBUILD | 52 +++--- npc-05_kindred-update.patch | 5 +- npc-20_dialogue-fixes.patch | 32 ---- revert-02_revert-book-revamp.patch | 3 +- revert-09_undo-yet-more-ammo-balancing.patch | 34 ---- revert-18-Simplify-broken-limb-mending-3054.patch | 24 +-- revert-20_Fix-tidy-warnings-3310.patch | 21 --- src-01_radio-can-use-ups.patch | 8 - src-20_fix-default-mods.patch | 28 ++++ vampirism.patch | 189 ++++++++++++---------- 10 files changed, 181 insertions(+), 215 deletions(-) create mode 100644 src-20_fix-default-mods.patch diff --git a/PKGBUILD b/PKGBUILD index bc7b501..cf723ef 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -16,10 +16,11 @@ pkgbase=cataclysm-bn pkgname=(cataclysm-bn cataclysm-bn-tiles) pkgname=cataclysm-bn -_pkgname=Cataclysm-BN-cbn-experimental -pkgver=202310040030 -_pkgver=2023-10-04-0030 -pkgrel=8 +_pkgname=Cataclysm-BN-cbn +pkgver=0.4 +#pkgver=202310040030 +#_pkgver=2023-10-04-0030 +pkgrel=3 pkgdesc="A post-apocalyptic roguelike." #url="http://cataclysmrl.blogspot.com/" #url="http://www.cataclysm.glyphgryph.com/" @@ -30,7 +31,8 @@ license=("CCPL:by-sa") options=('lto') depends=('ncurses' 'hicolor-icon-theme' 'gettext') makedepends=('sdl2_image' 'sdl2_ttf' 'sdl2_mixer' 'freetype2' 'astyle') -source=("$pkgname-$_pkgver.tar.gz::https://github.com/cataclysmbnteam/Cataclysm-BN/archive/refs/tags/cbn-experimental-$_pkgver.tar.gz" +#source=("$pkgname-$_pkgver.tar.gz::https://github.com/cataclysmbnteam/Cataclysm-BN/archive/refs/tags/cbn-experimental-$_pkgver.tar.gz" +source=("$pkgname-$pkgver.tar.gz::https://github.com/cataclysmbnteam/Cataclysm-BN/archive/refs/tags/cbn-$pkgver.tar.gz" "cataclysm-bn.desktop" "cataclysm-bn-tiles.desktop" "icon_128x128.png" @@ -145,6 +147,7 @@ source=("$pkgname-$_pkgver.tar.gz::https://github.com/cataclysmbnteam/Cataclysm- "src-09_npc-eat-from-further-camp.patch" "src-10_reduced-kcal-during-sleep.patch" "src-11_fix-tacoma-farmfield.patch" + "src-20_fix-default-mods.patch" "vampirism.patch" @@ -153,27 +156,27 @@ source=("$pkgname-$_pkgver.tar.gz::https://github.com/cataclysmbnteam/Cataclysm- "cataclysm-dda-soundpack_jcsoundpack.tar.xz::https://library.iserlohn-fortress.net/cataclysm-dda-soundpack_jcsoundpack.git/snapshot/cataclysm-dda-soundpack_jcsoundpack-master.tar.xz" "cataclysm-dda-musicpack_coag-musicpack.tar.xz::https://library.iserlohn-fortress.net/cataclysm-dda-musicpack_coag-musicpack.git/snapshot/cataclysm-dda-musicpack_coag-musicpack-master.tar.xz" ) -b2sums=('57b0a71622ac7d363d90d57afc184425db5ba31ded1440b69e760ad55597b9d9e4d75cc85b36bfc4618e6935ecc59e754a8bcec9e25f1666cfbb74bc59b6b828' +b2sums=('4d47457c12a539ed6fa1c5b1351f473e43aecfe1e4f2aafd37e7068fc166d95c7f729806dd6c12472e13073a9e35ffb7552deb9f3decc5f56dedcb8a2d257b6a' '069ecde58859b3d44cd687c4b6e718610cefb693ff86e66f199ebfb1b3072023ad2b6f0c28e27ef9c1ce4997f6a5b2ca0d45046996b3ff35a4aeaeb1a7cf9421' 'ad88bc6c1e3c8183a313b5eec42f98d6956afea349feff34a86e4536c9921fa99d2594282caf27de8ebb7ffb56376ed2e76d572227bfd6d8173c7bb1f01e23b8' '6f70e90359a14e4839d9a2683debb88850e5dd387add911ad68fd87e5512cfcdd435da63e1e370358153673fd5a72a9b1e9c94f1979edb7948b4da8c82407bad' 'fdef1f81084e7b08203b8464f37a00e2efc8b11d423c6e6b82e612392d91047160d2bc472b63c836ebc48adee0b4f2b3434c3e07eed5876275b234e69d7f6b9c' - 'f8411d9b23803b9d12c1c5c437906f8c6dab7c0a0770bccc608bc8fdb1a776c4b5db8fd6e73d6b739bd18c531e8711cd909eed4bfa98397ef3fca0212f5836cf' + 'c2d6d7f74ada2ef54079fdf3759d9875552e2894dc8b753435acc692e705a9b297674eddb4e5a01a9269a84be7a82a8fef7e5762724b4d0f065976e877a05b00' 'e417a1786fbafb685099431f7f9926201ab80636bf3812da67acc341c7ef2b6a3853734d5b8b1bc355acbd5c0bedefb0401f8854aa5cb00032550afc8a7b9ebe' '4563b0454c67b003fc1e266345d609d8cce5d60f5d19e9936f441c3b75a98d7c162959286da9507e79def7544675cba8c9e589cca55ed9a1ed261ac608ac7c1a' '2d197903715263628e767e867e9b20b9ebd3d85f8983ac8f1e2b534f2b6f8c0470886c79a409f117ad43348aa6aef2a6298925ae27faa32814183ad7677528ac' '9ec37dae38c6d2591e84e8c714452b1634c42291a9ca98ff3044fa9c8753331f746528816a04d918a96a733cb2240f1e78387c467a0c47103d4b25316dca380a' 'e2b0718a30a96c2189036be28eb04a0a964cd513f71f323fddbf37fbd80c22eabea6dd6189080ee88d7d3a1f795b86eb10d92bce31c053905df3cfd71d0186e8' - 'e1eafcb481c11104e682e4cafd81f7d70261a7397c38bb4acf85f8999a16446c1fe508802d362b1a30e4c659966b635dc4cae75ef99416bacd866cb5aa9ed545' + '00b4020df6c0e306b3d16d3caf6abad7357343dfde3c5c901bc8fdc823554f4ae73d46ec47357678da5f3aa18a549dee742df023f37b0f8948a822e712e376b5' '5df4497d779d6980a540f0f1dd54959ca403e8b00a9f4bd1a91fee3c41d351e216abb08f1ae6729ca0fcb04efda789804b5df5c86e0003d25998e988254712f7' 'd78d2bb16e19d1bcd9b3a46182048f41705cf8ddba89e051aef7f0e28aea52536467fa4a1e39db9f64d7cb53d19882e7e12a77613369a51d8fd937192609d0ff' '63d334661bfe5270910de1c9689892aadfabbc5ee1a14508caccfd0639404f337900906fe91dab453ee5036290e485231d9072b977970d438c938ce55f8d2bf3' '3999499f63c50ab9fb38edab7592bcba4f8ab9a51b63d96445a9a6af843d5c5a36f36838735528fc42e5eec5c9e375e704fab1aa55df03f5a804e54d247edaa5' '2de96509a572c1eca36d63f1a049a27583cd0f2df53605b927c9b5112d4e2385bccc82ba1a37af06fe756f96cc1e8c9d4b6cd081ad70651ec09ac57b93cee84f' '664d6d2d4427040b25d9971fa07b32d3c1343dd60a9702835568ba1e287422ab2659a4a4e324e422755b6c655e324ca203933b6815c7b2e512beb4f15c4a27d8' - 'ee3722ba1367d993605c0cee12e67b8e10dcda0401c4480d8915bd3ac587c8a3b84379ef6f98d6e93cf433b1dae7a0db35937271787bc6b893b373dc1d44ae7d' + '5442e78f06883134c34d17d08853d86d0574e0a92e083c47b60a6755de957ba23e8fd994fad4356ea13bacdfce9912eab3ccbc45135d78cd3c4fa1c1bd35a753' 'dcb8a004230da09e73a340c1acaf3c0071a8c26e3bce9a707b8e1624854aadc9e45f6f3f0d99549ccef5c11a6396dc082691895c437d50188e1b292cb8c10751' - '19a91d07aff74b5718c239c50a559e17295cbca4b472bb75fd37b3569930c0454928e7f14f7e387eddf9d29a4e50d1fbed319e9e00338c50d40849ea0e2ee545' + 'b4ca2cb0e7c6c908277b178dae1b946ecdc2b88a8b0b4930450758e03c1f280b3740118cee274886693c158cd4604dc8487211b9185538eaa72852b18f0c67f2' 'eed0a3489e58a497c5941c182a83fb16d92c708a702da6365b39c81428b6cec1bff8fe78749f9f510cb880166a6851d61195e3066b8c19e2d3d763dd6ef38cfa' '5dd5cb90aab682dfad9c46b1fcbe93294b4d9e40f4c3f30a917b25081f7cfc66baa60adbb81584d622f099761eba0eda8f46d6e49df1f82ec3c50a2da61836b3' '365e1ac9f9ee636f2578f6fd8ab16b6460894cb9b76cf0aee5d8a55f42d882d6ee0b04e80194f4c346bfdb0778e11e30b8c03541b4d351602ccfd63cee7e3cf0' @@ -205,7 +208,7 @@ b2sums=('57b0a71622ac7d363d90d57afc184425db5ba31ded1440b69e760ad55597b9d9e4d75cc '761938b9d05430a72ff1102671d963e44d647ddb63b9a6e78979f365c6cd1e98b6a3763a4b9667ca75fbf23ee3812b4f09838061e8ba101d89d6f4dbd1104dc0' 'bc5e233c9c5b7f799a126d51d672ad510ff4f6f75a573ea8b8e994d6be07375c0b4997acef16dacad555a7f36907a361f6cc4076b97d66c4c567dc9e707bc37e' '07d181c9814348b2a985a574c8b9498d894f9283529c9bca2a1da7d6ef6333b46894e627fb0c7282e630e3d4c8671039f52ad29fe82a44dfbd27287226d19b51' - 'd3d582336519191f73c8cf3c7bbb0a8df8ecbb333d864a32ad4b263daaeb193f771aa4b9cbf00ab929b4296da6db31fd575bdb2b337148147a76e25459f703ad' + '6478e17056a909a6674721d496047e5b3abe2deaf355d4a90461daf702281f5c21acc5e4ccee394917f07e6f2065daf9405384061d80cc2e528ddd3369765b98' '93be2ff64a3217f92b369c067121683083859c7e939535e55f11818dc346d4862a50faa371315ad28ab54c9778c749d7684e8a7d68a18f774be3c2fe7891bd62' '246a189a0002e755bbed91257c324d0f34bab724f38a31bad1d5eb8bc5b126ecb3a0af8f69a6d0f5f084930c670d2747942beabab0b684f7f66a13044dec394a' '739d0a1acbf6cdd1c6e78cac75a792d475b140219ffbf8c44d4db9fa82dc93f0822763be14c81afe69ab167a611a5d89fceb3df39d28b191835e14628c369140' @@ -213,7 +216,7 @@ b2sums=('57b0a71622ac7d363d90d57afc184425db5ba31ded1440b69e760ad55597b9d9e4d75cc '88dd4e6a53b948ddd5bdf9a567a116f70047cc6cf5fb695b72b9ab571641e9af52e386c6e0b442c9dd794de39d57b26891dc8bb83e4c92506547f395d340915b' '9fbf8cf2aaa18c5cccca24783f40503cf7b7c66731f65450cc312e8b29145c56c23d31d19063dccdf3790ec06480d773d7d64de1672f38b7a4740a8aa0fd4f7d' 'abafa39e57cf04396b841833215aca427655dd3b56ebc260b8a57d6376360b31a4b1d4493da76ec4dc0129939ab9e23cada70dd6f49e647f02bce12c81f6451a' - 'e6eda6cf4831df11facb124ab80972ddffabc8e2a61f8180275c7a95a8f00917301e9b8912f2418138c9dabd91c979d5d5b5d0b2b4b8eae3891f9c1880a4c526' + 'a7449cb77ce47e09177290ffbb99c29c6695177464eb4c8902b605c9edc2bd6288c8dc741b3c772274c2e204c55380b3c37204419c6341c2aaaa30ccb776e2f3' '8eba2f66280defcc930424d695baff297cff32e91e73f01210bb3f26389ea9e93b4b4d9e2c5a5a048756eff219d51c3fbf3f05690c3c984afcc32c3928df91aa' '80da2c341d8564a47bc460fcdaf9196ac3bb77f0f2ba56bd71089e80e7481728a3ccbdcfcbc3bf70a9c9e5d9d9b01f2ca6615b67c7ab61003808ce00f6545ba3' 'b8a64accada87ee5be989c5307805610c9b5c0327bc107aab237ac3225dd9e4c51b6c79a2a7de15fe187d3c32d7cbe1c462f9b0e9fb5d5a55a74236c7061e96e' @@ -235,7 +238,7 @@ b2sums=('57b0a71622ac7d363d90d57afc184425db5ba31ded1440b69e760ad55597b9d9e4d75cc 'e1d03f68918d03f980f4c2dd966e3788afe63f14e2d18dbd4dab2cdbfa1253e4823c0f5daa3a579e47319a3c2af35bc5af0a390e2ba91fe7621f6db8b1a60994' 'e6044d7238be1cba2a083b6eb17335e10be3c8116234c67f006c7b6e5a9e25e107412ae2f5a636b01efa70cb54032f5c3da46ec7f0e92917334e72a492f739f8' 'b41ce5db19de2f4a5857debe31560b7b8216412e5df795032363839429f732b2d2359b3679a795c55a997913588f7d495c300df402529317ef2d03de24a74273' - '06c5652eb2c70b8aba6d788415089b740c3510cd9c570838f656202ba2dc65d4f3289f6695413665de930e84fe287ef035ed8e83a0610a5a316e76a17442683a' + '4a78c71ddc8a7d0a59475427bb0982336338f6328b90e07fb3c131f579f437eb57b43db860e907b12fbf3fa6708689ca3bdd3fdb2430eec1384650bd79944e17' '92cde696eec00e6758b58e73e8bc60ad1a73bb2a18d4fdfd24a19b5be715305a047943a02d94a9703c101ca0c769dbeb816f1f28809345bae0fec42fbc27bb34' '9fb6d2945184347e5b4f56f022d9b1b40559c1210edd91cb984d2c69e711dd297eab2a06d1e7d4008052fad658a9574ebd933083e7f8f3b3600b271593cbde15' 'ce82294e480ad42f0001c799fd8131b60024b6097653f3c57564c75e54596616e376f0d7f1cf4e54d8c302a61ef164b4323f795bfa19b2c13ab9e927d37f1600' @@ -246,14 +249,16 @@ b2sums=('57b0a71622ac7d363d90d57afc184425db5ba31ded1440b69e760ad55597b9d9e4d75cc '4bd44cbe85c53902b8a360509703e3d38e8a5da75dd2c534a77f03ce6440632f6c83c92939069c60473c88ffb3abab0fbf11e39271f44f813b9f6432ea5f9a6b' 'f115314dd2bb1da07bba7a90fec5c3acb7ccb5145efaea03d6806942e24d402c9a144a2fd07b82e727a0b79dedd4bdd87de0bbaf0944236563164fb6f117965e' 'e0a9e8f1129650208f7a5a37680091a6d2abaa60f5d4fd7fc691854d49c9f59317ca18dbe764cb05cacd4a2a95de702bbdd072571862ee0b27bd8df3be7a5764' - '9b7eda7ec3fb99280001360ce2004ab14de9dedcc5b41769bc27ab75d25209a5f259cdad09a60204bd05959d60670963c85609293b97696769f5cf0f1b9066a1' + 'dd5aeab5755c68ce7c72a76369b982e8ccabcd103acb46bb992ce96719db36338f8e0b5105b4627659f90ea9a4d8b9b21e2cd734cd08e723c45bcd54209b02be' + '5247f058961ef5f366774a1dbc80cb2c158d9c1eee18e4523470fe84ec40a7237cd1687d64cffad7e2ac8f572f85da456024119b656295756672e4ae4214dbbe' '9295e05268225c790bd5633cf33611177bbaf9c76143de56c066040f1f2969b435e38d190d69a1ea24caab9bd2e17864194e464d1bd1e08cd9a26bf93c225385' 'a56efdaae0344726debf5b74846edce8df7aa2357fbc7a05a3d369d1f457b02934a0d0ce2330072e03f1ac901e06e333c9393f795c761f8440307e7649ed5596' 'd6e3f2be3c37bf02c2a526323eb9b828ddf025e4d11d7f064a488102348d193d10a7186148088edc27c4e5316e8d62e96693b77b28cb78322fab79d94b8d262a' 'b9309da09b165fb57e83f84e3584d2479bd3336ed86e181e5df2d27daa92bd55d03d7f3fc226f03696af5f0f32d8e0e7ecd26ae7e50eed0200d0b0feaad07efb') prepare() { - cd "${_pkgname}-${_pkgver}" +# cd "${_pkgname}-${_pkgver}" + cd "${_pkgname}-${pkgver}" sed \ -e 's/-Werror//' \ -e 's/ncursesw5-config/ncursesw6-config/' \ @@ -283,11 +288,14 @@ prepare() { sed -i 's|cataclysm-dda|cataclysm-bn|' src/path_info.cpp # Fix version - sed -i 's|VERSION = unstable|VERSION = "0.2-experimental 2023-10-04-0030"|' Makefile +# sed -i 's|VERSION = unstable|VERSION = "0.2-experimental 2023-10-04-0030"|' Makefile + sed -i 's|VERSION = unstable|VERSION = "0.4"|' Makefile # # # Hotfixes - #echo "Applying hotfixes" + echo "Applying hotfixes" + # # Adjust default mods + patch -Np1 --no-backup-if-mismatch -i "$srcdir"/src-20_fix-default-mods.patch # # # Reverts @@ -516,6 +524,7 @@ prepare() { patch -Np1 --no-backup-if-mismatch -i "$srcdir"/npc-04_island-prison-update.patch # Port the updates to kindred from DDA + rm data/json/npcs/NPC_Brigitte_LaCroix.json patch -NEp1 --no-backup-if-mismatch -i "$srcdir"/npc-05_kindred-update.patch # Port the updates to Mr Lapin from DDA @@ -701,7 +710,8 @@ prepare() { } build() { - cd "${_pkgname}-${_pkgver}" +# cd "${_pkgname}-${_pkgver}" + cd "${_pkgname}-${pkgver}" #export CFLAGS="$CFLAGS -fPIE" export CXXFLAGS="$CXXFLAGS -fPIE" @@ -718,7 +728,8 @@ build() { } package_cataclysm-bn() { - cd "${_pkgname}-${_pkgver}" +# cd "${_pkgname}-${_pkgver}" + cd "${_pkgname}-${pkgver}" make DESTDIR="$pkgdir" PREFIX="/usr" RELEASE=1 USE_HOME_DIR=1 LOCALIZE=1 LANGUAGES=all RUNTESTS=0 VERBOSE=1 PCH=0 LUA=0 CCACHE=0 install @@ -749,7 +760,8 @@ package_cataclysm-bn() { package_cataclysm-bn-tiles() { pkgdesc="A graphical post-apocalyptic roguelike." depends=('cataclysm-bn' 'sdl2_image' 'sdl2_ttf' 'freetype2' 'sdl2_mixer') - cd "${_pkgname}-${_pkgver}" +# cd "${_pkgname}-${_pkgver}" + cd "${_pkgname}-${pkgver}" make DESTDIR="$pkgdir" PREFIX="/usr" RELEASE=1 LOCALIZE=1 LANGUAGES=all RUNTESTS=0 VERBOSE=1 PCH=0 LUA=0 CCACHE=0 TILES=1 SOUND=1 install diff --git a/npc-05_kindred-update.patch b/npc-05_kindred-update.patch index 5e9fc0c..f6d18b8 100644 --- a/npc-05_kindred-update.patch +++ b/npc-05_kindred-update.patch @@ -1,6 +1,6 @@ --- a/data/json/npcs/Kindred/NPC_Brigitte_LaCroix.json +++ b/data/json/npcs/Kindred/NPC_Brigitte_LaCroix.json -@@ -0,0 +1,552 @@ +@@ -0,0 +1,553 @@ +[ + { + "type": "npc_class", @@ -333,7 +333,8 @@ + { + "id": "MISSION_SEER_GATHER_BONE", + "type": "mission_definition", -+ "name": { ++ "name": { "str": "Collect Bones" }, ++ "description": { + "str": "Brigitte LaCroix asked you to collect clean, untainted bones in order to better understand her beliefs. 8 bones should be sufficient." + }, + "difficulty": 1, diff --git a/npc-20_dialogue-fixes.patch b/npc-20_dialogue-fixes.patch index c188437..e09f581 100644 --- a/npc-20_dialogue-fixes.patch +++ b/npc-20_dialogue-fixes.patch @@ -31,38 +31,6 @@ "difficulty": 3, "value": 20000, ---- a/data/json/npcs/refugee_center/surface_refugees/NPC_Uyen_Tran.json -+++ b/data/json/npcs/refugee_center/surface_refugees/NPC_Uyen_Tran.json -@@ -156,9 +156,7 @@ - { - "id": "MISSION_REFUGEE_Uyen_1", - "type": "mission_definition", -- "name": { -- "str": "Find 50 doses of antiseptic for Uyen Tran in the refugee center, in exchange for Merch." -- }, -+ "name": { "str": "Find 50 doses of antiseptic for Uyen Tran in the refugee center, in exchange for 8 Merch." }, - "goal": "MGOAL_FIND_ITEM", - "difficulty": 2, - "value": 0, -@@ -188,7 +186,7 @@ - { - "id": "MISSION_REFUGEE_Uyen_2", - "type": "mission_definition", -- "name": { "str": "Find 30 bandages for Uyen Tran in the refugee center, in exchange for Merch." }, -+ "name": { "str": "Find 30 bandages for Uyen Tran in the refugee center, in exchange for 7 Merch." }, - "goal": "MGOAL_FIND_ITEM", - "difficulty": 2, - "value": 0, -@@ -218,7 +216,7 @@ - { - "id": "MISSION_REFUGEE_Uyen_3", - "type": "mission_definition", -- "name": { "str": "Find 6 bottles of Prozac for Uyen Tran in the refugee center, in exchange for Merch." }, -+ "name": { "str": "Find 6 bottles of Prozac for Uyen Tran in the refugee center, in exchange for 5 Merch." }, - "goal": "MGOAL_FIND_ITEM", - "difficulty": 2, - "value": 0, - --- a/data/json/npcs/refugee_center/surface_refugees/NPC_Boris_Borichenko.json +++ b/data/json/npcs/refugee_center/surface_refugees/NPC_Boris_Borichenko.json @@ -376,7 +376,7 @@ diff --git a/revert-02_revert-book-revamp.patch b/revert-02_revert-book-revamp.patch index 1ab47ba..6f7b1a3 100644 --- a/revert-02_revert-book-revamp.patch +++ b/revert-02_revert-book-revamp.patch @@ -409,7 +409,7 @@ "//": "The ids below represent the Aarne-Thompson System of folklore classification. Do not change.", "snippet_category": [ { -@@ -217,465 +180,53 @@ +@@ -217,465 +180,54 @@ ] }, { @@ -837,6 +837,7 @@ - "time": "10 m", - "chapters": 4, - "fun": 1 ++ "intelligence": 0, + "color": "pink" }, { diff --git a/revert-09_undo-yet-more-ammo-balancing.patch b/revert-09_undo-yet-more-ammo-balancing.patch index 11d3a7e..8660096 100644 --- a/revert-09_undo-yet-more-ammo-balancing.patch +++ b/revert-09_undo-yet-more-ammo-balancing.patch @@ -25,7 +25,6 @@ Doi data/json/items/ammo/40x53mm.json | 29 +++------- data/json/items/ammo/8x40mm.json | 23 ++++---- data/json/items/generic/casing.json | 8 +-- - data/json/items/handloaded_bullets.json | 8 ++- data/json/items/migration.json | 15 +++++ data/json/obsoletion/recipes.json | 10 ++++ data/json/professions.json | 4 +- @@ -338,39 +337,6 @@ index 510b4ba9c1f..f486ad3126a 100644 "weight": "50 g", "volume": "45ml", "material": "steel", -diff --git a/data/json/items/handloaded_bullets.json b/data/json/items/handloaded_bullets.json -index 1d6da22013b..937239328dd 100644 ---- a/data/json/items/handloaded_bullets.json -+++ b/data/json/items/handloaded_bullets.json -@@ -13,7 +13,8 @@ - "weight": "3 g", - "bashing": 1, - "ammo_type": "blunderbuss", -- "damage": { "damage_type": "bullet", "amount": 60, "armor_penetration": 8 }, -+ "//": "Half the expected armor pernetration, additionally all blinderbuss rounds have an armor multiplier.", -+ "damage": { "damage_type": "bullet", "amount": 44, "armor_penetration": 12, "armor_multiplier": 1.5 }, - "range": 12, - "dispersion": 60, - "recoil": 840, -@@ -33,7 +34,7 @@ - "weight": "2 g", - "bashing": 1, - "ammo_type": "blunderbuss", -- "damage": { "damage_type": "bullet", "amount": 60 }, -+ "damage": { "damage_type": "bullet", "amount": 55, "armor_multiplier": 1.5 }, - "range": 6, - "recoil": 780, - "effects": [ "COOKOFF", "SHOT", "RECYCLED" ] -@@ -52,7 +53,8 @@ - "weight": "3 g", - "bashing": 1, - "ammo_type": "blunderbuss", -- "damage": { "damage_type": "bullet", "amount": 53, "armor_penetration": 12 }, -+ "//": "Balanced as standard FMJ to allow lower damage but more penetration over shot.", -+ "damage": { "damage_type": "bullet", "amount": 44, "armor_penetration": 24, "armor_multiplier": 1.5 }, - "range": 10, - "recoil": 840, - "effects": [ "COOKOFF", "SHOT", "RECYCLED" ] diff --git a/data/json/items/migration.json b/data/json/items/migration.json index ed67da394f0..31158a8187c 100644 --- a/data/json/obsoletion/migration.json diff --git a/revert-18-Simplify-broken-limb-mending-3054.patch b/revert-18-Simplify-broken-limb-mending-3054.patch index dd3aa52..12fba7b 100644 --- a/revert-18-Simplify-broken-limb-mending-3054.patch +++ b/revert-18-Simplify-broken-limb-mending-3054.patch @@ -188,14 +188,14 @@ index 78827e780d7..bb2b2bd73e7 100644 static const efftype_id effect_meth( "meth" ); static const efftype_id effect_narcosis( "narcosis" ); static const efftype_id effect_operating( "operating" ); -@@ -190,7 +189,6 @@ static const trait_id trait_MASOCHIST_MED( "MASOCHIST_MED" ); - static const trait_id trait_NOPAIN( "NOPAIN" ); +@@ -190,7 +189,6 @@ static const trait_id trait_PROF_AUTODOC( "PROF_AUTODOC" ); static const trait_id trait_PROF_MED( "PROF_MED" ); + static const trait_id trait_PYROMANIA( "PYROMANIA" ); -static const trait_id trait_REGEN_LIZ( "REGEN_LIZ" ); static const trait_id trait_THRESH_MEDICAL( "THRESH_MEDICAL" ); - static const std::string flag_ALLOWS_NATURAL_ATTACKS( "ALLOWS_NATURAL_ATTACKS" ); + static const flag_id flag_BIONIC_GUN( "BIONIC_GUN" ); @@ -1675,18 +1673,6 @@ void Character::process_bionic( bionic &bio ) } if( calendar::once_every( 2_minutes ) ) { @@ -550,12 +550,13 @@ index 36b63dd2bb4..9c31869540d 100644 static const efftype_id effect_npc_flee_player( "npc_flee_player" ); static const efftype_id effect_npc_suspend( "npc_suspend" ); static const efftype_id effect_pkill_l( "pkill_l" ); -@@ -1073,7 +1072,7 @@ bool npc::wear_if_wanted( const item &it, std::string &reason ) +@@ -1073,7 +1072,8 @@ bool npc::wear_if_wanted( const item &it, std::string &reason ) for( int i = 0; i < num_hp_parts; i++ ) { hp_part hpp = static_cast( i ); body_part bp = player::hp_to_bp( hpp ); - if( is_limb_broken( convert_bp( bp ) ) && !has_effect( effect_mending, bp ) && -+ if( is_limb_broken( convert_bp( bp ) ) && !worn_with_flag( flag_SPLINT, convert_bp( bp ).id() ) && ++ if( is_limb_broken( convert_bp( bp ).id() ) && ++ !worn_with_flag( flag_SPLINT, convert_bp( bp ).id() ) && it.covers( convert_bp( bp ).id() ) ) { reason = _( "Thanks, I'll wear that now." ); return !!wear_item( it, false ); @@ -571,15 +572,6 @@ index 41983b82ae5..9c8ae1701bc 100644 static const trait_id trait_SELFAWARE( "SELFAWARE" ); static const trait_id trait_THRESH_FELINE( "THRESH_FELINE" ); static const trait_id trait_THRESH_BIRD( "THRESH_BIRD" ); -@@ -69,7 +68,7 @@ static const trait_id trait_THRESH_URSINE( "THRESH_URSINE" ); - - static const efftype_id effect_got_checked( "got_checked" ); - --static const std::string flag_SPLINT( "SPLINT" ); -+static const flag_str_id flag_SPLINT( "SPLINT" ); - - // constructor - window_panel::window_panel( std::function @@ -771,36 +770,36 @@ static void draw_limb_health( avatar &u, const catacurses::window &w, int limb_i wprintz( w, color, sym ); } @@ -597,12 +589,12 @@ index 41983b82ae5..9c8ae1701bc 100644 - std::string limb = "~~%~~"; - nc_color color = c_light_red; - -- if( u.worn_with_flag( flag_SPLINT, bp ) || u.has_trait( trait_REGEN_LIZ ) ) { +- if( u.worn_with_flag( json_flag_SPLINT, bp ) || u.has_trait( trait_REGEN_LIZ ) ) { - static const efftype_id effect_mending( "mending" ); - const auto &eff = u.get_effect( effect_mending, bp->token ); - const int mend_perc = eff.is_null() ? 0.0 : 100 * eff.get_duration() / eff.get_max_duration(); + const int mend_perc = 100 * hp_cur / hp_max; -+ bool splinted = u.worn_with_flag( flag_SPLINT.str(), bp ) || ++ bool splinted = u.worn_with_flag( json_flag_SPLINT, bp ) || + ( u.mutation_value( "mending_modifier" ) >= 1.0f ); + nc_color color = splinted ? c_blue : c_dark_gray; diff --git a/revert-20_Fix-tidy-warnings-3310.patch b/revert-20_Fix-tidy-warnings-3310.patch index 944a1b7..e026533 100644 --- a/revert-20_Fix-tidy-warnings-3310.patch +++ b/revert-20_Fix-tidy-warnings-3310.patch @@ -4,22 +4,8 @@ Date: Sat, 30 Sep 2023 08:43:54 +0300 Subject: [PATCH] Fix tidy warnings (#3310) --- - src/bionics.cpp | 3 +-- src/suffer.cpp | 3 --- -diff --git a/src/bionics.cpp b/src/bionics.cpp -index 1884f75e6f8..a77ff42be5a 100644 ---- a/src/bionics.cpp -+++ b/src/bionics.cpp -@@ -200,7 +200,6 @@ static const std::string flag_PERSONAL( "PERSONAL" ); - static const std::string flag_SAFE_FUEL_OFF( "SAFE_FUEL_OFF" ); - static const std::string flag_SEALED( "SEALED" ); - static const std::string flag_SEMITANGIBLE( "SEMITANGIBLE" ); --static const std::string flag_SPLINT( "SPLINT" ); - - static const flag_str_id flag_BIONIC_FAULTY( "BIONIC_FAULTY" ); - static const flag_str_id flag_BIONIC_GUN( "BIONIC_GUN" ); - diff --git a/src/suffer.cpp b/src/suffer.cpp index 97786373598..390016d1aa5 100644 --- a/src/suffer.cpp @@ -38,13 +24,6 @@ index 97786373598..390016d1aa5 100644 static const efftype_id effect_feral_killed_recently( "feral_killed_recently" ); static const efftype_id effect_formication( "formication" ); static const efftype_id effect_glowy_led( "glowy_led" ); -@@ -169,7 +167,6 @@ static const mtype_id mon_zombie_soldier( "mon_zombie_soldier" ); - static const std::string flag_BLIND( "BLIND" ); - static const std::string flag_PLOWABLE( "PLOWABLE" ); - static const std::string flag_RAD_RESIST( "RAD_RESIST" ); --static const std::string flag_SPLINT( "SPLINT" ); - static const std::string flag_SUN_GLASSES( "SUN_GLASSES" ); - -- 2.42.0 diff --git a/src-01_radio-can-use-ups.patch b/src-01_radio-can-use-ups.patch index a47b1d4..0d811a5 100644 --- a/src-01_radio-can-use-ups.patch +++ b/src-01_radio-can-use-ups.patch @@ -1,13 +1,5 @@ --- a/src/iuse.cpp +++ b/src/iuse.cpp -@@ -350,6 +350,7 @@ - static const std::string flag_HEATS_FOOD( "HEATS_FOOD" ); - static const std::string flag_PLANT( "PLANT" ); - static const std::string flag_PLOWABLE( "PLOWABLE" ); -+static const std::string flag_USE_UPS( "USE_UPS" ); - - // how many characters per turn of radio - static constexpr int RADIO_PER_TURN = 25; @@ -2205,7 +2206,8 @@ } } else { // Activated diff --git a/src-20_fix-default-mods.patch b/src-20_fix-default-mods.patch new file mode 100644 index 0000000..8867b39 --- /dev/null +++ b/src-20_fix-default-mods.patch @@ -0,0 +1,28 @@ +--- a/data/mods/default.json ++++ b/data/mods/default.json +@@ -1,9 +1,20 @@ + [ + "bn", +- "no_npc_food", +- "novitamins", ++ "bn_restore_crows_turrets", ++ "martial_arts_update", ++ "bn_restore_removed_traits", ++ "bn_revert_handgun_damage_buff", ++ "usable_power_armor", ++ "recipe_fixes", ++ "faction_camp_recipe_expansion", ++ "mbr_vests_return", ++ "packed_at4", ++ "caseless_crafting", ++ "grenade_crafting", ++ "survivorheadgear_crafting", ++ "hk_loadout", ++ "m26_mass", ++ "restore_reactor_core_expansion", + "No_Rail_Stations", +- "elevated_bridges", +- "no_reviving_zombies", +- "limit_fungal_growth" ++ "elevated_bridges" + ] diff --git a/vampirism.patch b/vampirism.patch index 67b7f62..26c90a3 100644 --- a/vampirism.patch +++ b/vampirism.patch @@ -8,15 +8,6 @@ static const trait_flag_str_id trait_flag_CANNIBAL( "CANNIBAL" ); static const trait_flag_str_id trait_flag_PSYCHOPATH( "PSYCHOPATH" ); static const trait_flag_str_id trait_flag_SAPIOVORE( "SAPIOVORE" ); -@@ -278,6 +278,8 @@ - static const std::string flag_SUPPORTS_ROOF( "SUPPORTS_ROOF" ); - static const std::string flag_TREE( "TREE" ); - static const std::string flag_USE_UPS( "USE_UPS" ); -+static const std::string flag_VAMPIRISM( "VAMPIRISM" ); -+static const std::string flag_VAMPIRISM_OK( "VAMPIRISM_OK" ); - - using namespace activity_handlers; - @@ -667,7 +667,8 @@ !corpse.in_species( ZOMBIE ) ); if( is_human && !( u.has_trait_flag( trait_flag_CANNIBAL ) || @@ -127,35 +118,22 @@ static const trait_flag_str_id trait_flag_CANNIBAL( "CANNIBAL" ); +static const trait_flag_str_id trait_flag_VAMPIRE( "VAMPIRE" ); -@@ -114,6 +114,10 @@ - static const std::string flag_HIDDEN_HALLU( "HIDDEN_HALLU" ); -+static const std::string flag_ALLERGEN_ALCOHOL( "ALLERGEN_ALCOHOL" ); - static const std::string flag_ALLERGEN_EGG( "ALLERGEN_EGG" ); -+static const std::string flag_ALLERGEN_FOODSTUFF( "ALLERGEN_FOODSTUFF" ); -+static const std::string flag_ALLERGEN_WATER( "ALLERGEN_WATER" ); - static const std::string flag_ALLERGEN_FRUIT( "ALLERGEN_FRUIT" ); -+static const std::string flag_ALLERGEN_HONEY( "ALLERGEN_HONEY" ); - static const std::string flag_ALLERGEN_JUNK( "ALLERGEN_JUNK" ); - static const std::string flag_ALLERGEN_MEAT( "ALLERGEN_MEAT" ); - static const std::string flag_ALLERGEN_MILK( "ALLERGEN_MILK" ); -@@ -148,11 +148,17 @@ - static const std::string flag_USE_EAT_VERB( "USE_EAT_VERB" ); - static const std::string flag_COLD( "COLD" ); - static const std::string flag_VERY_COLD( "VERY_COLD" ); -+static const std::string flag_VAMPIRISM( "VAMPIRISM" ); -+static const std::string flag_VAMPIRISM_OK( "VAMPIRISM_OK" ); - - const std::vector carnivore_blacklist {{ - flag_ALLERGEN_VEGGY, flag_ALLERGEN_FRUIT, flag_ALLERGEN_WHEAT, flag_ALLERGEN_NUT, - } - }; -+const std::vector vamp_blacklist {{ -+ flag_ALLERGEN_VEGGY, flag_ALLERGEN_FRUIT, flag_ALLERGEN_WHEAT, flag_ALLERGEN_NUT, flag_ALLERGEN_MEAT, flag_ALLERGEN_EGG, flag_ALLERGEN_JUNK, flag_ALLERGEN_MILK, flag_ALLERGEN_HONEY, flag_ALLERGEN_FOODSTUFF, flag_ALLERGEN_ALCOHOL, flag_ALLERGEN_WATER, -+ } -+}; - // This ugly temp array is here because otherwise it goes - // std::vector(char*, char*)->vector(InputIterator,InputIterator) or some such - const std::array temparray {{flag_ALLERGEN_MEAT, flag_ALLERGEN_EGG}}; +@@ -126,6 +126,15 @@ + flag_id( "ALLERGEN_WHEAT" ), flag_id( "ALLERGEN_NUT" ) + }}; + ++static const std::array vamp_blacklist {{ ++ flag_id( "ALLERGEN_VEGGY" ), flag_id( "ALLERGEN_FRUIT" ), ++ flag_id( "ALLERGEN_WHEAT" ), flag_id( "ALLERGEN_NUT" ), ++ flag_id( "ALLERGEN_MEAT" ), flag_id( "ALLERGEN_EGG" ), ++ flag_id( "ALLERGEN_JUNK" ), flag_id( "ALLERGEN_MILK" ), ++ flag_id( "ALLERGEN_HONEY" ), flag_id( "ALLERGEN_FOODSTUFF" ), ++ flag_id( "ALLERGEN_ALCOHOL" ), flag_id( "ALLERGEN_WATER" ) ++ }}; ++ + static const std::array herbivore_blacklist {{ + flag_id( "ALLERGEN_MEAT" ), flag_id( "ALLERGEN_EGG" ) + }}; @@ -712,6 +712,12 @@ _( "Eww. Inedible plant stuff!" ) ); } @@ -227,6 +205,66 @@ if( has_trait( trait_PROJUNK ) ) { add_msg_if_player( m_good, _( "Mmm, junk food." ) ); +--- a/src/flag.cpp ++++ b/src/flag.cpp +@@ -15,13 +15,17 @@ + const flag_id flag_ACT_IN_FIRE( "ACT_IN_FIRE" ); + const flag_id flag_ACT_ON_RANGED_HIT( "ACT_ON_RANGED_HIT" ); + const flag_id flag_ALARMCLOCK( "ALARMCLOCK" ); ++const flag_id flag_ALLERGEN_ALCOHOL( "ALLERGEN_ALCOHOL" ); + const flag_id flag_ALLERGEN_EGG( "ALLERGEN_EGG" ); ++const flag_id flag_ALLERGEN_FOODSTUFF( "ALLERGEN_FOODSTUFF" ); + const flag_id flag_ALLERGEN_FRUIT( "ALLERGEN_FRUIT" ); ++const flag_id flag_ALLERGEN_HONEY( "ALLERGEN_HONEY" ); + const flag_id flag_ALLERGEN_JUNK( "ALLERGEN_JUNK" ); + const flag_id flag_ALLERGEN_MEAT( "ALLERGEN_MEAT" ); + const flag_id flag_ALLERGEN_MILK( "ALLERGEN_MILK" ); + const flag_id flag_ALLERGEN_NUT( "ALLERGEN_NUT" ); + const flag_id flag_ALLERGEN_VEGGY( "ALLERGEN_VEGGY" ); ++const flag_id flag_ALLERGEN_WATER( "ALLERGEN_WATER" ); + const flag_id flag_ALLERGEN_WHEAT( "ALLERGEN_WHEAT" ); + const flag_id flag_ALLERGEN_WOOL( "ALLERGEN_WOOL" ); + const flag_id flag_ALLOWS_NATURAL_ATTACKS( "ALLOWS_NATURAL_ATTACKS" ); +@@ -326,6 +330,8 @@ + const flag_id flag_USE_UPS( "USE_UPS" ); + const flag_id flag_VARSIZE( "VARSIZE" ); + const flag_id flag_VEHICLE( "VEHICLE" ); ++const flag_id flag_VAMPIRISM( "VAMPIRISM" ); ++const flag_id flag_VAMPIRISM_OK( "VAMPIRISM_OK" ); + const flag_id flag_VERY_COLD( "VERY_COLD" ); + const flag_id flag_WAIST( "WAIST" ); + const flag_id flag_WATCH( "WATCH" ); + +--- a/src/flag.h ++++ b/src/flag.h +@@ -17,13 +17,17 @@ + extern const flag_id flag_ACT_IN_FIRE; + extern const flag_id flag_ACT_ON_RANGED_HIT; + extern const flag_id flag_ALARMCLOCK; ++extern const flag_id flag_ALLERGEN_ALCOHOL; + extern const flag_id flag_ALLERGEN_EGG; ++extern const flag_id flag_ALLERGEN_FOODSTUFF; + extern const flag_id flag_ALLERGEN_FRUIT; ++extern const flag_id flag_ALLERGEN_HONEY; + extern const flag_id flag_ALLERGEN_JUNK; + extern const flag_id flag_ALLERGEN_MEAT; + extern const flag_id flag_ALLERGEN_MILK; + extern const flag_id flag_ALLERGEN_NUT; + extern const flag_id flag_ALLERGEN_VEGGY; ++extern const flag_id flag_ALLERGEN_WATER; + extern const flag_id flag_ALLERGEN_WHEAT; + extern const flag_id flag_ALLERGEN_WOOL; + extern const flag_id flag_ALLOWS_NATURAL_ATTACKS; +@@ -327,6 +331,8 @@ + extern const flag_id flag_USE_PLAYER_ENERGY; + extern const flag_id flag_USE_UPS; + extern const flag_id flag_VARSIZE; ++extern const flag_id flag_VAMPIRISM; ++extern const flag_id flag_VAMPIRISM_OK; + extern const flag_id flag_VERY_COLD; + extern const flag_id flag_VEHICLE; + extern const flag_id flag_WAIST; + --- a/src/game.cpp +++ b/src/game.cpp @@ -1040,8 +1040,9 @@ @@ -252,14 +290,6 @@ static const bionic_id bio_digestion( "bio_digestion" ); -@@ -256,6 +257,7 @@ - static const std::string flag_USES_BIONIC_POWER( "USES_BIONIC_POWER" ); - static const std::string flag_USE_UPS( "USE_UPS" ); - static const std::string flag_VARSIZE( "VARSIZE" ); -+static const std::string flag_VAMPIRISM( "VAMPIRISM" ); - static const std::string flag_VEHICLE( "VEHICLE" ); - static const std::string flag_WAIST( "WAIST" ); - static const std::string flag_WATERPROOF_GUN( "WATERPROOF_GUN" ); @@ -1720,18 +1722,34 @@ _( "* This food will cause an allergic reaction." ) ); } @@ -310,31 +340,31 @@ --- a/src/item_factory.cpp +++ b/src/item_factory.cpp -@@ -2251,6 +2251,7 @@ - // First allergens: - // An item is an allergen even if it has trace amounts of allergenic material - std::make_pair( material_id( "hflesh" ), "CANNIBALISM" ), -+ std::make_pair( material_id( "blood" ), "VAMPIRISM" ), - - std::make_pair( material_id( "hflesh" ), "ALLERGEN_MEAT" ), - std::make_pair( material_id( "iflesh" ), "ALLERGEN_MEAT" ), -@@ -2266,10 +2266,16 @@ - std::make_pair( material_id( "mushroom" ), "ALLERGEN_VEGGY" ), - std::make_pair( material_id( "milk" ), "ALLERGEN_MILK" ), - std::make_pair( material_id( "egg" ), "ALLERGEN_EGG" ), -+ std::make_pair( material_id( "alcohol" ), "ALLERGEN_ALCOHOL" ), -+ std::make_pair( material_id( "foodplace_foodstuff" ), "ALLERGEN_FOODSTUFF" ), -+ std::make_pair( material_id( "water" ), "ALLERGEN_WATER" ), -+ std::make_pair( material_id( "honey" ), "ALLERGEN_HONEY" ), - std::make_pair( material_id( "junk" ), "ALLERGEN_JUNK" ), - // Not food, but we can keep it here - std::make_pair( material_id( "wool" ), "ALLERGEN_WOOL" ), - // Now "made of". Those flags should not be passed -+ std::make_pair( material_id( "blood" ), "VAMPIRISM_OK" ), -+ std::make_pair( material_id( "blood" ), "CARNIVORE_OK" ), - std::make_pair( material_id( "flesh" ), "CARNIVORE_OK" ), - std::make_pair( material_id( "hflesh" ), "CARNIVORE_OK" ), - std::make_pair( material_id( "iflesh" ), "CARNIVORE_OK" ), +@@ -2470,6 +2470,7 @@ + // First allergens: + // An item is an allergen even if it has trace amounts of allergenic material + std::make_pair( material_id( "hflesh" ), flag_CANNIBALISM ), ++ std::make_pair( material_id( "blood" ), flag_VAMPIRISM ), + + std::make_pair( material_id( "hflesh" ), flag_ALLERGEN_MEAT ), + std::make_pair( material_id( "iflesh" ), flag_ALLERGEN_MEAT ), +@@ -2484,10 +2485,16 @@ + std::make_pair( material_id( "mushroom" ), flag_ALLERGEN_VEGGY ), + std::make_pair( material_id( "milk" ), flag_ALLERGEN_MILK ), + std::make_pair( material_id( "egg" ), flag_ALLERGEN_EGG ), ++ std::make_pair( material_id( "alcohol" ), flag_ALLERGEN_ALCOHOL ), ++ std::make_pair( material_id( "foodplace_foodstuff" ), flag_ALLERGEN_FOODSTUFF ), ++ std::make_pair( material_id( "water" ), flag_ALLERGEN_WATER ), ++ std::make_pair( material_id( "honey" ), flag_ALLERGEN_HONEY ), + std::make_pair( material_id( "junk" ), flag_ALLERGEN_JUNK ), + // Not food, but we can keep it here + std::make_pair( material_id( "wool" ), flag_ALLERGEN_WOOL ), + // Now "made of". Those flags should not be passed ++ std::make_pair( material_id( "blood" ), flag_VAMPIRISM_OK ), ++ std::make_pair( material_id( "blood" ), flag_CARNIVORE_OK ), + std::make_pair( material_id( "flesh" ), flag_CARNIVORE_OK ), + std::make_pair( material_id( "hflesh" ), flag_CARNIVORE_OK ), + std::make_pair( material_id( "iflesh" ), flag_CARNIVORE_OK ), --- a/src/iteminfo_query.h +++ b/src/iteminfo_query.h @@ -367,18 +397,15 @@ u.add_env_effect( effect_blind, bp_eyes, cur.get_field_intensity() * 2, 10_seconds ); } } -@@ -1537,8 +1537,9 @@ +@@ -1539,7 +1539,7 @@ // The gas won't harm you inside a vehicle. if( !inside ) { // Full body suits protect you from the effects of the gas. -- if( !( u.worn_with_flag( flag_GAS_PROOF ) && u.get_env_resist( bodypart_id( "mouth" ) ) >= 15 && -- u.get_env_resist( bodypart_id( "eyes" ) ) >= 15 ) ) { -+ if( !( u.has_trait( trait_VAMP_SKIN ) ) && !( u.worn_with_flag( flag_GAS_PROOF ) && -+ u.get_env_resist( bodypart_id( "mouth" ) ) >= 15 && -+ u.get_env_resist( bodypart_id( "eyes" ) ) >= 15 ) ) { +- if( !( u.worn_with_flag( STATIC( flag_id( "GAS_PROOF" ) ) ) && ++ if( !( u.has_trait( trait_VAMP_SKIN ) ) && !( u.worn_with_flag( STATIC( flag_id( "GAS_PROOF" ) ) ) && + u.get_env_resist( bodypart_id( "mouth" ) ) >= 15 && + u.get_env_resist( bodypart_id( "eyes" ) ) >= 15 ) ) { const int intensity = cur.get_field_intensity(); - bool inhaled = u.add_env_effect( effect_poison, bp_mouth, 5, intensity * 1_minutes ); - if( u.has_trait( trait_THRESH_MYCUS ) || u.has_trait( trait_THRESH_MARLOSS ) || --- a/src/memorial_logger.cpp +++ b/src/memorial_logger.cpp @@ -474,7 +501,7 @@ static const trait_id trait_TERRIFYING( "TERRIFYING" ); +static const trait_id trait_THRESH_REAL_VAMP( "THRESH_REAL_VAMP" ); - static const std::string flag_NPC_SAFE( "NPC_SAFE" ); + class monfaction; @@ -2492,12 +2492,15 @@ } @@ -546,7 +573,7 @@ + !has_trait( trait_VAMP_SKIN ) ) { oxygen--; } - if( oxygen < 12 && worn_with_flag( "REBREATHER" ) ) { + if( oxygen < 12 && worn_with_flag( flag_REBREATHER ) ) { @@ -751,7 +751,8 @@ return; } -- cgit v1.2.1