From eb1dde1257446f273e314646aa3f8cdd41e9c192 Mon Sep 17 00:00:00 2001 From: Blu <79374236+BlueHNT@users.noreply.github.com> Date: Mon, 30 Dec 2024 22:23:21 +0100 Subject: [PATCH] Adjusts Cargo Market (#1377) # Description Long story short, cargo and command abuses the new reverse-engineered suits and warning them as admins about it is getting quite tiring. So I decided to put my hand to the craft and comment them out for now, until a better way for them to be gotten is made. I have also taken this opportunity to fix some of the longstanding issues with cargo I have had, such as there missing sec masks in the riot crate or there not being a way to get the swat items. While I am still missing the properly developed versions with space proofing and minor cold/head protection, the old non ARCS riot suit will do for now. This PR fixes https://github.com/Simple-Station/Einstein-Engines/issues/1376 --- # TODO - [x] Remove problematic items from cargo - [x] Add proper swat crate Opt: - [x] Make proper swat set (soon:tm:) - [x] Adjust the armor values to fit better (can be delayed) ---

Media

I ain't got nothing chief.

--- # Changelog :cl: - add: Added swat suit - add: Added swat crate - add: Added new crate category for secure reinforced crates - tweak: Tweaked security supplies and crates - tweak: Tweaked the price of Cybersun's tacsuits because apparently they weren't charging enough to properly scam salvage techs. - tweak: Tweaked `StructuralMetallicStrong` structural protection from 10 to 80 --------- Signed-off-by: VMSolidus Co-authored-by: VMSolidus --- .../Catalog/Cargo/cargo_hardsuits.yml | 5 +-- .../Catalog/Cargo/cargo_security.yml | 12 ++++++- .../Catalog/Fills/Crates/security.yml | 32 ++++++++++++++---- Resources/Prototypes/Damage/modifier_sets.yml | 2 +- .../DeltaV/Catalog/Cargo/cargo_armory.yml | 4 +-- .../DeltaV/Catalog/Fills/Crates/armory.yml | 2 +- .../Entities/Clothing/Head/helmets.yml | 19 ++++++----- .../Entities/Clothing/OuterClothing/armor.yml | 29 ++++++++++++++++ .../Entities/Clothing/Shoes/specific.yml | 4 ++- .../Storage/Crates/base_structurecrates.yml | 20 +++++++++++ .../Structures/Storage/Crates/crates.yml | 6 ++-- .../Armor/swat.rsi/equipped-OUTERCLOTHING.png | Bin 0 -> 1728 bytes .../OuterClothing/Armor/swat.rsi/icon.png | Bin 0 -> 762 bytes .../Armor/swat.rsi/inhand-left.png | Bin 0 -> 701 bytes .../Armor/swat.rsi/inhand-right.png | Bin 0 -> 702 bytes .../OuterClothing/Armor/swat.rsi/meta.json | 26 ++++++++++++++ 16 files changed, 136 insertions(+), 25 deletions(-) create mode 100644 Resources/Textures/Clothing/OuterClothing/Armor/swat.rsi/equipped-OUTERCLOTHING.png create mode 100644 Resources/Textures/Clothing/OuterClothing/Armor/swat.rsi/icon.png create mode 100644 Resources/Textures/Clothing/OuterClothing/Armor/swat.rsi/inhand-left.png create mode 100644 Resources/Textures/Clothing/OuterClothing/Armor/swat.rsi/inhand-right.png create mode 100644 Resources/Textures/Clothing/OuterClothing/Armor/swat.rsi/meta.json diff --git a/Resources/Prototypes/Catalog/Cargo/cargo_hardsuits.yml b/Resources/Prototypes/Catalog/Cargo/cargo_hardsuits.yml index a2f8b035b0f..ebd73438ab9 100644 --- a/Resources/Prototypes/Catalog/Cargo/cargo_hardsuits.yml +++ b/Resources/Prototypes/Catalog/Cargo/cargo_hardsuits.yml @@ -41,13 +41,14 @@ group: market # Security +# Can't abuse em if you only got 1, good luck spamming frezon - type: cargoProduct id: SecurityShanlinTacsuit icon: sprite: Nyanotrasen/Clothing/OuterClothing/ReverseEngineering/syndicate.rsi state: icon product: CrateSecurityShanlinTacsuit - cost: 17500 + cost: 75000 category: cargoproduct-category-name-hardsuits group: market @@ -57,7 +58,7 @@ sprite: Nyanotrasen/Clothing/OuterClothing/ReverseEngineering/juggernaut.rsi state: icon product: CrateSecurityGuanYuTacsuit - cost: 30000 + cost: 125000 category: cargoproduct-category-name-hardsuits group: market diff --git a/Resources/Prototypes/Catalog/Cargo/cargo_security.yml b/Resources/Prototypes/Catalog/Cargo/cargo_security.yml index e22f9fd5e71..48f3c87bfd1 100644 --- a/Resources/Prototypes/Catalog/Cargo/cargo_security.yml +++ b/Resources/Prototypes/Catalog/Cargo/cargo_security.yml @@ -38,13 +38,23 @@ category: cargoproduct-category-name-security group: market +- type: cargoProduct + id: SecuritySwat + icon: + sprite: DeltaV/Clothing/OuterClothing/Armor/riot.rsi # DeltaV - resprite + state: icon + product: CrateSecuritySwat + cost: 12500 + category: cargoproduct-category-name-security + group: market + - type: cargoProduct id: SecuritySupplies icon: sprite: Objects/Storage/boxes.rsi state: box_security product: CrateSecuritySupplies - cost: 500 + cost: 1000 category: cargoproduct-category-name-security group: market diff --git a/Resources/Prototypes/Catalog/Fills/Crates/security.yml b/Resources/Prototypes/Catalog/Fills/Crates/security.yml index 592c1535083..02400ab39dc 100644 --- a/Resources/Prototypes/Catalog/Fills/Crates/security.yml +++ b/Resources/Prototypes/Catalog/Fills/Crates/security.yml @@ -41,8 +41,8 @@ - type: entity id: CrateSecurityRiot parent: CrateSecgear - name: swat crate - description: Contains two sets of riot armor, helmets, shields, and enforcers loaded with beanbags. Extra ammo is included. Requires Armory access to open. + name: riot crate + description: Contains two sets of riot armor, helmets, shields, and enforcers loaded with beanbags. Extra ammo is included. Requires Security access to open. components: - type: StorageFill contents: @@ -56,7 +56,27 @@ amount: 2 - id: RiotShield amount: 2 -# - SecGasmask + - id: ClothingMaskGasSecurity + amount: 2 + +- type: entity + id: CrateSecuritySwat + parent: CrateSecgear + name: swat crate + description: Contains two sets of all encompassing swat suits. Requires Security access to open. + components: + - type: StorageFill + contents: + - id: ClothingOuterArmorSwat + amount: 2 + - id: ClothingHeadHelmetSwat + amount: 2 + - id: ClothingMaskGasSwat + amount: 2 + - id: ClothingHandsGlovesCombat + amount: 2 + - id: ClothingShoesSwat + amount: 2 - type: entity id: CrateSecuritySupplies @@ -68,9 +88,9 @@ contents: - id: BoxHandcuff - id: BoxSechud -# - SecBelt -# - SecGasmask -# - SpacelawBook + - id: ClothingBeltSecurityFilled + - id: ClothingMaskGasSecurity + - id: BookSecurity # replace with lawbook at some point - type: entity id: CrateRestraints diff --git a/Resources/Prototypes/Damage/modifier_sets.yml b/Resources/Prototypes/Damage/modifier_sets.yml index 8366453e587..f8401de063a 100644 --- a/Resources/Prototypes/Damage/modifier_sets.yml +++ b/Resources/Prototypes/Damage/modifier_sets.yml @@ -22,7 +22,7 @@ Slash: 10 Piercing: 10 Heat: 10 - Structural: 10 + Structural: 80 - type: damageModifierSet id: StructuralMetallic diff --git a/Resources/Prototypes/DeltaV/Catalog/Cargo/cargo_armory.yml b/Resources/Prototypes/DeltaV/Catalog/Cargo/cargo_armory.yml index 1dae88730c1..f1800b445a9 100644 --- a/Resources/Prototypes/DeltaV/Catalog/Cargo/cargo_armory.yml +++ b/Resources/Prototypes/DeltaV/Catalog/Cargo/cargo_armory.yml @@ -14,7 +14,7 @@ sprite: Nyanotrasen/Objects/Weapons/Guns/Pistols/universal.rsi state: icon product: CrateArmoryUniversal - cost: 6500 + cost: 22500 category: Armory group: market @@ -37,7 +37,7 @@ cost: 5500 category: Armory group: market - + - type: cargoProduct id: ArmoryEnergyGunMini icon: diff --git a/Resources/Prototypes/DeltaV/Catalog/Fills/Crates/armory.yml b/Resources/Prototypes/DeltaV/Catalog/Fills/Crates/armory.yml index a321cdf059c..a4dc8b6a882 100644 --- a/Resources/Prototypes/DeltaV/Catalog/Fills/Crates/armory.yml +++ b/Resources/Prototypes/DeltaV/Catalog/Fills/Crates/armory.yml @@ -30,7 +30,7 @@ amount: 2 - id: BoxLethalshot amount: 3 - + - type: entity id: CrateArmoryEnergyGun parent: CrateWeaponSecure diff --git a/Resources/Prototypes/Entities/Clothing/Head/helmets.yml b/Resources/Prototypes/Entities/Clothing/Head/helmets.yml index 009c2ef784e..795984bb452 100644 --- a/Resources/Prototypes/Entities/Clothing/Head/helmets.yml +++ b/Resources/Prototypes/Entities/Clothing/Head/helmets.yml @@ -37,7 +37,7 @@ #SWAT Helmet - type: entity - parent: ClothingHeadBase + parent: [ClothingHeadBase, ClothingHeadEVAHelmetBase] id: ClothingHeadHelmetSwat name: SWAT helmet description: An extremely robust helmet, commonly used by paramilitary forces. This one has the Nanotrasen logo emblazoned on the top. @@ -46,15 +46,18 @@ sprite: Clothing/Head/Helmets/swat.rsi - type: Clothing sprite: Clothing/Head/Helmets/swat.rsi - - type: Armor #This is intentionally not spaceproof, when the time comes to port the values from SS13 this should be buffed from what it was. + - type: PressureProtection + highPressureMultiplier: 0.45 + lowPressureMultiplier: 1000 + - type: Armor modifiers: coefficients: - Blunt: 0.80 - Slash: 0.80 - Piercing: 0.80 - Heat: 0.80 - Radiation: 0.80 - Caustic: 0.95 + Blunt: 0.85 + Slash: 0.85 + Piercing: 0.85 + Heat: 0.85 + Radiation: 0.8 + Caustic: 0.9 - type: ExplosionResistance damageCoefficient: 0.75 diff --git a/Resources/Prototypes/Entities/Clothing/OuterClothing/armor.yml b/Resources/Prototypes/Entities/Clothing/OuterClothing/armor.yml index 46a431ddff2..2679073b067 100644 --- a/Resources/Prototypes/Entities/Clothing/OuterClothing/armor.yml +++ b/Resources/Prototypes/Entities/Clothing/OuterClothing/armor.yml @@ -56,6 +56,35 @@ damageCoefficient: 0.9 - type: GroupExamine +- type: entity + parent: [ClothingOuterBaseLarge, AllowSuitStorageClothing, ClothingOuterEVASuitBase] + id: ClothingOuterArmorSwat + name: swat suit + description: Composed of semi-flexible polycarbonate, reinforced materials, and integrated ballistic plating, it offers exceptional protection against melee, bullet, and environmental threats, ensuring officers remain combat-ready in the harshest conditions. + components: + - type: Sprite + sprite: Clothing/OuterClothing/Armor/swat.rsi + - type: Clothing + sprite: Clothing/OuterClothing/Armor/swat.rsi + - type: PressureProtection + highPressureMultiplier: 0.45 + lowPressureMultiplier: 1000 + - type: Armor + modifiers: + coefficients: + Blunt: 0.6 + Slash: 0.6 + Piercing: 0.6 + Heat: 0.85 + Radiation: 0.75 + Caustic: 0.85 + - type: ExplosionResistance + damageCoefficient: 0.50 + - type: ClothingSpeedModifier # Burdensome for running, but perfect for speedy gliding, even though running is still probably better + walkModifier: 0.9 + sprintModifier: 0.7 + - type: GroupExamine + - type: entity parent: ClothingOuterArmorBasic id: ClothingOuterArmorBulletproof diff --git a/Resources/Prototypes/Entities/Clothing/Shoes/specific.yml b/Resources/Prototypes/Entities/Clothing/Shoes/specific.yml index 4ae752345a7..3ec17e2bbe4 100644 --- a/Resources/Prototypes/Entities/Clothing/Shoes/specific.yml +++ b/Resources/Prototypes/Entities/Clothing/Shoes/specific.yml @@ -127,7 +127,7 @@ sprintModifier: 1.3 - type: entity - parent: ClothingShoesBaseButcherable + parent: ClothingShoesMilitaryBase id: ClothingShoesSwat name: swat shoes description: When you want to turn up the heat. @@ -136,6 +136,8 @@ sprite: Clothing/Shoes/Specific/swat.rsi - type: Clothing sprite: Clothing/Shoes/Specific/swat.rsi + - type: ClothingSlowOnDamageModifier + modifier: 0.5 - type: entity parent: ClothingShoesBaseButcherable diff --git a/Resources/Prototypes/Entities/Structures/Storage/Crates/base_structurecrates.yml b/Resources/Prototypes/Entities/Structures/Storage/Crates/base_structurecrates.yml index 52deca8e096..14c2325c81a 100644 --- a/Resources/Prototypes/Entities/Structures/Storage/Crates/base_structurecrates.yml +++ b/Resources/Prototypes/Entities/Structures/Storage/Crates/base_structurecrates.yml @@ -149,3 +149,23 @@ - Energy reflectProb: 0.2 spread: 90 + +- type: entity + parent: CrateBaseSecure + id: CrateBaseSecureReinforced + suffix: Secure, Reinforced + components: + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 150 + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] + - !type:PlaySoundBehavior + sound: + collection: MetalBreak + - type: Damageable + damageContainer: StructuralInorganic + damageModifierSet: StructuralMetallicStrong \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Structures/Storage/Crates/crates.yml b/Resources/Prototypes/Entities/Structures/Storage/Crates/crates.yml index bd8281f1949..57c105bb82f 100644 --- a/Resources/Prototypes/Entities/Structures/Storage/Crates/crates.yml +++ b/Resources/Prototypes/Entities/Structures/Storage/Crates/crates.yml @@ -297,7 +297,7 @@ access: [["Hydroponics"]] - type: entity - parent: CrateBaseSecure + parent: CrateBaseSecureReinforced id: CrateWeaponSecure name: secure weapon crate components: @@ -309,8 +309,8 @@ access: [["Armory"]] - type: entity - parent: CrateBaseSecure - suffix: Armory, Secure + parent: CrateBaseSecureReinforced + suffix: Armory, Secure, Reinforced id: CrateContrabandStorageSecure name: contraband storage crate description: An armory access locked crate for storing contraband confiscated from suspects or prisoners. diff --git a/Resources/Textures/Clothing/OuterClothing/Armor/swat.rsi/equipped-OUTERCLOTHING.png b/Resources/Textures/Clothing/OuterClothing/Armor/swat.rsi/equipped-OUTERCLOTHING.png new file mode 100644 index 0000000000000000000000000000000000000000..08595405711cfbf687ca0ab3b05d22231def29b5 GIT binary patch literal 1728 zcmV;x20!_UP)Px*dPzh)*(fz@Z!~!j8?t?G+mMU0T7w9W@M`P z2CNzU1tO0xEh`IAC8SU%@>JVtC1)Y`4(VMDf#5SZeP6x)Nf!2TzW?L9=k6Y#56H>M z$;rvd$@!mBNRp}B?b6|Jh$xB>h9PFN*^~PSAyk%SNRos`qk&JKJ|!yqPwQ{YLpH*w{Q2`^p@jn2 zecN<{b^4c=mpD8;#B@64zsJYNsq{B?f$r%k9_DjYDiz${-(xbF002zWL=XfpO%uRl zW!&H2qf)8hVLnIq^fc{rC(>6G1&4=+P!we={k65j1|L;b7hFDyBA%z+ZeuVQ@N3o& zS$@y+0HhlXpVN0;7stoP+ygEzFQI8#D*b0YpkA*7c2*ZkJDgA3l8G=iP3Xmdj096!a;Ww_oshl`#y8!Dq^?H3_%DcV2;;ORaLqBrJV)V-N$s62f?_0 zl5!XuyTF$(Ult09KlE}MV>B8SJkLwj@|$2<)9IAQ0IO_BO5)ZbgwT4uj^W>bW3O0* zs;Ybp@H`I>^EnzvM^7qjS7fE1C=`yo6_k|bd?8bQ}}L{S7?*YW1f8|iP*oM3PG@8MElQU9iE3(HfwS4H@Z5h%jrh0g=j7z%U-L?E9EXc%{TfOLp{x;@CobER$+9>bSS-uJUa`p2ZQDi|hG?}~ zLJzVHtyT+R7{az~p0@X^YsPI&g3yv!v)RO8Fu=Ga2$ub9{`j}CDCU|4byTQ2VodOmSwbB zEoho1TvqBuQC7n&z1eK;baUi$bh};3+<)1QW&1Xfcnp}$W(BtYPL^dJkT4I3_s6VZ zT1>mw>+xWy)9DCxL*ZF~oih>BG-;#Jz;HO^`*^ZumF6njl8|Z|9FNC^_%-mji7|@+ zXcda0P}bk$)1F}%RCF2?HkgH<0QlU?&XWco+oByD(6}x;2f!OADZ*cenZRr|!~2sH zSe6Azl3wiL0l>YvDM*q8%d+tPjHR;3e(t-s?|)>sJ7Hu_=(jR*2#YFlpkDR2~4}$wG*tDD)-cfMq-4yIDm@ zH3-H<*$YysRNDEzfK?DeXsJ}f+1VL1P2&%~+#pFw)ne?Gbk!T+OS}#*r!ia7X#WGy WR$WS2G1Z9x0000Px%v`IukR9J=Wl|63aKp2J}hi%;8l;aep#7$ZpD18tl4q%x(aDpfYh(yaBTrP=E zFqA>an$k{V8sjb4ndN7}X0@wr@=BI9f8Y1c`~3`j;R|2*!heRXx;^>VqSEK7=_ zV7*?So%1}eb{q%WwiynGJU>6Tvfa4J^Sl}$iXs5!^Z6MG?R-2Q1Mu?l0`Oa+r?_jw zGKwM=iv<9-ZR0o&kB^VF{`AcO7K?=;+XjsU>bhn&n<1rSv)NFVB}%EIJxVFcvShQ_ zAf;qBn^D(wD*{&~@;tBJRTX!gjxqT3^kmkhl=!}H#&2(Ld!v?xKGzh6Mg`*OlwDQf zx-Q%87AYkFgTa72&lwB`hRk-m#dTeFRYg3VHksa&y|kc{PY8ih3LyjlWm%d%-BJ57uerE zNfNRw!}op4vc&g&vMeJ>5~Ggmy7YRzM&|(Et}VX5zaNc1K0cUCCL~D$fbaVzC&Dn~ z_4O6lhv2kQF5#jAI&MJ_nD_(c_JDD&RnQPZ82Ov3;HmmCmPG}5R=J-EX$BmV%s)pnjUq;hlht-%mFtfA?y=T zHzg@0pP!#rx7)3C?3GeCCE!g2^y{dR=eZ$pe}8|p_peuh=XrG$MF=6#rKp|izvDOv sA&8>rjO;bEVtUEodcC%;t+lcJ11-5`l>kGE?EnA(07*qoM6N<$f-dP{!vFvP literal 0 HcmV?d00001 diff --git a/Resources/Textures/Clothing/OuterClothing/Armor/swat.rsi/inhand-left.png b/Resources/Textures/Clothing/OuterClothing/Armor/swat.rsi/inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..5dca6aa06549d83f16e956b9320373f2e42246bb GIT binary patch literal 701 zcmV;u0z&Px%cS%G+RCt{2+Oe*pKokbxpUpNDVy08Bfy#tt+EH5@YYSW7!0;e;`UbWZyn(&6 zHnu{cozceX?%Col#N2G6a1X3^bG`~mI5QlF1DP2>2qA>GnnUj)M~W=0Jqx>05F|S0RYS85=oLgY%fb5 z5g|=e*8cs?PtIV!-rsRN9?|dj^K*;E0+v<$KHBXz(lpI~8)GPrWA=owCcu4r0|4yz z`}|zH-Nxy3dOAk0*Tdm($VX7-^KUM!8J$cfl-+y~1OPsgVcRx*-^Y5re!4x!ap-!z zR{jW7Mr%!4YjPZiCX-3wVs?K`nd_g${uapWc00?qZHz`EY`5FO*JmS1Yfbz8zOp2+ z)&St6if7e6j$`X~yU{b%|Fa+nVB2k;-Z!R)x|jte1#5JCtcgb+dq@j{eRwJdFOV4oG%T2r^%&G~#@D(RK13>8@n zEkh|q^ZA^#*7;t9)oN8L7JCAQ!(rt!z~}SXTCdj_4u=?z#{iJ8Arw`~x~!8&1V0&H-FUm2Dl#uWsBgq#<7X&TR#FESQAk9FtlyE);)y} zDW#~+8W4sd8DqYb0JagJl%htXfkvaj74o6YW`n_CP+NO1M=3>~=aDg{^axPx%cu7P-RCt{2+Odw}Fc1ddKc{O_0HOoLIu#O)TLUc(HAPz90P!Fxc>`Js-hdit z)1<|^mC_+-((PQaGJ?f{yIjJN)qGWAY-gCnN#qz{j4{R-V~jEO{YWWkHk(n}?>}sX zv)PQKl;=i52vSO=cJivElr))4&~CR=>o{Kvgb*~HP5}Um#R34}x-I}9j$>%8Z`!=F zx3@QPoX?PLvH!F+n$PDTBJ}(HbJ=FI0eyTF6=!agQncIc&VRJoY$A^1)cV#0n1)dl zUF`$FulM&{0xe3CBscqwMgyMbL2G?e|K^hLeV_LGJ(46rx7!7Pb0WIkE|$w>sfIwc zTBXzJ^mj4)zE9O^m86tcH^Z{cXWaLFilPYS#9al@NxZ6NaIqlp-^X(^wM#e2(`hilCGtDJAuKz1#yWLaWs} zpZz3B&}y~r)=y1zsq5I z8MoQDwXqgv>4-7L7-Nhv#u#IaF_x=(y;bS6yxz208p#d@{Fe(f*`nBKlH5Q7JZ+|q>SqaE@c`5-$~{KnDuvN1=+J) z4!{3ON=ZtoyNeL>R