From: ScarKy0 <106310278+ScarKy0@users.noreply.github.com> Date: Thu, 5 Sep 2024 09:31:03 +0000 (+0200) Subject: Basically every electronic device can now be used by the AI. (#31730) X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=83eac642c41869c7e1023e153e21dab13c325a9d;p=space-station-14.git Basically every electronic device can now be used by the AI. (#31730) * 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 --- diff --git a/Resources/Locale/en-US/wires/wire-names.ftl b/Resources/Locale/en-US/wires/wire-names.ftl index a1ebec9e7d..1ac2ae8912 100644 --- a/Resources/Locale/en-US/wires/wire-names.ftl +++ b/Resources/Locale/en-US/wires/wire-names.ftl @@ -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. diff --git a/Resources/Prototypes/Entities/Structures/Doors/Airlocks/highsec.yml b/Resources/Prototypes/Entities/Structures/Doors/Airlocks/highsec.yml index 559dca704c..e5470f2781 100644 --- a/Resources/Prototypes/Entities/Structures/Doors/Airlocks/highsec.yml +++ b/Resources/Prototypes/Entities/Structures/Doors/Airlocks/highsec.yml @@ -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 diff --git a/Resources/Prototypes/Entities/Structures/Doors/Firelocks/firelock.yml b/Resources/Prototypes/Entities/Structures/Doors/Firelocks/firelock.yml index 8a08100822..bbff3cb43e 100644 --- a/Resources/Prototypes/Entities/Structures/Doors/Firelocks/firelock.yml +++ b/Resources/Prototypes/Entities/Structures/Doors/Firelocks/firelock.yml @@ -120,6 +120,7 @@ id: Firelock parent: BaseFirelock components: + - type: StationAiWhitelist - type: ContainerContainer containers: board: !type:Container @@ -137,6 +138,7 @@ parent: Firelock name: glass firelock components: + - type: StationAiWhitelist - type: Sprite sprite: Structures/Doors/Airlocks/Glass/firelock.rsi - type: Occluder @@ -162,6 +164,7 @@ parent: Firelock name: firelock components: + - type: StationAiWhitelist - type: Sprite sprite: Structures/Doors/edge_door_hazard.rsi snapCardinals: false diff --git a/Resources/Prototypes/Entities/Structures/Machines/Computers/arcades.yml b/Resources/Prototypes/Entities/Structures/Machines/Computers/arcades.yml index 8b2cb5d5c7..ee330b1f79 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/Computers/arcades.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/Computers/arcades.yml @@ -137,6 +137,7 @@ - type: ActivatableUI key: enum.SpaceVillainArcadeUiKey.Key - type: ActivatableUIRequiresPower + - type: StationAiWhitelist - type: UserInterface interfaces: enum.SpaceVillainArcadeUiKey.Key: @@ -181,6 +182,7 @@ - type: ActivatableUI key: enum.BlockGameUiKey.Key - type: ActivatableUIRequiresPower + - type: StationAiWhitelist - type: UserInterface interfaces: enum.BlockGameUiKey.Key: diff --git a/Resources/Prototypes/Entities/Structures/Machines/Computers/computers.yml b/Resources/Prototypes/Entities/Structures/Machines/Computers/computers.yml index 7428650498..77f1dd1701 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/Computers/computers.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/Computers/computers.yml @@ -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 @@ -189,6 +190,7 @@ name: IFF computer description: Allows you to control the IFF characteristics of this vessel. components: + - type: StationAiWhitelist - type: IFFConsole - type: Sprite layers: @@ -236,6 +238,7 @@ name: power monitoring computer description: It monitors power levels across the station. components: + - type: StationAiWhitelist - type: Sprite layers: - map: ["computerLayerBody"] @@ -274,6 +277,7 @@ name: medical records computer description: This can be used to check medical records. components: + - type: StationAiWhitelist - type: Sprite layers: - map: ["computerLayerBody"] @@ -297,6 +301,7 @@ 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: @@ -332,6 +337,7 @@ name: station records computer description: This can be used to check station records. components: + - type: StationAiWhitelist - type: GeneralStationRecordConsole - type: UserInterface interfaces: @@ -355,6 +361,7 @@ 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"] @@ -390,6 +397,7 @@ name: R&D computer description: A computer used to interface with R&D tools. components: + - type: StationAiWhitelist - type: Sprite layers: - map: ["computerLayerBody"] @@ -434,6 +442,7 @@ name: analysis console description: A computer used to interface with the artifact analyzer. components: + - type: StationAiWhitelist - type: Sprite layers: - map: ["computerLayerBody"] @@ -480,6 +489,7 @@ 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 @@ -539,6 +549,7 @@ name: body scanner computer description: A body scanner. components: + - type: StationAiWhitelist - type: ApcPowerReceiver powerLoad: 500 - type: Computer @@ -624,6 +635,7 @@ name: solar control computer description: A controller for solar panel arrays. components: + - type: StationAiWhitelist - type: Sprite layers: - map: ["computerLayerBody"] @@ -654,6 +666,7 @@ 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"] @@ -684,6 +697,7 @@ name: cargo shuttle computer description: Used to order the shuttle. components: + - type: StationAiWhitelist - type: Sprite layers: - map: ["computerLayerBody"] @@ -719,6 +733,7 @@ name: cargo request computer description: Used to order supplies and approve requests. components: + - type: StationAiWhitelist - type: Sprite layers: - map: ["computerLayerBody"] @@ -767,6 +782,7 @@ name: cargo bounty computer description: Used to manage currently active bounties. components: + - type: StationAiWhitelist - type: Sprite layers: - map: ["computerLayerBody"] @@ -803,6 +819,7 @@ 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 @@ -852,6 +869,7 @@ name: salvage expeditions computer description: Used to accept salvage missions, if you're tough enough. components: + - type: StationAiWhitelist - type: Sprite layers: - map: ["computerLayerBody"] @@ -969,6 +987,7 @@ name: cargo sale computer description: Used to sell goods loaded onto cargo pallets. components: + - type: StationAiWhitelist - type: Sprite layers: - map: ["computerLayerBody"] @@ -1005,6 +1024,7 @@ name: news manager console description: Write your message to the world! components: + - type: StationAiWhitelist - type: Sprite layers: - map: ["computerLayerBody"] @@ -1080,6 +1100,7 @@ name: robotics control console description: Used to remotely monitor, disable and destroy the station's cyborgs. components: + - type: StationAiWhitelist - type: Sprite layers: - map: ["computerLayerBody"] diff --git a/Resources/Prototypes/Entities/Structures/Machines/anomaly_equipment.yml b/Resources/Prototypes/Entities/Structures/Machines/anomaly_equipment.yml index 8686d88233..4d4eff1f70 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/anomaly_equipment.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/anomaly_equipment.yml @@ -226,6 +226,7 @@ placement: mode: AlignTileAny components: + - type: StationAiWhitelist - type: SpriteFade - type: Sprite sprite: Structures/Machines/Anomaly/anomaly_generator.rsi @@ -284,6 +285,9 @@ fuelCost: 10 doAfterDelay: 5 - type: WiresPanel + - type: Wires + boardName: wires-board-name-anomalygenerator + layoutId: AnomalyGenerator - type: Destructible thresholds: - trigger: @@ -300,6 +304,8 @@ interfaces: enum.AnomalyGeneratorUiKey.Key: type: AnomalyGeneratorBoundUserInterface + enum.WiresUiKey.Key: + type: WiresBoundUserInterface - type: Appearance - type: ActiveRadio channels: diff --git a/Resources/Prototypes/Entities/Structures/Machines/gravity_generator.yml b/Resources/Prototypes/Entities/Structures/Machines/gravity_generator.yml index 2880f819a7..133562d2eb 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/gravity_generator.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/gravity_generator.yml @@ -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 diff --git a/Resources/Prototypes/Entities/Structures/Machines/jukebox.yml b/Resources/Prototypes/Entities/Structures/Machines/jukebox.yml index 41c143f855..8cf8b7bd7e 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/jukebox.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/jukebox.yml @@ -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: @@ -28,6 +29,12 @@ 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 diff --git a/Resources/Prototypes/Entities/Structures/Machines/smartfridge.yml b/Resources/Prototypes/Entities/Structures/Machines/smartfridge.yml index 2d391d8690..5a8eb69b41 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/smartfridge.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/smartfridge.yml @@ -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 diff --git a/Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml b/Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml index 87a673609b..65f40ab3e4 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml @@ -5,6 +5,7 @@ description: Just add capitalism! abstract: true components: + - type: StationAiWhitelist - type: AmbientOnPowered - type: AmbientSound volume: -9 diff --git a/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/binary.yml b/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/binary.yml index 4961f90be9..24a8cb58da 100644 --- a/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/binary.yml +++ b/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/binary.yml @@ -197,6 +197,7 @@ placement: mode: SnapgridCenter components: + - type: StationAiWhitelist - type: Sprite sprite: Structures/Piping/Atmospherics/pump.rsi layers: diff --git a/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/portable.yml b/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/portable.yml index bd7e84f820..b932a636cd 100644 --- a/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/portable.yml +++ b/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/portable.yml @@ -102,6 +102,7 @@ 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 diff --git a/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/unary.yml b/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/unary.yml index 63c7665978..d0ec74dd40 100644 --- a/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/unary.yml +++ b/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/unary.yml @@ -233,6 +233,7 @@ placement: mode: SnapgridCenter components: + - type: StationAiWhitelist - type: Sprite granularLayersRendering: true layers: @@ -277,6 +278,7 @@ placement: mode: SnapgridCenter components: + - type: StationAiWhitelist - type: Sprite granularLayersRendering : true layers: diff --git a/Resources/Prototypes/Entities/Structures/Shuttles/station_anchor.yml b/Resources/Prototypes/Entities/Structures/Shuttles/station_anchor.yml index e0fc2987b3..f2c8e21dfc 100644 --- a/Resources/Prototypes/Entities/Structures/Shuttles/station_anchor.yml +++ b/Resources/Prototypes/Entities/Structures/Shuttles/station_anchor.yml @@ -57,6 +57,7 @@ placement: mode: AlignTileAny components: + - type: StationAiWhitelist - type: PowerCharge windowTitle: station-anchor-window-title idlePower: 50 diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/air_alarm.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/air_alarm.yml index c65c39d11f..82959ebdd8 100644 --- a/Resources/Prototypes/Entities/Structures/Wallmounts/air_alarm.yml +++ b/Resources/Prototypes/Entities/Structures/Wallmounts/air_alarm.yml @@ -7,6 +7,7 @@ snap: - Wallmount components: + - type: StationAiWhitelist - type: WallMount - type: ApcPowerReceiver - type: Electrified diff --git a/Resources/Prototypes/Wires/layouts.yml b/Resources/Prototypes/Wires/layouts.yml index ccab000cfa..70b11ca7ed 100644 --- a/Resources/Prototypes/Wires/layouts.yml +++ b/Resources/Prototypes/Wires/layouts.yml @@ -52,11 +52,13 @@ - !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 @@ -153,3 +157,17 @@ - !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