From 653fe03cf9d84fe74774b208bbe050a756fd79cb Mon Sep 17 00:00:00 2001 From: FaDeOkno Date: Mon, 6 Jan 2025 00:32:31 +0400 Subject: [PATCH 1/4] =?UTF-8?q?=D0=9F=D1=80=D0=BE=D0=BC=D1=8B=D1=88=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=BD=D0=B0=D1=8F=20=D1=81=D1=83=D0=BC=D0=BA=D0=B0?= =?UTF-8?q?=20=D0=B4=D0=BB=D1=8F=20=D1=80=D1=83=D0=B4=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../EntitySystems/SharedStorageSystem.cs | 6 +++- .../Objects/Specific/Salvage/equip.ftl | 3 ++ .../Specific/Salvage/advanced_ore_bag.yml | 15 ++++++++++ Resources/Prototypes/ADT/tags.yml | 3 ++ .../Entities/Clothing/Back/backpacks.yml | 5 ++++ .../Objects/Specific/Salvage/ore_bag.yml | 1 + .../Specific/Salvage/ore_bag_holding.yml | 2 +- .../advanced_ore_bag.rsi/equipped-BELT.png | Bin 0 -> 533 bytes .../Salvage/advanced_ore_bag.rsi/icon.png | Bin 0 -> 596 bytes .../advanced_ore_bag.rsi/inhand-left.png | Bin 0 -> 502 bytes .../advanced_ore_bag.rsi/inhand-right.png | Bin 0 -> 496 bytes .../Salvage/advanced_ore_bag.rsi/meta.json | 26 ++++++++++++++++++ 12 files changed, 59 insertions(+), 2 deletions(-) create mode 100644 Resources/Prototypes/ADT/Entities/Objects/Specific/Salvage/advanced_ore_bag.yml create mode 100644 Resources/Textures/ADT/Objects/Specific/Salvage/advanced_ore_bag.rsi/equipped-BELT.png create mode 100644 Resources/Textures/ADT/Objects/Specific/Salvage/advanced_ore_bag.rsi/icon.png create mode 100644 Resources/Textures/ADT/Objects/Specific/Salvage/advanced_ore_bag.rsi/inhand-left.png create mode 100644 Resources/Textures/ADT/Objects/Specific/Salvage/advanced_ore_bag.rsi/inhand-right.png create mode 100644 Resources/Textures/ADT/Objects/Specific/Salvage/advanced_ore_bag.rsi/meta.json diff --git a/Content.Shared/Storage/EntitySystems/SharedStorageSystem.cs b/Content.Shared/Storage/EntitySystems/SharedStorageSystem.cs index fee4c1a0fb6..716f77772cf 100644 --- a/Content.Shared/Storage/EntitySystems/SharedStorageSystem.cs +++ b/Content.Shared/Storage/EntitySystems/SharedStorageSystem.cs @@ -36,6 +36,8 @@ using Robust.Shared.Random; using Robust.Shared.Serialization; using Robust.Shared.Utility; +using Content.Shared.Construction.Steps; +using Content.Shared.Tag; namespace Content.Shared.Storage.EntitySystems; @@ -61,6 +63,7 @@ public abstract class SharedStorageSystem : EntitySystem [Dependency] protected readonly UseDelaySystem UseDelay = default!; [Dependency] private readonly EntityWhitelistSystem _whitelistSystem = default!; [Dependency] private readonly ISharedAdminLogManager _adminLog = default!; + [Dependency] private readonly TagSystem _tag = default!; private EntityQuery _itemQuery; private EntityQuery _stackQuery; @@ -824,7 +827,8 @@ public bool CanInsert( } if (_whitelistSystem.IsWhitelistFail(storageComp.Whitelist, insertEnt) || - _whitelistSystem.IsBlacklistPass(storageComp.Blacklist, insertEnt)) + _whitelistSystem.IsBlacklistPass(storageComp.Blacklist, insertEnt) || + _tag.HasTag(insertEnt, "ADTStorageBlacklist")) // ADT tweak { reason = "comp-storage-invalid-container"; return false; diff --git a/Resources/Locale/ru-RU/ADT/prototypes/Entities/Objects/Specific/Salvage/equip.ftl b/Resources/Locale/ru-RU/ADT/prototypes/Entities/Objects/Specific/Salvage/equip.ftl index b84b3c656bf..a21729255ab 100644 --- a/Resources/Locale/ru-RU/ADT/prototypes/Entities/Objects/Specific/Salvage/equip.ftl +++ b/Resources/Locale/ru-RU/ADT/prototypes/Entities/Objects/Specific/Salvage/equip.ftl @@ -1,2 +1,5 @@ ent-ADTJaunter = генератор червоточин .desc = Инструмент, создающий нестабильные порталы. Может спасти вас, если вы провалились в дыру. + +ent-ADTAdvancedOreBag = промышленная сумка для руды + .desc = Улучшенная версия сумки для руды, позволяющая хранить больше руды. Притягивает руду с чуть большего расстояния. diff --git a/Resources/Prototypes/ADT/Entities/Objects/Specific/Salvage/advanced_ore_bag.yml b/Resources/Prototypes/ADT/Entities/Objects/Specific/Salvage/advanced_ore_bag.yml new file mode 100644 index 00000000000..d2ca5682917 --- /dev/null +++ b/Resources/Prototypes/ADT/Entities/Objects/Specific/Salvage/advanced_ore_bag.yml @@ -0,0 +1,15 @@ +- type: entity + name: advanced ore bag + id: ADTAdvancedOreBag + parent: OreBag + components: + - type: Sprite + sprite: ADT/Objects/Specific/salvage/advanced_ore_bag.rsi + state: icon + - type: Clothing + sprite: ADT/Objects/Specific/salvage/advanced_ore_bag.rsi + - type: Storage + grid: + - 0,0,11,5 + - type: MagnetPickup + range: 1.5 diff --git a/Resources/Prototypes/ADT/tags.yml b/Resources/Prototypes/ADT/tags.yml index 61e12718d41..f0d2bae17fa 100644 --- a/Resources/Prototypes/ADT/tags.yml +++ b/Resources/Prototypes/ADT/tags.yml @@ -453,3 +453,6 @@ - type: Tag id: PKA + +- type: Tag + id: ADTStorageBlacklist diff --git a/Resources/Prototypes/Entities/Clothing/Back/backpacks.yml b/Resources/Prototypes/Entities/Clothing/Back/backpacks.yml index b589b2bbc08..616a8882352 100644 --- a/Resources/Prototypes/Entities/Clothing/Back/backpacks.yml +++ b/Resources/Prototypes/Entities/Clothing/Back/backpacks.yml @@ -17,6 +17,11 @@ grid: - 0,0,6,3 maxItemSize: Huge + # ADT Start + blacklist: + tags: + - ADTOreBag + # ADT End - type: ContainerContainer containers: storagebase: !type:Container diff --git a/Resources/Prototypes/Entities/Objects/Specific/Salvage/ore_bag.yml b/Resources/Prototypes/Entities/Objects/Specific/Salvage/ore_bag.yml index 887fd10dca1..216872c465b 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Salvage/ore_bag.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Salvage/ore_bag.yml @@ -31,4 +31,5 @@ - type: Tag tags: - ADTOreBag + - ADTStorageBlacklist # ADT tweak end diff --git a/Resources/Prototypes/Entities/Objects/Specific/Salvage/ore_bag_holding.yml b/Resources/Prototypes/Entities/Objects/Specific/Salvage/ore_bag_holding.yml index e8c7fa37dd4..3386840b251 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Salvage/ore_bag_holding.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Salvage/ore_bag_holding.yml @@ -5,7 +5,7 @@ description: A robust bag of holding for salvage billionaires and rich miners alike to carry large amounts of ore. Magnetises any nearby ores when attached to a belt. components: - type: MagnetPickup - range: 2 + range: 2.5 # ADT tweak: 2 -> 2.5 - type: Sprite sprite: Objects/Specific/Mining/ore_bag_holding.rsi state: icon diff --git a/Resources/Textures/ADT/Objects/Specific/Salvage/advanced_ore_bag.rsi/equipped-BELT.png b/Resources/Textures/ADT/Objects/Specific/Salvage/advanced_ore_bag.rsi/equipped-BELT.png new file mode 100644 index 0000000000000000000000000000000000000000..f89424ad821ccb753e15df6b2c83c7aa1d262602 GIT binary patch literal 533 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|Vo6 zPZ!6KiaBp@S$iK2kYIbTT`8z_)$RlZ1<9zw4^4|h3N=OaOA2+8)OU0HDaHO}mi@%e zQYcpM5V*l(qLRqt6&;flws_g{E!`-z_W6=;O8fXzJp6vws>g47%Gv=1D|XHeaeA{v zXwmK8KhC+;cxL9;YT26^dnRTmN$BW)X?&f6?+>-lr);_j?EpwtS9~ZZ;|9*Dmo`nIsnBAJ^ZS7WCo>FPfU_)nCZ#IATjf9OQTMo|M|cjdRyO?{y+6F za&7#(*5l*a literal 0 HcmV?d00001 diff --git a/Resources/Textures/ADT/Objects/Specific/Salvage/advanced_ore_bag.rsi/icon.png b/Resources/Textures/ADT/Objects/Specific/Salvage/advanced_ore_bag.rsi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..74fbbaee656763f92c1a2475503c4120c5491f24 GIT binary patch literal 596 zcmV-a0;~OrP)FMs?5HPvXJpdD5@fDyV%M>ACeiMIou^^0+t<6I>_ua=`z8()U{U>6o>kephU~qblD3_A{ z-{O;@)9uqYrUj( ze}TEy4}O1nk1xDT^wXkY<>~8*&C$fhhEag5emlK=0Csx&EX__kGLg2ioe1O4Naler zJid*ZEX~@JGL5te!pQjj!J!lfVZ<$V32-kis!bl&%YwXQq%q|HWY7P>$2BR01_s6z zo-U3d6?5L++V6EZK!ojs|HQ85A54m@&EJv^C@Qp^QB5|Vo+f-ycenln=8`f27x@Dl zEvEb3<^6Vesyl_DPebvE>%!|2_OYI!LN&-{H*JPh%Q7V8EmC_H6H;vtQ+e zZVsH@r#r>u-3=!*>C#;18^N&`Hnx6=72cP<=&tFL&!=DeU5q;G7W-=*CqqY)V)fq@ z1#4|iu`B2>uU*d9lB&?vzBFs;{QgIZEvXBx_lIoRkrG~dP(x0M$7ad>n8DG`hZZ1e*Rc`k3{d(z_bDr)# zxZmyNzPlS+MW!((>{GqA@%;JIOwU&T^xZtw^hZJY)*ml6aDUZdDS$-k;V z>Fmi{Ceb(J6DIf=c&K^5e|hWW`fIwA*XA&s%;-rmaeKXznW1~N-px5iH&6AQSR%~N z%gj^=x2BR01_s7O zo-U3d6?5L+GR!{YAi?%vz3ZEhU+hjTZI2E*wmT?Vc)M-a+f|}bQk-Ak7VAAdsouf; zrH)^o(~<}eK^fUOXNu+uEnYI+`TdnC-y@UG72JQFn76Z^185rrC_Mf6Fighku-TTU zWtPHc-S!4_U&y)AdU|Hiv!Ht}`_hF40}T?BEV%qko*18c>hois@4ocl{DjW${r;J0 zFPT^-XBMUQxgHK&V7N;1%*GX$-wGG6QQ3bc^Byx$-R{ufS#Km*CTnhuHtqVqvvLXd zhMq-d&L8*5PK&G6+c}4Gx^dy#y;IB2Y%?!>=KLJyCJ?Q$ZjJHx+OPaGR!y$9_;p`% z{`cK;IG;thY_T%)zd!qp?2R>RH&46dQn>htMNGifqJ7_DZLUfG35YX3WcF`W?e{OM zmQK5*z2T;`0iU=DpZKNplE9UFxu4oDxcpZAdV$&U0<(B&W6jmu^e&0b+)}pMP2Bu@ z$l5(Bjhl}77(}|iw0#sl{n45jze7uoHckt4S-d{~ZMDO$i;A()*X0)2cvcCT&HVLo g(=FE*5zHD5@rP9QU+r5LauMWiPgg&ebxsLQ0F>a@^Z)<= literal 0 HcmV?d00001 diff --git a/Resources/Textures/ADT/Objects/Specific/Salvage/advanced_ore_bag.rsi/meta.json b/Resources/Textures/ADT/Objects/Specific/Salvage/advanced_ore_bag.rsi/meta.json new file mode 100644 index 00000000000..11902327757 --- /dev/null +++ b/Resources/Textures/ADT/Objects/Specific/Salvage/advanced_ore_bag.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from ss220, resprite by unlumination", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-BELT", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} From 872f714a2a0f2ceb731e690ec972e4a9421820f4 Mon Sep 17 00:00:00 2001 From: FaDeOkno Date: Mon, 6 Jan 2025 00:41:22 +0400 Subject: [PATCH 2/4] =?UTF-8?q?=D0=B4=D0=BE=D0=B4=D0=B5=D0=BB=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Entities/Structures/Specific/tendril.ftl | 2 ++ .../Structures/Storage/crates/necropolis.ftl | 2 +- .../ADT/Entities/Structures/Specific/tendril.yml | 7 +++++++ Resources/Prototypes/ADT/mining_shop.yml | 14 ++++++++------ 4 files changed, 18 insertions(+), 7 deletions(-) diff --git a/Resources/Locale/ru-RU/ADT/prototypes/Entities/Structures/Specific/tendril.ftl b/Resources/Locale/ru-RU/ADT/prototypes/Entities/Structures/Specific/tendril.ftl index 46d3f37b5c0..a784c3572fa 100644 --- a/Resources/Locale/ru-RU/ADT/prototypes/Entities/Structures/Specific/tendril.ftl +++ b/Resources/Locale/ru-RU/ADT/prototypes/Entities/Structures/Specific/tendril.ftl @@ -15,3 +15,5 @@ ent-ADTTendrilIcewingWatcher = { ent-ADTTendrilBase } ent-ADTTendrilMagmawingWatcher = { ent-ADTTendrilBase } .desc = { ent-ADTTendrilBase.desc } + +tendril-destruction-popup = Земля под шипом обваливается! diff --git a/Resources/Locale/ru-RU/ADT/prototypes/Entities/Structures/Storage/crates/necropolis.ftl b/Resources/Locale/ru-RU/ADT/prototypes/Entities/Structures/Storage/crates/necropolis.ftl index 30e735c8292..81237e4b388 100644 --- a/Resources/Locale/ru-RU/ADT/prototypes/Entities/Structures/Storage/crates/necropolis.ftl +++ b/Resources/Locale/ru-RU/ADT/prototypes/Entities/Structures/Storage/crates/necropolis.ftl @@ -1,4 +1,4 @@ -ent-ADTCrateNecropolis = суднук некрополя +ent-ADTCrateNecropolis = сундук некрополя .desc = Сундук, состоящий из костей и мяса. Таит внутри себя неизведанные артефакты. ent-ADTCrateNecropolisHeart = { ent-ADTCrateNecropolis } diff --git a/Resources/Prototypes/ADT/Entities/Structures/Specific/tendril.yml b/Resources/Prototypes/ADT/Entities/Structures/Specific/tendril.yml index 87cd8f5c093..5e7b362c95a 100644 --- a/Resources/Prototypes/ADT/Entities/Structures/Specific/tendril.yml +++ b/Resources/Prototypes/ADT/Entities/Structures/Specific/tendril.yml @@ -27,6 +27,13 @@ ADTCrateNecropolisRandom: min: 1 max: 1 + - !type:PlaySoundBehavior + sound: + path: /Audio/ADT/SoundGen/destruction_1.ogg + radius: 7 + - !type:PopupBehavior + popup: tendril-destruction-popup + popupType: MediumCaution - type: Physics bodyType: Static - type: Transform diff --git a/Resources/Prototypes/ADT/mining_shop.yml b/Resources/Prototypes/ADT/mining_shop.yml index 0b3b3b6d7ea..749a8a2b7e7 100644 --- a/Resources/Prototypes/ADT/mining_shop.yml +++ b/Resources/Prototypes/ADT/mining_shop.yml @@ -44,20 +44,22 @@ entries: - id: ClothingBeltSalvageWebbing price: 500 - - id: ClothingOuterHardsuitSalvage - price: 3000 + - id: ADTAdvancedOreBag + price: 500 + - id: ADTWeaponCutter + price: 500 + - id: ADTJaunter + price: 900 - id: ADTClothingOuterArmorMiner price: 1000 + - id: ClothingOuterHardsuitSalvage + price: 3000 - id: ADTClothingOuterArmorMinerHeavy price: 3600 - id: ClothingOuterArmorMinerLight price: 4000 - - id: ADTWeaponCutter - price: 500 - id: ADTClothingJumpBoots price: 2500 - - id: ADTJaunter - price: 900 - type: miningShopSection id: Upgrades From b70c904c7590d1f369c1b5ed5b667bcbbc7a7e73 Mon Sep 17 00:00:00 2001 From: FaDeOkno Date: Mon, 6 Jan 2025 01:10:58 +0400 Subject: [PATCH 3/4] =?UTF-8?q?=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ADT/prototypes/Entities/Objects/Specific/Salvage/equip.ftl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Locale/ru-RU/ADT/prototypes/Entities/Objects/Specific/Salvage/equip.ftl b/Resources/Locale/ru-RU/ADT/prototypes/Entities/Objects/Specific/Salvage/equip.ftl index a21729255ab..3506e0fc7db 100644 --- a/Resources/Locale/ru-RU/ADT/prototypes/Entities/Objects/Specific/Salvage/equip.ftl +++ b/Resources/Locale/ru-RU/ADT/prototypes/Entities/Objects/Specific/Salvage/equip.ftl @@ -2,4 +2,4 @@ ent-ADTJaunter = генератор червоточин .desc = Инструмент, создающий нестабильные порталы. Может спасти вас, если вы провалились в дыру. ent-ADTAdvancedOreBag = промышленная сумка для руды - .desc = Улучшенная версия сумки для руды, позволяющая хранить больше руды. Притягивает руду с чуть большего расстояния. + .desc = Улучшенная версия сумки для руды, позволяющая хранить больше материалов. Притягивает руду с чуть большего расстояния. From 79f105d2baac3a6d3a6ea7646c44cbf8988ea052 Mon Sep 17 00:00:00 2001 From: FaDeOkno Date: Mon, 6 Jan 2025 20:37:23 +0400 Subject: [PATCH 4/4] =?UTF-8?q?=D0=B1=D0=BB=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Entities/Objects/Specific/Salvage/advanced_ore_bag.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Resources/Prototypes/ADT/Entities/Objects/Specific/Salvage/advanced_ore_bag.yml b/Resources/Prototypes/ADT/Entities/Objects/Specific/Salvage/advanced_ore_bag.yml index d2ca5682917..f5f2d530713 100644 --- a/Resources/Prototypes/ADT/Entities/Objects/Specific/Salvage/advanced_ore_bag.yml +++ b/Resources/Prototypes/ADT/Entities/Objects/Specific/Salvage/advanced_ore_bag.yml @@ -4,10 +4,10 @@ parent: OreBag components: - type: Sprite - sprite: ADT/Objects/Specific/salvage/advanced_ore_bag.rsi + sprite: ADT/Objects/Specific/Salvage/advanced_ore_bag.rsi state: icon - type: Clothing - sprite: ADT/Objects/Specific/salvage/advanced_ore_bag.rsi + sprite: ADT/Objects/Specific/Salvage/advanced_ore_bag.rsi - type: Storage grid: - 0,0,11,5