From ceff7be9a4277e99b2b3c44c669791cd831996e5 Mon Sep 17 00:00:00 2001 From: Cepelinas1 Date: Sat, 28 Feb 2026 16:23:13 +0200 Subject: [PATCH] Let Engineering choose their starter suit (#5317) * test * a lot of stuff * Changed voidsuit speed to 15%. Added a locker variant to just have the hardsuit, with a shitty id * test re-run * deltaV addition comments * goob copyright (just in case bro, don't sue us) --- .../Locale/en-US/_DV/tools/set_selector.ftl | 8 +++++ .../Catalog/Fills/Lockers/engineer.yml | 4 +-- .../Catalog/Engineering/selectable_sets.yml | 19 +++++++++++ .../_DV/Catalog/Fills/Lockers/engineering.yml | 20 +++++++++++ .../Clothing/OuterClothing/softsuits.yml | 4 +-- .../Specific/Misc/voidsuitselectors.yml | 31 ++++++++++++++++++ .../Devices/unique_teleporters.rsi/bso.png | Bin 0 -> 766 bytes .../Devices/unique_teleporters.rsi/meta.json | 20 +++++++++++ .../Devices/unique_teleporters.rsi/ntr.png | Bin 0 -> 774 bytes .../unique_teleporters.rsi/standard.png | Bin 0 -> 767 bytes 10 files changed, 102 insertions(+), 4 deletions(-) create mode 100644 Resources/Locale/en-US/_DV/tools/set_selector.ftl create mode 100644 Resources/Prototypes/_DV/Catalog/Engineering/selectable_sets.yml create mode 100644 Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Misc/voidsuitselectors.yml create mode 100644 Resources/Textures/_Goobstation/Objects/Devices/unique_teleporters.rsi/bso.png create mode 100644 Resources/Textures/_Goobstation/Objects/Devices/unique_teleporters.rsi/meta.json create mode 100644 Resources/Textures/_Goobstation/Objects/Devices/unique_teleporters.rsi/ntr.png create mode 100644 Resources/Textures/_Goobstation/Objects/Devices/unique_teleporters.rsi/standard.png diff --git a/Resources/Locale/en-US/_DV/tools/set_selector.ftl b/Resources/Locale/en-US/_DV/tools/set_selector.ftl new file mode 100644 index 0000000000..877a294b98 --- /dev/null +++ b/Resources/Locale/en-US/_DV/tools/set_selector.ftl @@ -0,0 +1,8 @@ +selectable-set-engineering-voidsuit-name = Engineering Voidsuit +selectable-set-engineering-voidsuit-desc = A lightweight version of the standard engineering hardsuits. Allows for faster response time, at the cost of most of the protective plating. + +selectable-set-engineering-hardsuit-name = Engineering Hardsuit +selectable-set-engineering-hardsuit-desc = A standard engineering hardsuit that protects against hazardous, low pressure environments. Has radiation shielding. + +selectable-set-voidsuit-title = Voidsuit Selector +selectable-set-voidsuit-description = With how fragile stations are, spacing is a possibility. Choose wisely. diff --git a/Resources/Prototypes/Catalog/Fills/Lockers/engineer.yml b/Resources/Prototypes/Catalog/Fills/Lockers/engineer.yml index 9b1ce0dc17..f0b538386d 100644 --- a/Resources/Prototypes/Catalog/Fills/Lockers/engineer.yml +++ b/Resources/Prototypes/Catalog/Fills/Lockers/engineer.yml @@ -175,7 +175,7 @@ - type: entity id: LockerEngineerFilledHardsuit - suffix: Filled, Hardsuit + suffix: Filled, Undetermined # DeltaV - Choose your own hardsuit adventure, was Filled, Hardsuit. parent: LockerEngineer components: - type: EntityTableContainerFill @@ -215,7 +215,7 @@ id: FillEngineerHardsuit table: !type:AllSelector children: - - id: ClothingOuterHardsuitEngineering + - id: UndeterminedVoidsuitEngineer # DeltaV - Choose your own hardsuit adventure, was ClothingOuterHardsuitEngineering - id: OxygenTankFilled - id: ClothingShoesBootsMag - id: ClothingMaskBreath diff --git a/Resources/Prototypes/_DV/Catalog/Engineering/selectable_sets.yml b/Resources/Prototypes/_DV/Catalog/Engineering/selectable_sets.yml new file mode 100644 index 0000000000..f7a1334d1b --- /dev/null +++ b/Resources/Prototypes/_DV/Catalog/Engineering/selectable_sets.yml @@ -0,0 +1,19 @@ +- type: thiefBackpackSet + id: VoidsuitSelectorEngineerVoidsuit + name: selectable-set-engineering-voidsuit-name + description: selectable-set-engineering-voidsuit-desc + sprite: + sprite: _DV/Clothing/OuterClothing/Suits/engineering-light.rsi + state: icon + content: + - ClothingOuterVoidsuitEngineering + +- type: thiefBackpackSet + id: VoidsuitSelectorEngineerHardsuit + name: selectable-set-engineering-hardsuit-name + description: selectable-set-engineering-hardsuit-desc + sprite: + sprite: Clothing/OuterClothing/Hardsuits/engineering.rsi + state: icon + content: + - ClothingOuterHardsuitEngineering diff --git a/Resources/Prototypes/_DV/Catalog/Fills/Lockers/engineering.yml b/Resources/Prototypes/_DV/Catalog/Fills/Lockers/engineering.yml index 20670fdf47..1892bf6ecb 100644 --- a/Resources/Prototypes/_DV/Catalog/Fills/Lockers/engineering.yml +++ b/Resources/Prototypes/_DV/Catalog/Fills/Lockers/engineering.yml @@ -10,3 +10,23 @@ children: - id: ClothingOuterVoidsuitEngineering - id: OxygenTankFilled + - id: ClothingShoesBootsMag + - id: ClothingMaskBreath + - !type:NestedSelector + tableId: FillLockerEngineer + +- type: entity + id: LockerEngineerFilledOnlyHardsuit # Probably need a better ID than the existing LockerEngineerFilledHardsuit. Leaving up to mappers. + suffix: Filled, Hardsuit + parent: LockerEngineerFilled + components: + - type: EntityTableContainerFill + containers: + entity_storage: !type:AllSelector + children: + - id: ClothingOuterHardsuitEngineering + - id: OxygenTankFilled + - id: ClothingShoesBootsMag + - id: ClothingMaskBreath + - !type:NestedSelector + tableId: FillLockerEngineer diff --git a/Resources/Prototypes/_DV/Entities/Clothing/OuterClothing/softsuits.yml b/Resources/Prototypes/_DV/Entities/Clothing/OuterClothing/softsuits.yml index 461b9c51a8..6f0a040823 100644 --- a/Resources/Prototypes/_DV/Entities/Clothing/OuterClothing/softsuits.yml +++ b/Resources/Prototypes/_DV/Entities/Clothing/OuterClothing/softsuits.yml @@ -93,8 +93,8 @@ - type: ExplosionResistance damageCoefficient: 0.85 - type: ClothingSpeedModifier - walkModifier: 0.8 - sprintModifier: 0.8 + walkModifier: 0.85 + sprintModifier: 0.85 - type: HeldSpeedModifier - type: ToggleableClothing clothingPrototype: ClothingHeadHelmetVoidsuitEngineering diff --git a/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Misc/voidsuitselectors.yml b/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Misc/voidsuitselectors.yml new file mode 100644 index 0000000000..77c630ef08 --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Misc/voidsuitselectors.yml @@ -0,0 +1,31 @@ +# SPDX-FileCopyrightText: 2025 GoobBot +# SPDX-FileCopyrightText: 2025 IrisTheAmped +# SPDX-FileCopyrightText: 2025 PunishedJoe +# +# SPDX-License-Identifier: AGPL-3.0-or-later + +# engineer +- type: entity + id: UndeterminedVoidsuitEngineer + name: engineer voidsuit selector + description: A small remote utilizing bluespace technology to drop in a voidsuit or hardsuit of your choosing. + parent: BaseItem + components: + - type: Sprite + sprite: _Goobstation/Objects/Devices/unique_teleporters.rsi + state: standard + - type: ThiefUndeterminedBackpack + #Delta V additions begin + possibleSets: + - VoidsuitSelectorEngineerVoidsuit + - VoidsuitSelectorEngineerHardsuit + maxSelectedSets: 1 + toolName: selectable-set-voidsuit-title + toolDesc: selectable-set-voidsuit-description + #Delta V additions end + - type: ActivatableUI + key: enum.ThiefBackpackUIKey.Key + - type: UserInterface + interfaces: + enum.ThiefBackpackUIKey.Key: + type: ThiefBackpackBoundUserInterface diff --git a/Resources/Textures/_Goobstation/Objects/Devices/unique_teleporters.rsi/bso.png b/Resources/Textures/_Goobstation/Objects/Devices/unique_teleporters.rsi/bso.png new file mode 100644 index 0000000000000000000000000000000000000000..8290dfe668a969c144cf1a5524735c076b8ed7d8 GIT binary patch literal 766 zcmVPx%xJg7oR9J=Wmc33JK@^3*yMGQS2x9^SC_sp(i1HewauLahh9(hBULXa9C07)d zEJb1!iR3XNG(wV*Y%(-{(Ed1|~q8p7d zKjm7j*5&%$$F2e7*^>&jS`CrWDV(ALia-6|=m&d`(TgUY9ToIXgQ8AW0I!Fr;3u|MGxV zC5Ypga=A>e*Sm|By}dmEE}n(l^=t$HD5XZx(rh+Ouh+XwzP`TxX9XllLYg*cG~Qk* z!x(AW7_7!#Sj8(Wz!*cCHrU^X`T2Rq$5TqB2LPmL%HrY-hlhuxX@gSfjp_HF|Jf33 zZhB^V`Vqs=T5z0U4%c;=ot?uNLlhkq4Qo3G44&uF>79Vl=sZW~IRdn!2-kH`Dz}Pg z)dM2JaU7FvXkH%AUE|co0W^C&oS67~0$kTa90zx10dIQYjvZgEl7nRleBUSVJlu&2 z0P)%?@!IM@+(d;S@Npcws#<=AhN~lR^8M!;l$<=;{G) zI-r3Och;S-60MXb&xS6KU(19$=(0b&kz6C1>jL|5qQ72uz=>;ZRLkHAJ7svMa zwgP@Mn2HW=aVk2%|BWuN>;Yk_Qh{cd?d>)qgM?aZUcGiGPgSfZp|xb+_nDoW0}+B! ziJ(+M9EZpA3j~3W#ZQ*KfGj&F&j(E=;^4Y2uIplqL2HFliu3cnl>n;}c%DbU{|%8b zz@W9hU?mos+eA@BlAK}8;O|H&g^0uH=_#E~hiPx%z)3_wR9J=Wmb-2mK@^6+Sr%9%UshO-*B2QZk(bCTq>P+2?r=%xl*m#dxui=P zOLW^fPMK%O8>CB-#9*ReVHN}dc4sFA2!k(pC$g0y{+rp=nLX#9f6is$e}{;=Q7Lt+ ztz0gTpFezVC_ub?mL{LiBgE_wMpOb(AcWx8_b&kK@9#(ZCaUvU3fQ)-c6WD4BodgW ziSPUPzK`p=c%C;iMq~xbF!>5E#ZK|F~(A*~}0s#p&sfsBZO=P$@+`9;a4spu&*Q9}xNj1d3{y%w61EEPkYxiIvx04&I02+g3 z0@{selEGC4LS_%Go1mqDloEdsjNiR{4ljSHK)>I=t5sivmI7fI5=e<`H!zphSS(*E zAlnT>rC$bmePEP;!6~_S%D1^OnE0$97KAqypih~~nvz=Ul_Agm7 znPfAQ0U@wbDXdfqVZ_+ZX0a?wyArer^n1N=uQv<>(=;(n6Q$HJL4$zby$2e{0P#eE zPPa=C1SkbkhDaF#Ljvt~dul@7D}mDXp{Q0XR4S*mS}i~k1OY)1AcVn1v&q?6m0InL z()MBGo6t(a7q#a?2*F1_DUWHXf42H#qB=ew@rZwpKMW%fOBKUnrT_o{07*qoM6N<$ Ef-A346951J literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Goobstation/Objects/Devices/unique_teleporters.rsi/standard.png b/Resources/Textures/_Goobstation/Objects/Devices/unique_teleporters.rsi/standard.png new file mode 100644 index 0000000000000000000000000000000000000000..af23158a9b8921a385f8793dc1fdc614c3012f57 GIT binary patch literal 767 zcmVPx%xk*GpR9J=Wmd{EXQ5431cV?oAsX8PGqJq}CENv>TN@zh^Ty`OLohHny&Oh^BN?TnH@{LLpe_fMztAgqcik7pW6%(m0nY6xweyf6lq*eD^!|o_pb6 zhluMarTnd}R4PU9Z{D3sK)imMp-?Cw#PAeaTmo?*gy8$vBLIrUV!SbNgAY@{G)=j= zxyi`L2!>%01OY)1VB0pX>kiEkTY*xk#QglcTwGj~3kwU^*jSb&Y}=;MXaL}O9=2^` zS=NmcR4Re%x|pU(tyUXk7JGYp0Q`K$QrA!+01$@ZFtga*-IcXkElR$%wRO7$JkJBV zbypob2(e3Wxd?VwN1QMqCZohlscaR0&5-4RHoQW%DTJ~fAto$0gR)OH6!sRR=f6PW2V`gjHa zcVh{6qdQ}LJcDW8Bauib5l~VraeBY;0Z${s4VF|a;Q{epk9N+hq2q-DgZntUqKHK;`F9-;?D_aT34{psrK0h{kszak8)4oU30N~-{9L;8PScv|ZO5SvP zLH^lu&~(g97BiDYGZL)6c!_D6%FRgmLUP&b4Z|RrOp;6{>2x~yzE88+rbHV1IwV@4`{7R+W?g$AA14_yK&^1SfgZ-uD0i002ovPDHLkV1l+zW5NIc literal 0 HcmV?d00001