From aa0fcdbd628c4edaafab6b963253c6a3e590d1db Mon Sep 17 00:00:00 2001 From: Theo Date: Sun, 3 May 2026 03:48:21 -0500 Subject: [PATCH] advanced engineering goggles (#5688) * sprites * lathe recipe and unlock * glasses and action (nonfunctional) * increased to 5 steel * sprites * lathe recipe and unlock * glasses and action (nonfunctional) * increased to 5 steel * remove toggler component * Add t-ray scanner toggle event * add robotics diagnostic overlay + change flavor text * Add to CE locker * moving event to different file * whoops * add ref to event * Stupid tree not there --------- Signed-off-by: BarryNorfolk Co-authored-by: BarryNorfolk --- .../SubFloor/SharedTrayScannerSystem.cs | 15 +++++++ .../_DV/Clothing/Events/ToggleTrayEvent.cs | 6 +++ .../Catalog/Fills/Lockers/heads.yml | 2 +- .../Recipes/Lathes/Packs/engineering.yml | 1 + Resources/Prototypes/Research/industrial.yml | 1 + Resources/Prototypes/_DV/Actions/clothing.yml | 9 ++++ .../_DV/Entities/Clothing/Eyes/glasses.yml | 21 +++++++++ .../Prototypes/_DV/Recipes/Lathes/tools.yml | 11 +++++ .../traymeson.rsi/equipped-EYES-arachnid.png | Bin 0 -> 384 bytes .../traymeson.rsi/equipped-EYES-dog.png | Bin 0 -> 267 bytes .../traymeson.rsi/equipped-EYES-moth.png | Bin 0 -> 440 bytes .../traymeson.rsi/equipped-EYES-secdog.png | Bin 0 -> 327 bytes .../Glasses/traymeson.rsi/equipped-EYES.png | Bin 0 -> 294 bytes .../Eyes/Glasses/traymeson.rsi/icon.png | Bin 0 -> 331 bytes .../Glasses/traymeson.rsi/inhand-left.png | Bin 0 -> 305 bytes .../Glasses/traymeson.rsi/inhand-right.png | Bin 0 -> 330 bytes .../Eyes/Glasses/traymeson.rsi/meta.json | 42 ++++++++++++++++++ 17 files changed, 107 insertions(+), 1 deletion(-) create mode 100644 Content.Shared/_DV/Clothing/Events/ToggleTrayEvent.cs create mode 100644 Resources/Textures/_DV/Clothing/Eyes/Glasses/traymeson.rsi/equipped-EYES-arachnid.png create mode 100644 Resources/Textures/_DV/Clothing/Eyes/Glasses/traymeson.rsi/equipped-EYES-dog.png create mode 100644 Resources/Textures/_DV/Clothing/Eyes/Glasses/traymeson.rsi/equipped-EYES-moth.png create mode 100644 Resources/Textures/_DV/Clothing/Eyes/Glasses/traymeson.rsi/equipped-EYES-secdog.png create mode 100644 Resources/Textures/_DV/Clothing/Eyes/Glasses/traymeson.rsi/equipped-EYES.png create mode 100644 Resources/Textures/_DV/Clothing/Eyes/Glasses/traymeson.rsi/icon.png create mode 100644 Resources/Textures/_DV/Clothing/Eyes/Glasses/traymeson.rsi/inhand-left.png create mode 100644 Resources/Textures/_DV/Clothing/Eyes/Glasses/traymeson.rsi/inhand-right.png create mode 100644 Resources/Textures/_DV/Clothing/Eyes/Glasses/traymeson.rsi/meta.json diff --git a/Content.Shared/SubFloor/SharedTrayScannerSystem.cs b/Content.Shared/SubFloor/SharedTrayScannerSystem.cs index 9a7c829f14..c1ac5cb7aa 100644 --- a/Content.Shared/SubFloor/SharedTrayScannerSystem.cs +++ b/Content.Shared/SubFloor/SharedTrayScannerSystem.cs @@ -5,6 +5,7 @@ using Content.Shared.Inventory.Events; using Robust.Shared.GameStates; using Robust.Shared.Network; using Robust.Shared.Serialization; +using Content.Shared._DV.Clothing.Events; //DeltaV - ToggleTrayScanner event namespace Content.Shared.SubFloor; @@ -30,6 +31,7 @@ public abstract class SharedTrayScannerSystem : EntitySystem SubscribeLocalEvent(OnTrayUnequipped); SubscribeLocalEvent(OnUserGetVis); + SubscribeLocalEvent(OnToggleAction); //DeltaV - Listening to Tray toggle event } private void OnUserGetVis(Entity ent, ref GetVisMaskEvent args) @@ -127,6 +129,19 @@ public abstract class SharedTrayScannerSystem : EntitySystem scanner.Range = state.Range; SetScannerEnabled(uid, state.Enabled, scanner); } + + /// DeltaV additions begin + private void OnToggleAction(Entity scanner, ref ToggleTrayScannerEvent args) + { + if (args.Handled) + return; + + // Toggle Logic + SetScannerEnabled(scanner, !scanner.Comp.Enabled, scanner); + + args.Handled = true; + } + /// DeltaV additions end } [Serializable, NetSerializable] diff --git a/Content.Shared/_DV/Clothing/Events/ToggleTrayEvent.cs b/Content.Shared/_DV/Clothing/Events/ToggleTrayEvent.cs new file mode 100644 index 0000000000..c2e446e45b --- /dev/null +++ b/Content.Shared/_DV/Clothing/Events/ToggleTrayEvent.cs @@ -0,0 +1,6 @@ +using Content.Shared.Actions; + +namespace Content.Shared._DV.Clothing.Events; + +[ByRefEvent] +public sealed partial class ToggleTrayScannerEvent : InstantActionEvent { } diff --git a/Resources/Prototypes/Catalog/Fills/Lockers/heads.yml b/Resources/Prototypes/Catalog/Fills/Lockers/heads.yml index 9fbfc63b9d..d8b53c6361 100644 --- a/Resources/Prototypes/Catalog/Fills/Lockers/heads.yml +++ b/Resources/Prototypes/Catalog/Fills/Lockers/heads.yml @@ -160,7 +160,7 @@ - id: CigarCase prob: 0.15 - id: ClothingBeltChiefEngineerFilled - - id: ClothingEyesGlassesMeson + - id: ClothingEyesGlassesMesonTray # DeltaV- replace normal meson goggles #- id: ClothingHandsGlovesColorYellow # DeltaV - Moved to dresser - id: ClothingHeadsetAltEngineering - id: DoorRemoteEngineering diff --git a/Resources/Prototypes/Recipes/Lathes/Packs/engineering.yml b/Resources/Prototypes/Recipes/Lathes/Packs/engineering.yml index ce4fa30202..e9eb17ad16 100644 --- a/Resources/Prototypes/Recipes/Lathes/Packs/engineering.yml +++ b/Resources/Prototypes/Recipes/Lathes/Packs/engineering.yml @@ -62,6 +62,7 @@ - PowerDrill - WelderExperimental - JawsOfLife + - TrayGoggles # DeltaV #- Fulton # DeltaV - moved to MiningDeltaV #- FultonBeacon # DeltaV - moved to MiningDeltaV diff --git a/Resources/Prototypes/Research/industrial.yml b/Resources/Prototypes/Research/industrial.yml index ec9f6c614e..fd42e8f07a 100644 --- a/Resources/Prototypes/Research/industrial.yml +++ b/Resources/Prototypes/Research/industrial.yml @@ -182,6 +182,7 @@ - PowerDrill - JawsOfLife - BorgModuleAdvancedTool + - TrayGoggles # DeltaV #- Fulton # DeltaV - seperate tech Aerial Extraction #- FultonBeacon # DeltaV - seperate tech Aerial Extraction diff --git a/Resources/Prototypes/_DV/Actions/clothing.yml b/Resources/Prototypes/_DV/Actions/clothing.yml index 45f61a5621..abc4201b9f 100644 --- a/Resources/Prototypes/_DV/Actions/clothing.yml +++ b/Resources/Prototypes/_DV/Actions/clothing.yml @@ -6,3 +6,12 @@ components: - type: InstantAction event: !type:ToggleActionEvent + +- type: entity + parent: BaseAction + id: ActionToggleTray + name: Toggle T-ray + description: Toggles T-ray hud on and off. + components: + - type: InstantAction + event: !type:ToggleTrayScannerEvent diff --git a/Resources/Prototypes/_DV/Entities/Clothing/Eyes/glasses.yml b/Resources/Prototypes/_DV/Entities/Clothing/Eyes/glasses.yml index d4751e0b85..191ad67b23 100644 --- a/Resources/Prototypes/_DV/Entities/Clothing/Eyes/glasses.yml +++ b/Resources/Prototypes/_DV/Entities/Clothing/Eyes/glasses.yml @@ -103,6 +103,27 @@ components: - type: EyeProtection +- type: entity + parent: [ClothingEyesGlassesMeson, BaseToggleClothing] + id: ClothingEyesGlassesMesonTray + name: advanced engineering goggles + description: Protective meson goggles that have an integrated T-ray scanner and diagnostic HUD. The multilayer laminate protects from any intense flash. + components: + - type: ToggleClothing + action: ActionToggleTray + - type: TrayScanner + enabled: false + - type: FlashImmunity + - type: ShowHealthBars + damageContainers: + - Inorganic + - Silicon + - HumanoidSilicon # DeltaV - IPCs + - type: Sprite + sprite: _DV/Clothing/Eyes/Glasses/traymeson.rsi + - type: Clothing + sprite: _DV/Clothing/Eyes/Glasses/traymeson.rsi + # Wrestling gear--Domino mask, which we're treating like glasses that don't actually cover your eyes - type: entity parent: ClothingEyesBase diff --git a/Resources/Prototypes/_DV/Recipes/Lathes/tools.yml b/Resources/Prototypes/_DV/Recipes/Lathes/tools.yml index 705f8b79d3..33b2e438e4 100644 --- a/Resources/Prototypes/_DV/Recipes/Lathes/tools.yml +++ b/Resources/Prototypes/_DV/Recipes/Lathes/tools.yml @@ -36,3 +36,14 @@ materials: Plastic: 250 Glass: 150 + +- type: latheRecipe + parent: BaseToolRecipe + id: TrayGoggles + result: ClothingEyesGlassesMesonTray + completetime: 4 + materials: + Steel: 500 + Plastic: 200 + Glass: 200 + Plasma: 50 diff --git a/Resources/Textures/_DV/Clothing/Eyes/Glasses/traymeson.rsi/equipped-EYES-arachnid.png b/Resources/Textures/_DV/Clothing/Eyes/Glasses/traymeson.rsi/equipped-EYES-arachnid.png new file mode 100644 index 0000000000000000000000000000000000000000..c9d8dc89f8fed942ecea238734171cf47100c37e GIT binary patch literal 384 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7T#lEV08C%aSW-L^Y)gaw{xJxv5)S( z&b+h2$^_ZG!%kmfZT`W^!_K0+$za1z!JI>fHb}VWg>@g@kn*uD@;J-QQiGHo3-b7M z);o&KdD)kH{pA1YeBTSs)mB=*tyN(tjCrzoS_$uBli4MVp51pFR$nc>`um)fZ~CMw znO3X6&lTlrU0EY(T*&`pU;d<$nwi%wO}-L2?VDNjq$OTUg?{g|_}1;(EyZj5y=wnA zv0%+q8-MquL2IPivJO0ax7R59=llGNXSeeCg&n)sV6V($!_9o2?K;q3Q1EYkCcjUQ zio(UZlCtl+Y&W`X*>z6p?Zp(Kr2ft9^--&@s(3z6&)lnXM$@|9>Y8BX>ep}n`rf+v z>x{~iqMh=;pB7baQm(rHU6;qEddJ-jD_$M@$F*qH<`u7Wcx--iWvk>}l4LaEgjvS( Ylv!&}RlH^XV{wp>r>mdKI;Vst0Q9P)5dZ)H literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Clothing/Eyes/Glasses/traymeson.rsi/equipped-EYES-dog.png b/Resources/Textures/_DV/Clothing/Eyes/Glasses/traymeson.rsi/equipped-EYES-dog.png new file mode 100644 index 0000000000000000000000000000000000000000..72b9604f129eddf1ff85473ecae9f536381b97ca GIT binary patch literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=mpok@Ln`LHy|s|9DL~}dNB?x? z9~?no-%e*bXq0b!40&lM(g2E1W2Qk&z{$a}2hfBdf7H!Z*Cly9#U zVqn;Nr~Gx+E7>-q`BjZ8b$^*fWUp2@9kS&1j!5fRx$5(uMcN+b%=mii+`f3x%5~|H z+p@fmUp!S>%G-4D-E%!DWJQcpkZB|qKBhH(uu@tx7Lg2 zvuTFSzP<4D93|U*)vqobU2e!M(VWGm`AeaM5voDCg7KiTzopr E0Mw9c;{X5v literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Clothing/Eyes/Glasses/traymeson.rsi/equipped-EYES-moth.png b/Resources/Textures/_DV/Clothing/Eyes/Glasses/traymeson.rsi/equipped-EYES-moth.png new file mode 100644 index 0000000000000000000000000000000000000000..9ec2464a27dbe698bf73602f138bbd8d548670ad GIT binary patch literal 440 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7T#lEV669aaSW-L^Y)gl_u&8u)(7TF zv07H0!Pz1rGR8Zus#gDIc42?c!}`&GhX!wou*{Nkv-Ub6Gl zG#!}byXF2yox7h_G5zuJTW9}%x9r5Skm*LH0?!V9YYWd-2pcCgTfBb~A@ZL_%rE`lXP0!DsJ7=$0_SUFXpE+JJ*_@Z&{q%NV z>?glj7MFSFc}h%7uVXjqF?62(de^eRt%u#N^11h(fBY-zd}*w)g_{ckn4GhIw_z*u Uo!yIific41>FVdQ&MBb@0B=FX*#H0l literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Clothing/Eyes/Glasses/traymeson.rsi/equipped-EYES-secdog.png b/Resources/Textures/_DV/Clothing/Eyes/Glasses/traymeson.rsi/equipped-EYES-secdog.png new file mode 100644 index 0000000000000000000000000000000000000000..93c7281f11c65e08fe657ce7ebff93a72268dbe4 GIT binary patch literal 327 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7T#lEVC3_3aSW-L^Y)gZ_hAQ#V;|io z>M`!N+9JWCSlqtLB6gpH_3KCC8XR>T)|`??r8&=kuo{V2mA<&u;LYS3W1Z3$+?)}; zXWF$@|L^~}x3~N__jX$$py74bvDuuG5yydj50z)>V%)UhKN`;^-@%*NiMvcgZbR_6+*0mfO#sr{d{Zlvq7w>vDw~ zFB|qBmDv1+d(A3lpy?2BV1MC>nM|)6j>K;cbV!oD|Gj(F;}>hfw6h&2Y0Qq9y0GiB z+y1?4z9)Zp^zPx-rocFxz@sH=mOxt=4k5)Wz>oz!Q)m{697h>WD>G!)& Vx=qSU)bj%gc)I$ztaD0e0sszxk{bX3 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Clothing/Eyes/Glasses/traymeson.rsi/equipped-EYES.png b/Resources/Textures/_DV/Clothing/Eyes/Glasses/traymeson.rsi/equipped-EYES.png new file mode 100644 index 0000000000000000000000000000000000000000..ed5667bf623ab73736f9195dcb866c63b44d3df3 GIT binary patch literal 294 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=Z#`WcLn`LHy|td}P=LtskBd8w zJ`g_9rl2FeWyU+<9cxlc9R+Im6BGR(Y_e-Px#88LFqXxMm16%5Tpykam8`M<7+3c0 zX5;L4{wxe8Ic|F&-M5_)Vjg<-IW@ zr~@J40K!FN(>7Xblu|h7D2jqg18RB|Zmso6lB~@MYHC$PW6Vmi{+84jLza1u9bM)-@b1yUzg!NW0g$t>He2K( zfGWTJk&lApqgkupoBB=;4NY|ojJW^3`@d-N6`S+Z&ha1KaB~jCDIl`pzn*)wO1AS8 v{kNNJCmnuwTRA)DqTJ2c&rRPr7!>B~&wf1lSH1sQeUMsDS3j3^P6Uw+QEZ0Y%z zPq)|Htf;IMyQiO*)pqp?W9|LbudQ4Im#kX#?~Zx;y=v*t?2ZdI>4=*%LtFzQYwoZ1 z?b%s%Lty5oeBU0`-#a=Dh4c3^c&>U~we|K}70=_J7i`N_^))wq_UiF97GEBQ14VZk XG&c7gs4LhR3^Kse)z4*}Q$iB}&W?}6 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Clothing/Eyes/Glasses/traymeson.rsi/meta.json b/Resources/Textures/_DV/Clothing/Eyes/Glasses/traymeson.rsi/meta.json new file mode 100644 index 0000000000..6b59bbdbf3 --- /dev/null +++ b/Resources/Textures/_DV/Clothing/Eyes/Glasses/traymeson.rsi/meta.json @@ -0,0 +1,42 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/5a73e8f825ff279e82949b9329783a9e3070e2da. equipped-EYES-secdog modified from equipped-EYES by TJohnson. Equipped-EYES-arachnid and equipped-EYES-moth modified from equipped-EYES by HTMLSystem. equipped-EYES-dog modified from equipped-EYES by Sparlight (GitHub). All versions modified from respective versions by rebe83", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-EYES", + "directions": 4 + }, + { + "name": "equipped-EYES-arachnid", + "directions": 4 + }, + { + "name": "equipped-EYES-dog", + "directions": 4 + }, + { + "name": "equipped-EYES-moth", + "directions": 4 + }, + { + "name": "equipped-EYES-secdog", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +}