diff --git a/Content.Shared/_DV/Whitelist/ElectronicsComponent.cs b/Content.Shared/_DV/Whitelist/ElectronicsComponent.cs new file mode 100644 index 0000000000..4f60e883f8 --- /dev/null +++ b/Content.Shared/_DV/Whitelist/ElectronicsComponent.cs @@ -0,0 +1,9 @@ +using Robust.Shared.GameStates; + +namespace Content.Shared._DV.Whitelist; + +/// +/// Marker component for any electronics whitelisting without having to copy paste infinite tags. +/// +[RegisterComponent, NetworkedComponent] +public sealed partial class ElectronicsComponent : Component; diff --git a/Resources/Prototypes/Entities/Objects/Devices/Electronics/base_electronics.yml b/Resources/Prototypes/Entities/Objects/Devices/Electronics/base_electronics.yml index 7848d987e5..40c74059d9 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/Electronics/base_electronics.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/Electronics/base_electronics.yml @@ -17,3 +17,4 @@ Glass: 200 chemicalComposition: Silicon: 20 + - type: Electronics # DeltaV diff --git a/Resources/Prototypes/Entities/Objects/Materials/Sheets/glass.yml b/Resources/Prototypes/Entities/Objects/Materials/Sheets/glass.yml index a2a8c4663a..b89623efba 100644 --- a/Resources/Prototypes/Entities/Objects/Materials/Sheets/glass.yml +++ b/Resources/Prototypes/Entities/Objects/Materials/Sheets/glass.yml @@ -15,6 +15,7 @@ - type: Tag tags: - Sheet + - BorgMaterial # DeltaV - type: Material - type: Damageable damageContainer: Inorganic diff --git a/Resources/Prototypes/Entities/Objects/Materials/Sheets/metal.yml b/Resources/Prototypes/Entities/Objects/Materials/Sheets/metal.yml index bc9202324d..c2d9301751 100644 --- a/Resources/Prototypes/Entities/Objects/Materials/Sheets/metal.yml +++ b/Resources/Prototypes/Entities/Objects/Materials/Sheets/metal.yml @@ -15,6 +15,7 @@ tags: - Sheet - Metal + - BorgMaterial # DeltaV - type: Damageable damageContainer: Inorganic damageModifierSet: Metallic diff --git a/Resources/Prototypes/Entities/Objects/Materials/Sheets/other.yml b/Resources/Prototypes/Entities/Objects/Materials/Sheets/other.yml index 7d7527e2a5..497818af2a 100644 --- a/Resources/Prototypes/Entities/Objects/Materials/Sheets/other.yml +++ b/Resources/Prototypes/Entities/Objects/Materials/Sheets/other.yml @@ -149,6 +149,7 @@ tags: - Plastic - Sheet + - BorgMaterial # DeltaV - type: Material - type: PhysicalComposition materialComposition: diff --git a/Resources/Prototypes/Entities/Objects/Materials/parts.yml b/Resources/Prototypes/Entities/Objects/Materials/parts.yml index 1106ce057c..e2d813d6a7 100644 --- a/Resources/Prototypes/Entities/Objects/Materials/parts.yml +++ b/Resources/Prototypes/Entities/Objects/Materials/parts.yml @@ -71,6 +71,10 @@ - type: GuideHelp guides: - ExpandingRepairingStation + - type: Tag # DeltaV + tags: + # no RodMetal 1 because ??? + - BorgMaterial - type: entity parent: PartRodMetal @@ -81,6 +85,7 @@ - type: Tag tags: - RodMetal1 + - BorgMaterial # DeltaV - type: Sprite state: rods - type: Stack @@ -95,6 +100,7 @@ - type: Tag tags: - RodMetal1 + - BorgMaterial # DeltaV - type: Sprite state: rods - type: Stack diff --git a/Resources/Prototypes/Entities/Objects/Specific/Robotics/borg_modules.yml b/Resources/Prototypes/Entities/Objects/Specific/Robotics/borg_modules.yml index 2066b0c5d9..b87502c433 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Robotics/borg_modules.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Robotics/borg_modules.yml @@ -122,6 +122,21 @@ - CableHVStackLingering10 - Wirecutter - trayScanner + # Begin DeltaV Additions - wires module can assemble electronics + - type: DroppableBorgModule + moduleId: Cables + items: + - id: APCElectronics + whitelist: + components: + - Electronics + - MachineBoard + - id: DoorElectronics + whitelist: + components: + - Electronics + - MachineBoard + # End DeltaV Additions - type: BorgModuleIcon icon: { sprite: Interface/Actions/actions_borg.rsi, state: wire-module } @@ -300,13 +315,36 @@ layers: - state: engineering - state: icon-construction - - type: ItemBorgModule - moduleId: Construction # Frontier + # Begin DeltaV Removals - replaced by hands + #- type: ItemBorgModule + # moduleId: Construction # Frontier + # items: + # - SheetSteelLingering0 + # - SheetGlassLingering0 + # - PartRodMetalLingering0 + # - FloorTileItemSteelLingering0 + # End DeltaV Removals + # Begin DeltaV Additions - wires module can assemble electronics + - type: DroppableBorgModule + moduleId: Construction items: - - SheetSteelLingering0 - - SheetGlassLingering0 - - PartRodMetalLingering0 - - FloorTileItemSteelLingering0 + - id: SheetSteel1 + whitelist: + tags: + - BorgMaterial + - id: SheetGlass1 + whitelist: + tags: + - BorgMaterial + - id: PartRodMetal1 + whitelist: + tags: + - BorgMaterial + - id: FloorTileItemSteel + whitelist: + components: + - FloorTile + # End DeltaV Additions - type: BorgModuleIcon icon: { sprite: Interface/Actions/actions_borg.rsi, state: construction-module } @@ -423,11 +461,34 @@ moduleId: Treatment # Frontier items: - HandheldHealthAnalyzerUnpowered - - Brutepack10Lingering - - Ointment10Lingering - - Gauze10Lingering - - Bloodpack10Lingering + # Begin DeltaV Removals - replaced by hands + #- Brutepack10Lingering + #- Ointment10Lingering + #- Gauze10Lingering + #- Bloodpack10Lingering + # End DeltaV Removals - Syringe + # Begin DeltaV Additions + - type: DroppableBorgModule + moduleId: Treatment + items: + - id: Brutepack + whitelist: + components: + - Healing # these include ANY healing item, including tourniquets and oilpacks/lv for ipcs + - id: Ointment + whitelist: + components: + - Healing + - id: Gauze + whitelist: + components: + - Healing + - id: Bloodpack + whitelist: + components: + - Healing + # End DeltaV Additions - type: BorgModuleIcon icon: { sprite: Interface/Actions/actions_borg.rsi, state: treatment-module } @@ -566,12 +627,37 @@ layers: - state: service - state: icon-musique - - type: ItemBorgModule + # Begin DeltaV Removals - replaced by hands + #- type: ItemBorgModule + # moduleId: Music # Frontier + # items: + # - SynthesizerInstrument + # - ElectricGuitarInstrument + # - SaxophoneInstrument + # End DeltaV Removals + # Begin DeltaV Additions + - type: DroppableBorgModule moduleId: Music # Frontier items: - - SynthesizerInstrument - - ElectricGuitarInstrument - - SaxophoneInstrument + - id: SynthesizerInstrument + whitelist: + requireAll: true # no picking up harpies or grand pianos + components: + - Instrument + - Item + - id: ElectricGuitarInstrument + whitelist: + requireAll: true + components: + - Instrument + - Item + - id: SaxophoneInstrument + whitelist: + requireAll: true + components: + - Instrument + - Item + # End DeltaV Additions - type: BorgModuleIcon icon: { sprite: Interface/Actions/actions_borg.rsi, state: musical-module } diff --git a/Resources/Prototypes/_DV/tags.yml b/Resources/Prototypes/_DV/tags.yml index e4478a1d81..28e4109b88 100644 --- a/Resources/Prototypes/_DV/tags.yml +++ b/Resources/Prototypes/_DV/tags.yml @@ -13,22 +13,7 @@ id: BorgSecurityArmour - type: Tag - id: BorgSecurityHead - -- type: Tag - id: BorgSecurityLArm - -- type: Tag - id: BorgSecurityLLeg - -- type: Tag - id: BorgSecurityRArm - -- type: Tag - id: BorgSecurityRLeg - -- type: Tag - id: BorgSecurityTorso + id: BorgMaterial # for materials that can be used in a borg construction module - type: Tag id: BulletBB