]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Basically every electronic device can now be used by the AI. (#31730)
authorScarKy0 <106310278+ScarKy0@users.noreply.github.com>
Thu, 5 Sep 2024 09:31:03 +0000 (11:31 +0200)
committerGitHub <noreply@github.com>
Thu, 5 Sep 2024 09:31:03 +0000 (11:31 +0200)
* Basically every electronic device can now be used by the AI.

* Removed stuff that didnt make sense

* oops

* Removed access from mailing and disposal units.

* Added AI wires to a couple machines.

* cool epic stuff

16 files changed:
Resources/Locale/en-US/wires/wire-names.ftl
Resources/Prototypes/Entities/Structures/Doors/Airlocks/highsec.yml
Resources/Prototypes/Entities/Structures/Doors/Firelocks/firelock.yml
Resources/Prototypes/Entities/Structures/Machines/Computers/arcades.yml
Resources/Prototypes/Entities/Structures/Machines/Computers/computers.yml
Resources/Prototypes/Entities/Structures/Machines/anomaly_equipment.yml
Resources/Prototypes/Entities/Structures/Machines/gravity_generator.yml
Resources/Prototypes/Entities/Structures/Machines/jukebox.yml
Resources/Prototypes/Entities/Structures/Machines/smartfridge.yml
Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml
Resources/Prototypes/Entities/Structures/Piping/Atmospherics/binary.yml
Resources/Prototypes/Entities/Structures/Piping/Atmospherics/portable.yml
Resources/Prototypes/Entities/Structures/Piping/Atmospherics/unary.yml
Resources/Prototypes/Entities/Structures/Shuttles/station_anchor.yml
Resources/Prototypes/Entities/Structures/Wallmounts/air_alarm.yml
Resources/Prototypes/Wires/layouts.yml

index a1ebec9e7d3642d3484eae45cf4b00850c79e961..1ac2ae89123f35667492fbfb784137bf5bce95c0 100644 (file)
@@ -39,6 +39,7 @@ wires-board-name-mech = Mech
 wires-board-name-fatextractor = FatExtractor
 wires-board-name-flatpacker = Flatpacker
 wires-board-name-spaceheater = Space Heater
+wires-board-name-jukebox = Jukebox
 
 # names that get displayed in the wire hacking hud & admin logs.
 
index 559dca704cdbbdb1c0f2bf4f3798a7c8c76f527d..e5470f27811b26aa82aa56c53543e76e3bb072a2 100644 (file)
@@ -6,6 +6,7 @@
   placement:
     mode: SnapgridCenter
   components:
+  - type: StationAiWhitelist
   - type: InteractionOutline
   - type: Sprite
     sprite: Structures/Doors/Airlocks/highsec/highsec.rsi
@@ -79,6 +80,8 @@
     alwaysRandomize: true
   - type: UserInterface
     interfaces:
+      enum.AiUi.Key:
+        type: StationAiBoundUserInterface
       enum.WiresUiKey.Key:
         type: WiresBoundUserInterface
   - type: Airtight
index 8a08100822486c2cb73a5cb506dc13c2929eabbf..bbff3cb43ec1b7d4c03083f42e15564469ca50d0 100644 (file)
   id: Firelock
   parent: BaseFirelock
   components:
+  - type: StationAiWhitelist
   - type: ContainerContainer
     containers:
       board: !type:Container
   parent: Firelock
   name: glass firelock
   components:
+    - type: StationAiWhitelist
     - type: Sprite
       sprite: Structures/Doors/Airlocks/Glass/firelock.rsi
     - type: Occluder
   parent: Firelock
   name: firelock
   components:
+    - type: StationAiWhitelist
     - type: Sprite
       sprite: Structures/Doors/edge_door_hazard.rsi
       snapCardinals: false
index 8b2cb5d5c7b95aa0ce692a0dd97c48070bd96243..ee330b1f790d6e20d9919b9a702081a076bce5b5 100644 (file)
   - type: ActivatableUI
     key: enum.SpaceVillainArcadeUiKey.Key
   - type: ActivatableUIRequiresPower
+  - type: StationAiWhitelist
   - type: UserInterface
     interfaces:
       enum.SpaceVillainArcadeUiKey.Key:
   - type: ActivatableUI
     key: enum.BlockGameUiKey.Key
   - type: ActivatableUIRequiresPower
+  - type: StationAiWhitelist
   - type: UserInterface
     interfaces:
       enum.BlockGameUiKey.Key:
index 742865049868677fd6b7b745b968bffccb9840e1..77f1dd170114a7aa343ac6f9e38175b6369524d2 100644 (file)
@@ -4,6 +4,7 @@
   name: atmospheric alerts computer
   description: Used to access the station's atmospheric automated alert system.
   components:
+  - type: StationAiWhitelist
   - type: Computer
     board: AlertsComputerCircuitboard
   - type: Sprite
   name: IFF computer
   description: Allows you to control the IFF characteristics of this vessel.
   components:
+  - type: StationAiWhitelist
   - type: IFFConsole
   - type: Sprite
     layers:
   name: power monitoring computer
   description: It monitors power levels across the station.
   components:
+  - type: StationAiWhitelist
   - type: Sprite
     layers:
     - map: ["computerLayerBody"]
   name: medical records computer
   description: This can be used to check medical records.
   components:
+  - type: StationAiWhitelist
   - type: Sprite
     layers:
     - map: ["computerLayerBody"]
   name: criminal records computer
   description: This can be used to check criminal records. Only security can modify them.
   components:
+  - type: StationAiWhitelist
   - type: CriminalRecordsConsole
   - type: UserInterface
     interfaces:
   name: station records computer
   description: This can be used to check station records.
   components:
+  - type: StationAiWhitelist
   - type: GeneralStationRecordConsole
   - type: UserInterface
     interfaces:
   name: crew monitoring console
   description: Used to monitor active health sensors built into most of the crew's uniforms.
   components:
+  - type: StationAiWhitelist
   - type: Sprite
     layers:
     - map: ["computerLayerBody"]
   name: R&D computer
   description: A computer used to interface with R&D tools.
   components:
+  - type: StationAiWhitelist
   - type: Sprite
     layers:
     - map: ["computerLayerBody"]
   name: analysis console
   description: A computer used to interface with the artifact analyzer.
   components:
+  - type: StationAiWhitelist
   - type: Sprite
     layers:
     - map: ["computerLayerBody"]
   name: ID card computer
   description: Terminal for programming Nanotrasen employee ID cards to access parts of the station.
   components:
+  - type: StationAiWhitelist
   - type: IdCardConsole
     privilegedIdSlot:
       name: id-card-console-privileged-id
   name: body scanner computer
   description: A body scanner.
   components:
+  - type: StationAiWhitelist
   - type: ApcPowerReceiver
     powerLoad: 500
   - type: Computer
   name: solar control computer
   description: A controller for solar panel arrays.
   components:
+  - type: StationAiWhitelist
   - type: Sprite
     layers:
     - map: ["computerLayerBody"]
   name: mass scanner computer
   description: A computer for detecting nearby bodies, displaying them by position and mass.
   components:
+  - type: StationAiWhitelist
   - type: Sprite
     layers:
     - map: ["computerLayerBody"]
   name: cargo shuttle computer
   description: Used to order the shuttle.
   components:
+  - type: StationAiWhitelist
   - type: Sprite
     layers:
     - map: ["computerLayerBody"]
   name: cargo request computer
   description: Used to order supplies and approve requests.
   components:
+  - type: StationAiWhitelist
   - type: Sprite
     layers:
     - map: ["computerLayerBody"]
   name: cargo bounty computer
   description: Used to manage currently active bounties.
   components:
+  - type: StationAiWhitelist
   - type: Sprite
     layers:
     - map: ["computerLayerBody"]
   name: cloning console computer
   description: The centerpiece of the cloning system, medicine's greatest accomplishment. It has lots of ports and wires.
   components:
+  - type: StationAiWhitelist
   - type: CloningConsole
   - type: DeviceList
   - type: DeviceNetwork
   name: salvage expeditions computer
   description: Used to accept salvage missions, if you're tough enough.
   components:
+    - type: StationAiWhitelist
     - type: Sprite
       layers:
         - map: ["computerLayerBody"]
   name: cargo sale computer
   description: Used to sell goods loaded onto cargo pallets.
   components:
+  - type: StationAiWhitelist
   - type: Sprite
     layers:
     - map: ["computerLayerBody"]
   name: news manager console
   description: Write your message to the world!
   components:
+  - type: StationAiWhitelist
   - type: Sprite
     layers:
     - map: ["computerLayerBody"]
   name: robotics control console
   description: Used to remotely monitor, disable and destroy the station's cyborgs.
   components:
+  - type: StationAiWhitelist
   - type: Sprite
     layers:
     - map: ["computerLayerBody"]
index 8686d88233a3c5e13fda72b1c541a85619c76eb9..4d4eff1f70294f8351424c534079a091a51392cf 100644 (file)
   placement:
     mode: AlignTileAny
   components:
+  - type: StationAiWhitelist
   - type: SpriteFade
   - type: Sprite
     sprite: Structures/Machines/Anomaly/anomaly_generator.rsi
     fuelCost: 10
     doAfterDelay: 5
   - type: WiresPanel
+  - type: Wires
+    boardName: wires-board-name-anomalygenerator
+    layoutId: AnomalyGenerator
   - type: Destructible
     thresholds:
     - trigger:
     interfaces:
         enum.AnomalyGeneratorUiKey.Key:
           type: AnomalyGeneratorBoundUserInterface
+        enum.WiresUiKey.Key:
+          type: WiresBoundUserInterface
   - type: Appearance
   - type: ActiveRadio
     channels:
index 2880f819a72adfc37a2ca64333f892541e909ea0..133562d2eb7a01c7a9d5036d79b38297327d9a7c 100644 (file)
@@ -6,6 +6,7 @@
   placement:
     mode: AlignTileAny
   components:
+  - type: StationAiWhitelist
   - type: AmbientSound
     enabled: false
     volume: -6
@@ -85,6 +86,7 @@
   name: mini gravity generator
   description: It's what keeps you to the floor, now in fun size.
   components:
+  - type: StationAiWhitelist
   - type: Sprite
     sprite: Structures/Machines/gravity_generator_mini.rsi
     snapCardinals: true
index 41c143f855d2b01793da6c404e84be38b2b0a306..8cf8b7bd7e36f774c9bd94e4b5e30c6866613f34 100644 (file)
@@ -4,6 +4,7 @@
   parent: [ BaseMachinePowered, ConstructibleMachine ]
   description: A machine capable of playing a wide variety of tunes. Enjoyment not guaranteed.
   components:
+  - type: StationAiWhitelist
   - type: Sprite
     sprite: Structures/Machines/jukebox.rsi
     layers:
     interfaces:
         enum.JukeboxUiKey.Key:
           type: JukeboxBoundUserInterface
+        enum.WiresUiKey.Key:
+          type: WiresBoundUserInterface
+  - type: WiresPanel
+  - type: Wires
+    boardName: wires-board-name-jukebox
+    layoutId: Jukebox
   - type: Damageable
     damageContainer: StructuralInorganic
     damageModifierSet: Metallic
index 2d391d8690017fe2e0e0e957e6b54af8cb07f79f..5a8eb69b41eb62f7bc76be410d41c7cde7fb7d19 100644 (file)
@@ -4,6 +4,7 @@
   name: SmartFridge
   description: A refrigerated storage unit for keeping items cold and fresh.
   components:
+  - type: StationAiWhitelist
   - type: Advertise
     pack: SmartFridgeAds
   - type: Speech
index 87a673609b28e543fc33cea80dd5702ddd757d0b..65f40ab3e49e925f02a9ee23555dd7dd03ac4e68 100644 (file)
@@ -5,6 +5,7 @@
   description: Just add capitalism!
   abstract: true
   components:
+  - type: StationAiWhitelist
   - type: AmbientOnPowered
   - type: AmbientSound
     volume: -9
index 4961f90be916bb5fc0425df890fbd98f1792e6ec..24a8cb58da0c0134a8f9fec2496fa28efa84b666 100644 (file)
   placement:
     mode: SnapgridCenter
   components:
+  - type: StationAiWhitelist
   - type: Sprite
     sprite: Structures/Piping/Atmospherics/pump.rsi
     layers:
index bd7e84f8208196832883469aaf81e76594ee4679..b932a636cd18abe682825aaf0d019c2a52b04015 100644 (file)
   description: A bluespace technology device that alters local temperature. Commonly referred to as a "Space Heater".
   suffix: Unanchored
   components:
+  - type: StationAiWhitelist
   - type: Transform
     anchored: false
   - type: Physics
index 63c7665978ba6e68ba17393881d917c66c545696..d0ec74dd40a234edffe9125508fa76d724162e95 100644 (file)
   placement:
     mode: SnapgridCenter
   components:
+    - type: StationAiWhitelist
     - type: Sprite
       granularLayersRendering: true
       layers:
   placement:
     mode: SnapgridCenter
   components:
+    - type: StationAiWhitelist
     - type: Sprite
       granularLayersRendering : true
       layers:
index e0fc2987b35d66f43cdd095252d58f0952e25f02..f2c8e21dfc483a7054d6d76e810863d819c04e84 100644 (file)
@@ -57,6 +57,7 @@
   placement:
     mode: AlignTileAny
   components:
+    - type: StationAiWhitelist
     - type: PowerCharge
       windowTitle: station-anchor-window-title
       idlePower: 50
index c65c39d11fb32308a1e18395a3a8fb9e784d6dc0..82959ebdd8fb976022806a95ff86631ae5e874ef 100644 (file)
@@ -7,6 +7,7 @@
     snap:
     - Wallmount
   components:
+  - type: StationAiWhitelist
   - type: WallMount
   - type: ApcPowerReceiver
   - type: Electrified
index ccab000cfa2b413a5aa9cea521c4e478eec3c6bc..70b11ca7edc640d9a0162370d201f5f418b432b1 100644 (file)
   - !type:DoorBoltLightWireAction
   - !type:DoorTimingWireAction
   - !type:DoorSafetyWireAction
-  dummyWires: 5
+  - !type:AiInteractWireAction
+  dummyWires: 4
 
 - type: wireLayout
   id: Vending
   wires:
+  - !type:AiInteractWireAction
   - !type:PowerWireAction
   - !type:AccessWireAction
   - !type:LogWireAction
@@ -67,6 +69,7 @@
 - type: wireLayout
   id: AirAlarm
   wires:
+  - !type:AiInteractWireAction
   - !type:PowerWireAction
   - !type:AccessWireAction
   - !type:LogWireAction
@@ -95,6 +98,7 @@
   - !type:ArcadeOverflowWireAction
   - !type:ArcadePlayerInvincibleWireAction
   - !type:ArcadeEnemyInvincibleWireAction
+  - !type:AiInteractWireAction
 
 - type: wireLayout
   id: SurveillanceCamera
     - !type:DelayWireAction
     - !type:ProceedWireAction
     - !type:BoomWireAction
+    
+- type: wireLayout
+  id: Jukebox
+  dummyWires: 2
+  wires:
+    - !type:PowerWireAction
+    - !type:AiInteractWireAction
+    
+- type: wireLayout
+  id: AnomalyGenerator
+  dummyWires: 2
+  wires:
+    - !type:PowerWireAction
+    - !type:AiInteractWireAction