From 9af1d69e3099775c9090a8a1af7a2b2c834d7895 Mon Sep 17 00:00:00 2001 From: Spangs04 <40036609+Spangs04@users.noreply.github.com> Date: Sat, 17 May 2025 20:10:56 -0600 Subject: [PATCH] Telecoms Resprite (#35811) * Medical and Science Servers Resprited medical and science servers * Delete server-off-Recovered.png * Telecoms and Camera Servers * Add Copyright * Fix Rsi * Minor Stripe Displacement Fix * Telecoms Sprites * Telecoms Display Update Partial Update of the Sprites, Copyright and some YML and JSON changes * Fix Linter and YML and Finalize * Remember Lost Router Child Fix Linter Again (hopefully) and add sprite to entertainment and wireless camera routers * Requested Review Changes and ect Changed how the servers dictate how to display whether they have no keys or if they have a mix of keys. * Re-Run Checks * Handful of requested changes * Fix? * Revert Last * old yeller * pushforpr * Remove Old Files * Fix Json * fix rsi for real...? * Fix Camera Servers Servers were still calling to telecoms instead of the server sprites * New Telecom Darken Attempt #1 * Slight stripe change * Random Whitespace fix * Fix2boogaloo --- Resources/Maps/plasma.yml | 20 --- .../Objects/Devices/encryption_keys.yml | 24 ++++ .../Machines/crew_monitor_server.yml | 25 +++- .../Entities/Structures/Machines/research.yml | 22 ++- .../Machines/surveillance_camera_routers.yml | 34 ++++- .../Structures/Machines/telecomms.yml | 125 +++++++++++++++++- Resources/Prototypes/tags.yml | 27 ++++ .../Machines/telecomms.rsi/icon.png | Bin 341 -> 0 bytes .../Machines/telecomms.rsi/meta.json | 93 ++++++++----- .../Machines/telecomms.rsi/panel.png | Bin 860 -> 0 bytes .../telecomms.rsi/telecom-nopower.png | Bin 0 -> 447 bytes .../Machines/telecomms.rsi/telecom-on.png | Bin 0 -> 423 bytes .../Machines/telecomms.rsi/telecom-open.png | Bin 0 -> 278 bytes .../Machines/telecomms.rsi/telecom-stripe.png | Bin 0 -> 211 bytes .../Machines/telecomms.rsi/unlit.png | Bin 1885 -> 0 bytes .../Machines/telecomms.rsi/variant-cargo.png | Bin 0 -> 271 bytes .../telecomms.rsi/variant-command.png | Bin 0 -> 253 bytes .../Machines/telecomms.rsi/variant-common.png | Bin 0 -> 456 bytes .../telecomms.rsi/variant-default.png | Bin 0 -> 295 bytes .../telecomms.rsi/variant-engineering.png | Bin 0 -> 278 bytes .../telecomms.rsi/variant-medical.png | Bin 0 -> 246 bytes .../telecomms.rsi/variant-multiple.png | Bin 0 -> 295 bytes .../Machines/telecomms.rsi/variant-nokey.png | Bin 0 -> 302 bytes .../telecomms.rsi/variant-science.png | Bin 0 -> 260 bytes .../Machines/telecomms.rsi/variant-sec.png | Bin 0 -> 269 bytes .../telecomms.rsi/variant-service.png | Bin 0 -> 261 bytes 26 files changed, 306 insertions(+), 64 deletions(-) delete mode 100644 Resources/Textures/Structures/Machines/telecomms.rsi/icon.png delete mode 100644 Resources/Textures/Structures/Machines/telecomms.rsi/panel.png create mode 100644 Resources/Textures/Structures/Machines/telecomms.rsi/telecom-nopower.png create mode 100644 Resources/Textures/Structures/Machines/telecomms.rsi/telecom-on.png create mode 100644 Resources/Textures/Structures/Machines/telecomms.rsi/telecom-open.png create mode 100644 Resources/Textures/Structures/Machines/telecomms.rsi/telecom-stripe.png delete mode 100644 Resources/Textures/Structures/Machines/telecomms.rsi/unlit.png create mode 100644 Resources/Textures/Structures/Machines/telecomms.rsi/variant-cargo.png create mode 100644 Resources/Textures/Structures/Machines/telecomms.rsi/variant-command.png create mode 100644 Resources/Textures/Structures/Machines/telecomms.rsi/variant-common.png create mode 100644 Resources/Textures/Structures/Machines/telecomms.rsi/variant-default.png create mode 100644 Resources/Textures/Structures/Machines/telecomms.rsi/variant-engineering.png create mode 100644 Resources/Textures/Structures/Machines/telecomms.rsi/variant-medical.png create mode 100644 Resources/Textures/Structures/Machines/telecomms.rsi/variant-multiple.png create mode 100644 Resources/Textures/Structures/Machines/telecomms.rsi/variant-nokey.png create mode 100644 Resources/Textures/Structures/Machines/telecomms.rsi/variant-science.png create mode 100644 Resources/Textures/Structures/Machines/telecomms.rsi/variant-sec.png create mode 100644 Resources/Textures/Structures/Machines/telecomms.rsi/variant-service.png diff --git a/Resources/Maps/plasma.yml b/Resources/Maps/plasma.yml index e1c2da78be..b16b2e5942 100644 --- a/Resources/Maps/plasma.yml +++ b/Resources/Maps/plasma.yml @@ -148880,26 +148880,6 @@ entities: parent: 2 - type: PointLight color: '#FF3300FF' -- proto: TelecomServer - entities: - - uid: 15019 - components: - - type: MetaData - desc: An old server, stuck compiling an unknown program... - name: Computron - - type: Transform - pos: -57.5,-78.5 - parent: 2 - - type: ApcPowerReceiver - powerLoad: 500 - missingComponents: - - Destructible - - Machine - - WiresPanel - - EncryptionKeyHolder - - TelecomServer - - ContainerContainer - - Construction - proto: TelecomServerCircuitboard entities: - uid: 4499 diff --git a/Resources/Prototypes/Entities/Objects/Devices/encryption_keys.yml b/Resources/Prototypes/Entities/Objects/Devices/encryption_keys.yml index 2d23885bca..1dd77a7a78 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/encryption_keys.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/encryption_keys.yml @@ -25,6 +25,9 @@ layers: - state: crypt_gray - state: common_label + - type: Tag + tags: + - EncryptionCommon - type: entity parent: [ EncryptionKey, BaseCargoContraband ] @@ -40,6 +43,9 @@ layers: - state: crypt_gray - state: cargo_label + - type: Tag + tags: + - EncryptionCargo - type: entity parent: [ EncryptionKey, BaseCentcommContraband ] @@ -92,6 +98,9 @@ layers: - state: crypt_silver - state: com_label + - type: Tag + tags: + - EncryptionCommand - type: entity parent: [ EncryptionKey, BaseEngineeringContraband ] @@ -107,6 +116,9 @@ layers: - state: crypt_gray - state: eng_label + - type: Tag + tags: + - EncryptionEngineering - type: entity parent: [ EncryptionKey, BaseMedicalContraband ] @@ -122,6 +134,9 @@ layers: - state: crypt_gray - state: med_label + - type: Tag + tags: + - EncryptionMedical - type: entity parent: [ EncryptionKey, BaseMedicalScienceContraband ] @@ -153,6 +168,9 @@ layers: - state: crypt_gray - state: sci_label + - type: Tag + tags: + - EncryptionScience - type: entity parent: [ EncryptionKey, BaseScienceContraband ] @@ -183,6 +201,9 @@ layers: - state: crypt_gray - state: sec_label + - type: Tag + tags: + - EncryptionSecurity - type: entity parent: [ EncryptionKey, BaseCivilianContraband ] @@ -198,6 +219,9 @@ layers: - state: crypt_gray - state: service_label + - type: Tag + tags: + - EncryptionService - type: entity parent: [ EncryptionKey, BaseSyndicateContraband ] diff --git a/Resources/Prototypes/Entities/Structures/Machines/crew_monitor_server.yml b/Resources/Prototypes/Entities/Structures/Machines/crew_monitor_server.yml index 64ad3a30da..369f068149 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/crew_monitor_server.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/crew_monitor_server.yml @@ -1,14 +1,20 @@ -- type: entity +- type: entity id: CrewMonitoringServer - parent: BaseMachinePowered + parent: [ BaseMachinePowered, ConstructibleMachine ] name: crew monitoring server description: Receives and relays the status of all active suit sensors on the station. components: - type: Sprite sprite: Structures/Machines/server.rsi + snapCardinals: true layers: - - state: server + - state: server-off + - state: server-on + visible: false + map: [ "enum.PowerDeviceVisualLayers.Powered" ] - state: variant-crew + - state: server_o + map: ["enum.WiresVisualLayers.MaintenancePanel"] - type: Construction graph: Machine node: machine @@ -34,6 +40,8 @@ - type: ApcPowerReceiver powerLoad: 200 - type: ExtensionCableReceiver + - type: WiresPanel + - type: WiresVisuals - type: Destructible thresholds: - trigger: @@ -56,9 +64,20 @@ SheetSteel1: min: 1 max: 2 + - type: Appearance + - type: GenericVisualizer + visuals: + enum.PowerDeviceVisuals.Powered: + enum.PowerDeviceVisualLayers.Powered: + True: {visible: true} + False: {visible: false} - type: AmbientOnPowered - type: AmbientSound volume: -9 range: 5 + enabled: false sound: path: /Audio/Ambience/Objects/server_fans.ogg + - type: GuideHelp + guides: + - Medical diff --git a/Resources/Prototypes/Entities/Structures/Machines/research.yml b/Resources/Prototypes/Entities/Structures/Machines/research.yml index 81a5988c2c..765249a933 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/research.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/research.yml @@ -1,4 +1,4 @@ -- type: entity +- type: entity id: ResearchAndDevelopmentServer parent: [ BaseMachinePowered, ConstructibleMachine ] name: R&D server @@ -6,11 +6,22 @@ components: - type: Sprite sprite: Structures/Machines/server.rsi + snapCardinals: true layers: - - state: server + - state: server-off + - state: server-on + visible: false + map: ["enum.PowerDeviceVisualLayers.Powered"] - state: variant-research - state: server_o map: ["enum.WiresVisualLayers.MaintenancePanel"] + - type: PointLight + enabled: false + castShadows: false + radius: 1.5 + energy: 1.6 + color: "#b211b2" + - type: LitOnPowered - type: ResearchServer - type: TechnologyDatabase supportedDisciplines: @@ -48,10 +59,17 @@ min: 1 max: 2 - type: Appearance + - type: GenericVisualizer + visuals: + enum.PowerDeviceVisuals.Powered: + enum.PowerDeviceVisualLayers.Powered: + True: {visible: true} + False: {visible: false} - type: AmbientOnPowered - type: AmbientSound volume: -9 range: 5 + enabled: false sound: path: /Audio/Ambience/Objects/server_fans.ogg - type: GuideHelp diff --git a/Resources/Prototypes/Entities/Structures/Machines/surveillance_camera_routers.yml b/Resources/Prototypes/Entities/Structures/Machines/surveillance_camera_routers.yml index 9ab7fd992e..977adfd79c 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/surveillance_camera_routers.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/surveillance_camera_routers.yml @@ -21,13 +21,28 @@ sprite: Structures/Machines/server.rsi snapCardinals: true layers: - - state: server + - state: server-off + - state: server-on + visible: false + map: ["enum.PowerDeviceVisualLayers.Powered"] + - state: server_o + map: ["enum.WiresVisualLayers.MaintenancePanel"] + - type: GenericVisualizer + visuals: + enum.PowerDeviceVisuals.Powered: + enum.PowerDeviceVisualLayers.Powered: + True: { visible: true } + False: { visible: false } + - type: Appearance - type: AmbientOnPowered - type: AmbientSound volume: -9 range: 5 + enabled: false sound: path: /Audio/Ambience/Objects/server_fans.ogg + - type: WiresVisuals + - type: WiresPanel - type: entity parent: SurveillanceCameraRouterBase @@ -140,13 +155,28 @@ - type: Sprite sprite: Structures/Machines/server.rsi layers: - - state: server + - state: server-off + - state: server-on + visible: false + map: ["enum.PowerDeviceVisualLayers.Powered"] + - state: server_o + map: ["enum.WiresVisualLayers.MaintenancePanel"] + - type: GenericVisualizer + visuals: + enum.PowerDeviceVisuals.Powered: + enum.PowerDeviceVisualLayers.Powered: + True: { visible: true } + False: { visible: false } + - type: Appearance - type: AmbientOnPowered - type: AmbientSound volume: -9 range: 5 + enabled: false sound: path: /Audio/Ambience/Objects/server_fans.ogg + - type: WiresVisuals + - type: WiresPanel - type: entity parent: SurveillanceCameraWirelessRouterBase diff --git a/Resources/Prototypes/Entities/Structures/Machines/telecomms.yml b/Resources/Prototypes/Entities/Structures/Machines/telecomms.yml index 4a1b5a3560..4cfcbcd462 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/telecomms.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/telecomms.yml @@ -8,23 +8,138 @@ sprite: Structures/Machines/telecomms.rsi snapCardinals: true layers: - - state: icon - - state: unlit + - state: telecom-nopower + - state: telecom-stripe + - state: telecom-on shader: unshaded - map: ["enum.PowerDeviceVisualLayers.Powered"] - - state: panel + visible: false + map: ["telecom-on"] + - state: variant-nokey + map: ["variant-nokey"] + - state: variant-default + map: ["variant-default"] + - state: variant-common + map: ["variant-common"] + - state: variant-cargo + map: ["variant-cargo"] + - state: variant-engineering + map: ["variant-engineering"] + - state: variant-medical + map: ["variant-medical"] + - state: variant-science + map: ["variant-science"] + - state: variant-sec + map: ["variant-sec"] + - state: variant-service + map: ["variant-service"] + - state: variant-command + map: ["variant-command"] + - state: variant-multiple + map: ["variant-multiple"] + - state: telecom-open map: ["enum.WiresVisualLayers.MaintenancePanel"] + - type: ItemMapper + sprite: Structures/Machines/telecomms.rsi + mapLayers: + variant-nokey: + whitelist: + components: + - EncryptionKey #Shown when no keys are present + minCount: 0 + variant-default: + whitelist: + components: + - EncryptionKey + minCount: 1 + variant-common: + whitelist: + tags: + - EncryptionCommon + variant-cargo: + whitelist: + tags: + - EncryptionCargo + variant-engineering: + whitelist: + tags: + - EncryptionEngineering + variant-medical: + whitelist: + tags: + - EncryptionMedical + variant-science: + whitelist: + tags: + - EncryptionScience + variant-sec: + whitelist: + tags: + - EncryptionSecurity + variant-service: + whitelist: + tags: + - EncryptionService + variant-command: + whitelist: + tags: + - EncryptionCommand + variant-multiple: + whitelist: + components: + - EncryptionKey #Shown when multiple keys are present + minCount: 2 + - type: PointLight + enabled: false + castShadows: false + radius: 1.5 + energy: 1.6 + color: "#39b8ee" + - type: LitOnPowered - type: GenericVisualizer visuals: enum.PowerDeviceVisuals.Powered: - enum.PowerDeviceVisualLayers.Powered: + telecom-on: True: { visible: true } False: { visible: false } + variant-common: + True: { shader: unshaded } + False: { shader: shaded } + variant-cargo: + True: { shader: unshaded } + False: { shader: shaded } + variant-engineering: + True: { shader: unshaded } + False: { shader: shaded } + variant-medical: + True: { shader: unshaded } + False: { shader: shaded } + variant-science: + True: { shader: unshaded } + False: { shader: shaded } + variant-sec: + True: { shader: unshaded } + False: { shader: shaded } + variant-service: + True: { shader: unshaded } + False: { shader: shaded } + variant-command: + True: { shader: unshaded } + False: { shader: shaded } + variant-default: + True: { shader: unshaded } + False: { shader: shaded } + variant-multiple: + True: { shader: unshaded } + False: { shader: shaded } + variant-nokey: + True: { shader: unshaded } + False: { shader: shaded } - type: Appearance - type: AmbientOnPowered - type: AmbientSound volume: -9 range: 5 + enabled: false sound: path: /Audio/Ambience/Objects/server_fans.ogg - type: WiresVisuals diff --git a/Resources/Prototypes/tags.yml b/Resources/Prototypes/tags.yml index 9f97fa8ed0..6da7b9ee13 100644 --- a/Resources/Prototypes/tags.yml +++ b/Resources/Prototypes/tags.yml @@ -512,6 +512,33 @@ - type: Tag id: EmitterBolt +- type: Tag + id: EncryptionCargo + +- type: Tag + id: EncryptionCommand + +- type: Tag + id: EncryptionCommon + +- type: Tag + id: EncryptionElse + +- type: Tag + id: EncryptionEngineering + +- type: Tag + id: EncryptionMedical + +- type: Tag + id: EncryptionScience + +- type: Tag + id: EncryptionSecurity + +- type: Tag + id: EncryptionService + - type: Tag id: Enzyme diff --git a/Resources/Textures/Structures/Machines/telecomms.rsi/icon.png b/Resources/Textures/Structures/Machines/telecomms.rsi/icon.png deleted file mode 100644 index 0f78e94bdd6a58509bd04791e8e0c466fa434d5d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 341 zcmV-b0jmCqP)eqkA3m}U2NOT^6rYSe7s&6ezpR_Q`%DxK#WCZ{eMUe{-9RNtv n_h)u;!1Hj(0PK*2NS}clIb?I@W|D@E00000NkvXXu0mjf7;%GS diff --git a/Resources/Textures/Structures/Machines/telecomms.rsi/meta.json b/Resources/Textures/Structures/Machines/telecomms.rsi/meta.json index d26455cea6..97c4a26cf1 100644 --- a/Resources/Textures/Structures/Machines/telecomms.rsi/meta.json +++ b/Resources/Textures/Structures/Machines/telecomms.rsi/meta.json @@ -1,34 +1,63 @@ { - "version": 1, - "license": "CC-BY-SA-3.0", - "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/blob/9c3494fd79e6bf8dc532300b9de4f688ff276ac9/icons/obj/machines/telecomms.dmi", - "size": { - "x": 32, - "y": 32 - }, - "states": [ - { - "name": "unlit", - "delays": [ - [ - 0.1, - 0.1, - 0.1, - 0.1, - 0.1, - 0.1, - 0.1, - 0.1, - 0.1, - 0.1 - ] - ] + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Sprites by Spangs04, based on servers taken from tgstation at commit https://github.com/tgstation/tgstation/blob/9c3494fd79e6bf8dc532300b9de4f688ff276ac9/icons/obj/machines/telecomms.dmi", + "size": { + "x": 32, + "y": 32 }, - { - "name": "icon" - }, - { - "name": "panel" - } - ] -} \ No newline at end of file + "states": [ + { + "name": "telecom-on", + "delays": [ + [ + 0.35, + 0.35, + 0.35 + ] + ] + }, + { + "name": "telecom-nopower" + }, + { + "name": "telecom-stripe" + }, + { + "name": "variant-cargo" + }, + { + "name": "variant-common" + }, + { + "name": "variant-engineering" + }, + { + "name": "variant-service" + }, + { + "name": "variant-medical" + }, + { + "name": "variant-science" + }, + { + "name": "variant-sec" + }, + { + "name": "variant-command" + }, + { + "name": "variant-default" + }, + { + "name": "variant-multiple" + }, + { + "name": "variant-nokey" + }, + { + "name": "telecom-open" + } + ] +} diff --git a/Resources/Textures/Structures/Machines/telecomms.rsi/panel.png b/Resources/Textures/Structures/Machines/telecomms.rsi/panel.png deleted file mode 100644 index 1ab3cfb29ca1384da618a4e162889cf88380ceaa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 860 zcmV-i1Ec(jP)xukZV{egQD5XdpT{ zcmn_c010qNS#tmY4#WTe4#WYKD-Ig~00ERqL_t(o31eUw1tUEK7?A@&LP7$WOEdP1 z7cbyu!yN#!+{ed<;oZA;a7kJ)goK0`wrttL0CNNrEi56$%uxr7hQMeDu%KrdP(Gz6 zfIHyp*WV2H?%kt{-5|SQV8GJ=JOp4adh_NDjER>P5fK5)-@0`RuR3H&H8nM4E|`ts z0FWqiF7tn|?6fQ}1tadI2+SccHKfwmqX1+v2xm=W09o3~x*LpDR5}<| zYC2=sAugp279&JsXaoviguts;uYk4UNr>8$#tg>c#tiGAI*l1l0@-{FueQ8mK=%2E z4euP$&!sfMh|r;n}liC<8F|axSByVG5gQN_> zM9-=wCMF0;0xWdBAmun6fK4$r^NCf5O)p3co|<`ig~4jLxmj_kMG;3XOi(0<Px$c}YY;R9J=Gm)~lGFcii=$DoG}Z@P<>EpM<_=_3rr-qGjr!XB9eD?)3?Cak*< zOI!0tZERs5NKB$RKjW7}65vS7<#LZJDa*0|0PfE_R;v|?qL?i3VzEFJMTh#`WRZI6 z<^Y{v05sEd6M(9!5y$c5L943P100Jv^&VJ=mrk1&fH{Sf6_irWL5b*aZ+o7Iz?^m< zj5DB=f)K(9z|0^bD5W5!9e6%}=(IUk!PE1rwY*eLfU+#D<>Ub0GPRbM%IJZ{H0&JU z*o0mIhMKTZFc`qA3HSS7<7JX@23qwsq3c(e`keqnOgP35UQKB7&8bg%0*o=C5CU)S zAIS3!KC>?XK$5Hh0C}Ek-}jyg+u%vEJ_NVPdnRmy_tpQ)ghRgG3ZNT&3RwYME5WwB zya2QieZ|a>Qg+&lq8OJ6i3q#h&f0%o*8$jONee(ULtX#a*hYzH)(-#x!Z7p>pwrDy pMkhOnFnqk)>3F-{4Bx#>p+C$4<};Bq=a&Eg002ovPDHLkV1l{=$HV{t literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Machines/telecomms.rsi/telecom-on.png b/Resources/Textures/Structures/Machines/telecomms.rsi/telecom-on.png new file mode 100644 index 0000000000000000000000000000000000000000..c5d763a4beee7b8f1718b62d743f2b19b386b8ef GIT binary patch literal 423 zcmV;Y0a*TtP)Px$VM#gV0X^RH`5w?lYyTe@vqQ8!J~rS$WztMjj{tvi5-Hd@<5$h2Ry2yorEwFodC!nz?O z137=?pPSh9MSw95V_GS~_5tO~kph5@@BjdbnjkuTwcc5mzIFzf459q-GaAGQ`ys-9 z_~ZLJ>MQ~l`%TnY1eo-Sgc8_c1!cL!uJxAF0~cEdu`PH(|O6Fzs8t zHDw^-e;lgkyC-ye2LOQXzK7&95z$#>Ggav7;rds9crtYM2r}(!A3>&OJ5vDJ)fao& zGti|~>s!A7-;D-wn}=VEzIFzf8oy2Ew;uqgDIj)jSIqh@ExS)dL_|bX!55uUJ*$vL RUDp5r002ovPDHLkV1fy(#UTIy literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Machines/telecomms.rsi/telecom-open.png b/Resources/Textures/Structures/Machines/telecomms.rsi/telecom-open.png new file mode 100644 index 0000000000000000000000000000000000000000..15d2ecd42f599ec1e8d082bd44c649c2460b0c16 GIT binary patch literal 278 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}7d%}YLn2z= zPT9?M$U(q$eZP~(R)s8`R+FeBdSCx-y?ael=h70+8=h~}d|9|JI+=9#b3Sqld~R~M zsC;^~44VMU!~2FF657?`FX zg-?Wih72fttMo*T-xOzR{H554M&`k;dU`TVoM>V#YvhH;guVG(NvqGJzQmO(EG6((77Cj|TjxCk@ z|2)m~)MTx@D*(<{%laIFu6?MKE$jExvMOibc!BFe!@nUp&3ubqZfM?PaPPq7O+!l@ zz|}4cKI?HKUX>iO?dddpTtHt8`tPA*>U6Z zdsgn7<^215_xbvKw)0-16h0sT0w4eau@bnGZTQN{N_Muf>64Qa@3CXlHwNg&@9gZT z^Ye2roKOoF7Z=t3{=TwJh*ke?D6lxrYy@DyY}|tF1p|Viob5m`U^Z^S_JRSyP|kKB z7%&^RV0*!UU?^uh&^>!MeV;D*iA~=aaC!Mh_4|Dm_FBvS#Hx==kbNdF&zl}Vx~He7 zG+A0MEiI+%kB^T_x67_vTU*P{dZ%O4cMQ-}wzjssaA@J-;UP_`#E5IvO~#FJ@(zhg zv(}j~@1C4BnFTTFdkxTI!C)}RAel_|dcDbvo=Tv1UVTwl?_Q|R%Ma@6^;326A70&t*c*yAL`=SUOJ!Ov3Rbo{&IIU)s@n}P5ZqDXf)f~+g?J>K%JcV-#&g;>%;y{ znauw@I#7?2y+@-_dJLNP9H5#)eS2?K<{lPnA%5<(>m5CTuKFn~x1l`udEJjucUA|X^d zUrELmpKo*LZoe@g*7$rfK&t(?1d#(mrRf2rUo|X{BG`~0P%l5iF+dv;Q+z(1c-b;| z`zLu5=G`0Vc?}31pWk_NpsscwljhX2uKsP}^L>@6tDnnH7!PmqCz8Ag-^Xi!-Y{f* z{@3?=X}*B30!7Q}=-(zjzX|Ibjx5ERu!V;-XZP7Od=!(S{pHGHJwI5HySqB8B zoiQM`_0YpNmgaJa}NfrhW384}O2!SVA7(gV1 zO6My{?)Z4S-LdH#1Ek{P$$(h(aS5U`K&Ui5fb^?|B~k<(@&k|`(Ek4~;LZ=QHiCyL0DI}>OicwMScMC1N3_c~VRS#GG=Fs(qX6+UPUlKE|Y)(Wpo(U!2kxxWfCx;j1I#(7{CCz zOaca!(P3Bz0~jEeNjP6gO2_AyRdycN83Ux_^XCz6l{VoLRE1K5+n63e8dbv*DS|9? zegM@YmeMgmH=OhL^J4*B)K0GfLF4nM#K#v^ESBY719anq#ph3nkB_dHaZAq`1Ek~gt@_RVEP8;j#m*SOQ6CJz9F(B}0w4eaQwjV7 Xw8emBZZj!{00000NkvXXu0mjfK@x89 diff --git a/Resources/Textures/Structures/Machines/telecomms.rsi/variant-cargo.png b/Resources/Textures/Structures/Machines/telecomms.rsi/variant-cargo.png new file mode 100644 index 0000000000000000000000000000000000000000..ff622821334a9a6a865081874581b68f1129baa9 GIT binary patch literal 271 zcmV+q0r38bP)Px#$w@>(R9J=WmAw(dFbsuXI41G{RM3)n@BlCmX-SmsNC@hPzPST(HTn{YD1ZIZ=R*@m-5HPeg@0xZQ3Y?4|h($70Vl<7n&^U?+l z_66b=S6D>c88$OSM^DScy-=XExrroR%>1hgdFl1n8*=jtMwMP0k&Px$f=NU{R9J=WmcdHHKoCG*tk_ym6#E1IL5UZ8Xiq)#7X;7ZsR1u~^baKYhKgTM ztsn>$i#?c@Lh&wGPu5G(7AtztjqNtsCQy+9`Ejn?cK1jzdEtT zG|dT_VHln^W>gM*2g5Lwh6N!b&>;o%`+d)~ZjlJ=z)NWxwsdC{+?EeW?dsHPWzV&K zz8ygp%ZiG{fjjK5}y~qkRd&K*xBpw4#=G_46?HVUqvVze=ThQ z@Ni{f=WOQ=L!eG549nUx}fm<;KA)(Dv%U-(b0v|@B yx%Qj;=YjW`;j0g*jQEL&HmCYch=_>zW8MK|`jqCrI;q3}0000qFK)80mL1RVv0*5-^~qIV;o9XPr}uPr1xu}bKf8n4 z6y5I#Qh1|NM24j!(_LduMm7_CFWXnr$>~-~0WOwoP@3_Iz*7?!~Cs z5}ahtXuVJ@Q@e9r*?M)`CW%Sk7#dvXgg8v!FR5>-S#+=Mwdbxl`>Bh8o@MZK^>bP0l+XkKTS#%b literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Machines/telecomms.rsi/variant-engineering.png b/Resources/Textures/Structures/Machines/telecomms.rsi/variant-engineering.png new file mode 100644 index 0000000000000000000000000000000000000000..90bb1e5c19440afa12e433fa012c04d7a63b6cda GIT binary patch literal 278 zcmV+x0qOpUP)Px#&`Cr=R9J=Wl)(`KAq+)7jz_FR&lEr{See$c1>}r%=v`0Fz>WzCi(cg2*jf0W zp9EksnfyCW^HW$twWdf2O8`ZxzTYp$XSwz%<8eI!01oHdN3ESzTuUh~(KIjupK_mp z_wCnFYXyDE%_R1%!+OO5j46So2dv^M13hTP0YwQcIOkMjU7|{$cN8^k8WawI?;c_Nx zQE`sF_3iU~#m8#0x$=T!ZlBWCdL^1>8t!zzqmZ%2vWWAcOcT=)-8K*2g3LBn28LtX zb{(zxQ^)ElJ7brXwc9VLKz5D2&OQz=b|yuHJ6H;)^0hr-D8KxKNySs^L1%CdV|uyI rRn^6=9m1Yhm`*q9|6_9vv`c4?ObmCv+3vIs=ynEAS3j3^P6qFK)80mL1RVv0*5-^~qIV;o9XPr}uPr1xu}bKf8n4 z6y5I#Qh1|NM24j!(_LduMm7_CFWXnr$>~-~0WOwoP@3_Iz*7?!~Cs z5}ahtXuVJ@Q@e9r*?M)`CW%Sk7#dvXgg8v!FR5>-S#+=Mwdbxl`>Bh8o@MZK^>bP0l+XkKTS#%b literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Machines/telecomms.rsi/variant-nokey.png b/Resources/Textures/Structures/Machines/telecomms.rsi/variant-nokey.png new file mode 100644 index 0000000000000000000000000000000000000000..e608ac47ad97a609a7390f4faaf0017502352dee GIT binary patch literal 302 zcmV+}0nz@6P)Px#=t)FDR9J=Wl}!qRFc3y3(i7zXLa=w}qVBq=M^dOeh2{>GfCtEpsxC@Gj6X?a zz(w;Q5MyK>Uq%IpL?ZtV@!d#!s^>D5Kzj-@m9stH*LzGJH+|jZg`QvAYPFVAz$|QI z3w-X+5da`-%Gr9C7n=f!OJJ?g7K|}nPz@Je0wF?KQ|e)^p$cGvDjt2ui^BZ3rPqVDFo7bT8@=*oD=6FS$ca7?Okw zF9FPghXeqYF=92O_utT$wY1QC0F%=NB9X}HOwja5Gyd_r6#xJL07*qoM6N<$f@%PH AAOHXW literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Machines/telecomms.rsi/variant-science.png b/Resources/Textures/Structures/Machines/telecomms.rsi/variant-science.png new file mode 100644 index 0000000000000000000000000000000000000000..c08a646f8f02025f5f0583fdf4baddb047f224cd GIT binary patch literal 260 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}`#fD7Ln2z= zPIcsJHV|+H`w{qE=%UvBEzqiz_Ul9EH{VWAb*&loET{xe-q_~6GPx#$4Nv%R9J=Wlrav&APhyntDXoYD~Hco#Fgj-p((a8NtK~Ii2;P**~S2q$>iT5 zZG+n!qK|N!`&f@Ye(ik$X-Nrz_G9yWW$t>Il`AohC8aVnh6GyC=Zh`t0Pq|U&^VSr z;wJ(z|J5GT$7kgCb#kiTI*Eo Te9l-D00000NkvXXu0mjfCNFLo literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Machines/telecomms.rsi/variant-service.png b/Resources/Textures/Structures/Machines/telecomms.rsi/variant-service.png new file mode 100644 index 0000000000000000000000000000000000000000..517b68c91b3d78771b8e824ada0ddb5252c74159 GIT binary patch literal 261 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}`#oJ8Ln2z= zPCY2tqQK*NxKA`gT`WPi>hh_w{HS);3!U2*sLOUN;%qv%rc%7|q)Pn>ekP8l4`o*( z9qv897AIb18-I=a{=zvim9y5|Ui($CV+&WJqgv@Lr@7mvOtE1!^h{DS&tKe_Xa4M? zG>6^;^RU@lE87&eJ~&Y!k#lJAqZG!FDM8DVdw<&V7jWKU>I(nxTGEB#_!5b4`wz7I za(NuFjUhJU_35LbG6z1(7N~v^JU%a4e4p-)T%Pq3p#m){&d6*qyD+ajem~GF44$rj JF6*2UngGT@X{7)F literal 0 HcmV?d00001 -- 2.51.2