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 <barrynorfolkman@protonmail.com>
Co-authored-by: BarryNorfolk <barrynorfolkman@protonmail.com>
This commit is contained in:
Theo 2026-05-03 03:48:21 -05:00 committed by GitHub
parent fef0a37538
commit aa0fcdbd62
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
17 changed files with 107 additions and 1 deletions

View File

@ -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<TrayScannerComponent, GotUnequippedEvent>(OnTrayUnequipped);
SubscribeLocalEvent<TrayScannerUserComponent, GetVisMaskEvent>(OnUserGetVis);
SubscribeLocalEvent<TrayScannerComponent, ToggleTrayScannerEvent>(OnToggleAction); //DeltaV - Listening to Tray toggle event
}
private void OnUserGetVis(Entity<TrayScannerUserComponent> 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<TrayScannerComponent> scanner, ref ToggleTrayScannerEvent args)
{
if (args.Handled)
return;
// Toggle Logic
SetScannerEnabled(scanner, !scanner.Comp.Enabled, scanner);
args.Handled = true;
}
/// DeltaV additions end
}
[Serializable, NetSerializable]

View File

@ -0,0 +1,6 @@
using Content.Shared.Actions;
namespace Content.Shared._DV.Clothing.Events;
[ByRefEvent]
public sealed partial class ToggleTrayScannerEvent : InstantActionEvent { }

View File

@ -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

View File

@ -62,6 +62,7 @@
- PowerDrill
- WelderExperimental
- JawsOfLife
- TrayGoggles # DeltaV
#- Fulton # DeltaV - moved to MiningDeltaV
#- FultonBeacon # DeltaV - moved to MiningDeltaV

View File

@ -182,6 +182,7 @@
- PowerDrill
- JawsOfLife
- BorgModuleAdvancedTool
- TrayGoggles # DeltaV
#- Fulton # DeltaV - seperate tech Aerial Extraction
#- FultonBeacon # DeltaV - seperate tech Aerial Extraction

View File

@ -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

View File

@ -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

View File

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 384 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 267 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 440 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 327 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 294 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 331 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 305 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 330 B

View File

@ -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
}
]
}