From ecc38ad782d3b8661e9e76a48ae6ee6b7ec6aa08 Mon Sep 17 00:00:00 2001 From: ScarKy0 <106310278+ScarKy0@users.noreply.github.com> Date: Thu, 5 Sep 2024 14:49:20 +0200 Subject: [PATCH] Fixed AI Actions (#31823) * Updated sprites for AI HUD * Epic test fail * Merged AGhost actions and AI actions together again. * Seperate comms and bugfix. Fixed broadcast. --- Resources/Maps/Shuttles/emergency.yml | 1 + Resources/Maps/Shuttles/emergency_box.yml | 1 + Resources/Maps/Shuttles/emergency_cluster.yml | 1 + Resources/Maps/Shuttles/emergency_courser.yml | 1 + Resources/Maps/Shuttles/emergency_delta.yml | 1 + Resources/Maps/Shuttles/emergency_lox.yml | 1 + Resources/Maps/Shuttles/emergency_meta.yml | 1 + Resources/Maps/Shuttles/emergency_omega.yml | 1 + Resources/Maps/Shuttles/emergency_raven.yml | 1 + Resources/Maps/Shuttles/emergency_rod.yml | 1 + Resources/Maps/Shuttles/emergency_wode.yml | 1 + Resources/Prototypes/Actions/station_ai.yml | 64 ++++++++++++++++++ .../Entities/Mobs/Player/admin_ghost.yml | 13 ++-- .../Entities/Mobs/Player/silicon.yml | 59 +++------------- .../Entities/Structures/Wallmounts/screen.yml | 1 + .../Actions/actions_ai.rsi/ai_core.png | Bin 269 -> 524 bytes .../Actions/actions_ai.rsi/camera_light.png | Bin 309 -> 572 bytes .../Actions/actions_ai.rsi/comms_console.png | Bin 0 -> 419 bytes .../Actions/actions_ai.rsi/crew_monitor.png | Bin 295 -> 575 bytes .../Actions/actions_ai.rsi/job_view.png | Bin 0 -> 508 bytes .../Actions/actions_ai.rsi/mass_scanner.png | Bin 0 -> 909 bytes .../Actions/actions_ai.rsi/meta.json | 14 +++- .../Actions/actions_ai.rsi/state_laws.png | Bin 241 -> 315 bytes .../actions_ai.rsi/station_records.png | Bin 0 -> 465 bytes 24 files changed, 104 insertions(+), 58 deletions(-) create mode 100644 Resources/Prototypes/Actions/station_ai.yml create mode 100644 Resources/Textures/Interface/Actions/actions_ai.rsi/comms_console.png create mode 100644 Resources/Textures/Interface/Actions/actions_ai.rsi/job_view.png create mode 100644 Resources/Textures/Interface/Actions/actions_ai.rsi/mass_scanner.png create mode 100644 Resources/Textures/Interface/Actions/actions_ai.rsi/station_records.png diff --git a/Resources/Maps/Shuttles/emergency.yml b/Resources/Maps/Shuttles/emergency.yml index e285d4a5ae..49ad5a8a81 100644 --- a/Resources/Maps/Shuttles/emergency.yml +++ b/Resources/Maps/Shuttles/emergency.yml @@ -51,6 +51,7 @@ entities: configurators: [] deviceLists: [] transmitFrequencyId: ShuttleTimer + deviceNetId: Wireless - type: Gravity gravityShakeSound: !type:SoundPathSpecifier path: /Audio/Effects/alert.ogg diff --git a/Resources/Maps/Shuttles/emergency_box.yml b/Resources/Maps/Shuttles/emergency_box.yml index 49d082c995..59eb93dc69 100644 --- a/Resources/Maps/Shuttles/emergency_box.yml +++ b/Resources/Maps/Shuttles/emergency_box.yml @@ -65,6 +65,7 @@ entities: configurators: [] deviceLists: [] transmitFrequencyId: ShuttleTimer + deviceNetId: Wireless - type: DecalGrid chunkCollection: version: 2 diff --git a/Resources/Maps/Shuttles/emergency_cluster.yml b/Resources/Maps/Shuttles/emergency_cluster.yml index 82f178aaca..66dec4088a 100644 --- a/Resources/Maps/Shuttles/emergency_cluster.yml +++ b/Resources/Maps/Shuttles/emergency_cluster.yml @@ -67,6 +67,7 @@ entities: configurators: [] deviceLists: [] transmitFrequencyId: ShuttleTimer + deviceNetId: Wireless - type: DecalGrid chunkCollection: version: 2 diff --git a/Resources/Maps/Shuttles/emergency_courser.yml b/Resources/Maps/Shuttles/emergency_courser.yml index 426fe055b4..738ef3307b 100644 --- a/Resources/Maps/Shuttles/emergency_courser.yml +++ b/Resources/Maps/Shuttles/emergency_courser.yml @@ -64,6 +64,7 @@ entities: configurators: [] deviceLists: [] transmitFrequencyId: ShuttleTimer + deviceNetId: Wireless - type: DecalGrid chunkCollection: version: 2 diff --git a/Resources/Maps/Shuttles/emergency_delta.yml b/Resources/Maps/Shuttles/emergency_delta.yml index 0c092e2363..c9d41ac74e 100644 --- a/Resources/Maps/Shuttles/emergency_delta.yml +++ b/Resources/Maps/Shuttles/emergency_delta.yml @@ -71,6 +71,7 @@ entities: configurators: [] deviceLists: [] transmitFrequencyId: ShuttleTimer + deviceNetId: Wireless - type: DecalGrid chunkCollection: version: 2 diff --git a/Resources/Maps/Shuttles/emergency_lox.yml b/Resources/Maps/Shuttles/emergency_lox.yml index 53f6c01a41..9320d26a62 100644 --- a/Resources/Maps/Shuttles/emergency_lox.yml +++ b/Resources/Maps/Shuttles/emergency_lox.yml @@ -70,6 +70,7 @@ entities: configurators: [] deviceLists: [] transmitFrequencyId: ShuttleTimer + deviceNetId: Wireless - type: DecalGrid chunkCollection: version: 2 diff --git a/Resources/Maps/Shuttles/emergency_meta.yml b/Resources/Maps/Shuttles/emergency_meta.yml index ba75195df9..4d8a9b1f6b 100644 --- a/Resources/Maps/Shuttles/emergency_meta.yml +++ b/Resources/Maps/Shuttles/emergency_meta.yml @@ -72,6 +72,7 @@ entities: configurators: [] deviceLists: [] transmitFrequencyId: ShuttleTimer + deviceNetId: Wireless - type: DecalGrid chunkCollection: version: 2 diff --git a/Resources/Maps/Shuttles/emergency_omega.yml b/Resources/Maps/Shuttles/emergency_omega.yml index f22e61ce16..7b038effac 100644 --- a/Resources/Maps/Shuttles/emergency_omega.yml +++ b/Resources/Maps/Shuttles/emergency_omega.yml @@ -55,6 +55,7 @@ entities: configurators: [] deviceLists: [] transmitFrequencyId: ShuttleTimer + deviceNetId: Wireless - type: DecalGrid chunkCollection: version: 2 diff --git a/Resources/Maps/Shuttles/emergency_raven.yml b/Resources/Maps/Shuttles/emergency_raven.yml index 0d7948c234..19fab35dc5 100644 --- a/Resources/Maps/Shuttles/emergency_raven.yml +++ b/Resources/Maps/Shuttles/emergency_raven.yml @@ -74,6 +74,7 @@ entities: configurators: [] deviceLists: [] transmitFrequencyId: ShuttleTimer + deviceNetId: Wireless - type: DecalGrid chunkCollection: version: 2 diff --git a/Resources/Maps/Shuttles/emergency_rod.yml b/Resources/Maps/Shuttles/emergency_rod.yml index cc9623712d..dcdd9c3045 100644 --- a/Resources/Maps/Shuttles/emergency_rod.yml +++ b/Resources/Maps/Shuttles/emergency_rod.yml @@ -70,6 +70,7 @@ entities: configurators: [] deviceLists: [] transmitFrequencyId: ShuttleTimer + deviceNetId: Wireless - type: DecalGrid chunkCollection: version: 2 diff --git a/Resources/Maps/Shuttles/emergency_wode.yml b/Resources/Maps/Shuttles/emergency_wode.yml index 96c75d012a..5d75f7fc4a 100644 --- a/Resources/Maps/Shuttles/emergency_wode.yml +++ b/Resources/Maps/Shuttles/emergency_wode.yml @@ -71,6 +71,7 @@ entities: configurators: [] deviceLists: [] transmitFrequencyId: ShuttleTimer + deviceNetId: Wireless - type: DecalGrid chunkCollection: version: 2 diff --git a/Resources/Prototypes/Actions/station_ai.yml b/Resources/Prototypes/Actions/station_ai.yml new file mode 100644 index 0000000000..e2ce25de9d --- /dev/null +++ b/Resources/Prototypes/Actions/station_ai.yml @@ -0,0 +1,64 @@ +# Actions +- type: entity + id: ActionJumpToCore + name: Jump to core + description: Sends your eye back to the core. + components: + - type: InstantAction + itemIconStyle: BigAction + icon: + sprite: Interface/Actions/actions_ai.rsi + state: ai_core + event: !type:JumpToCoreEvent + +- type: entity + id: ActionShowJobIcons + name: Show job icons + description: Shows job icons for crew members. + components: + - type: InstantAction + itemIconStyle: BigAction + icon: + sprite: Interface/Actions/actions_ai.rsi + state: job_view + event: !type:ActionComponentChangeEvent + components: + - type: ShowJobIcons + +- type: entity + id: ActionSurvCameraLights + name: Toggle camera lights + description: Enable surveillance camera lights near wherever you're viewing. + components: + - type: InstantAction + itemIconStyle: BigAction + icon: + sprite: Interface/Actions/actions_ai.rsi + state: camera_light + event: !type:RelayedActionComponentChangeEvent + components: + - type: LightOnCollideCollider + - type: FixturesChange + fixtures: + lightTrigger: + shape: + !type:PhysShapeCircle + radius: 0.35 + density: 80 + hard: false + layer: + - GhostImpassable + + +- type: entity + id: ActionAIViewLaws + name: View Laws + description: View the laws that you must follow. + components: + - type: InstantAction + itemIconStyle: NoItem + icon: + sprite: Interface/Actions/actions_ai.rsi + state: state_laws + event: !type:ToggleLawsScreenEvent + useDelay: 0.5 diff --git a/Resources/Prototypes/Entities/Mobs/Player/admin_ghost.yml b/Resources/Prototypes/Entities/Mobs/Player/admin_ghost.yml index 0b60ed447f..29495a977e 100644 --- a/Resources/Prototypes/Entities/Mobs/Player/admin_ghost.yml +++ b/Resources/Prototypes/Entities/Mobs/Player/admin_ghost.yml @@ -76,6 +76,7 @@ - type: DeviceNetwork deviceNetId: Wireless receiveFrequencyId: CrewMonitor + transmitFrequencyId: ShuttleTimer - type: WirelessNetworkConnection range: 500 - type: StationLimitedNetwork @@ -122,8 +123,8 @@ description: View a mass scanner interface. components: - type: InstantAction - icon: { sprite: Structures/Machines/parts.rsi, state: box_0 } - iconOn: Structures/Machines/parts.rsi/box_2.png + icon: { sprite: Interface/Actions/actions_ai.rsi, state: mass_scanner } + iconOn: Interface/Actions/actions_ai.rsi/mass_scanner.png keywords: [ "AI", "console", "interface" ] priority: -10 event: !type:ToggleIntrinsicUIEvent { key: enum.RadarConsoleUiKey.Key } @@ -146,8 +147,8 @@ description: View a crew monitoring interface. components: - type: InstantAction - icon: { sprite: Structures/Machines/parts.rsi, state: box_0 } - iconOn: Structures/Machines/parts.rsi/box_2.png + icon: { sprite: Interface/Actions/actions_ai.rsi, state: crew_monitor } + iconOn: Interface/Actions/actions_ai.rsi/crew_monitor.png keywords: [ "AI", "console", "interface" ] priority: -10 event: !type:ToggleIntrinsicUIEvent { key: enum.CrewMonitoringUIKey.Key } @@ -158,8 +159,8 @@ description: View a station records Interface. components: - type: InstantAction - icon: { sprite: Structures/Machines/parts.rsi, state: box_0 } - iconOn: Structures/Machines/parts.rsi/box_2.png + icon: { sprite: Interface/Actions/actions_ai.rsi, state: station_records } + iconOn: Interface/Actions/actions_ai.rsi/station_records.png keywords: [ "AI", "console", "interface" ] priority: -10 event: !type:ToggleIntrinsicUIEvent { key: enum.GeneralStationRecordConsoleKey.Key } diff --git a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml index bccc70c4d1..45c1fef541 100644 --- a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml +++ b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml @@ -35,7 +35,7 @@ - ActionJumpToCore - ActionShowJobIcons - ActionSurvCameraLights - - ActionViewLaws + - ActionAIViewLaws - type: UserInterface interfaces: enum.RadarConsoleUiKey.Key: @@ -54,57 +54,14 @@ toggleAction: ActionAGhostShowCrewMonitoring enum.GeneralStationRecordConsoleKey.Key: toggleAction: ActionAGhostShowStationRecords + - type: CrewMonitoringConsole + - type: GeneralStationRecordConsole + - type: DeviceNetwork + deviceNetId: Wireless + receiveFrequencyId: CrewMonitor + - type: RadarConsole + followEntity: false -# Actions -- type: entity - id: ActionJumpToCore - name: Jump to core - description: Sends your eye back to the core. - components: - - type: InstantAction - itemIconStyle: BigAction - icon: - sprite: Interface/Actions/actions_ai.rsi - state: ai_core - event: !type:JumpToCoreEvent - -- type: entity - id: ActionShowJobIcons - name: Show job icons - description: Shows job icons for crew members. - components: - - type: InstantAction - itemIconStyle: BigAction - icon: - sprite: Interface/Misc/job_icons.rsi - state: Captain - event: !type:ActionComponentChangeEvent - components: - - type: ShowJobIcons - -- type: entity - id: ActionSurvCameraLights - name: Toggle camera lights - description: Enable surveillance camera lights near wherever you're viewing. - components: - - type: InstantAction - itemIconStyle: BigAction - icon: - sprite: Interface/Actions/actions_ai.rsi - state: camera_light - event: !type:RelayedActionComponentChangeEvent - components: - - type: LightOnCollideCollider - - type: FixturesChange - fixtures: - lightTrigger: - shape: - !type:PhysShapeCircle - radius: 0.35 - density: 80 - hard: false - layer: - - GhostImpassable # Ai - type: entity diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/screen.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/screen.yml index f3fcb5062a..382900e886 100644 --- a/Resources/Prototypes/Entities/Structures/Wallmounts/screen.yml +++ b/Resources/Prototypes/Entities/Structures/Wallmounts/screen.yml @@ -35,6 +35,7 @@ - type: ExtensionCableReceiver - type: Screen - type: DeviceNetwork + deviceNetId: Wireless receiveFrequencyId: ShuttleTimer - type: entity diff --git a/Resources/Textures/Interface/Actions/actions_ai.rsi/ai_core.png b/Resources/Textures/Interface/Actions/actions_ai.rsi/ai_core.png index 8dd3031f9fc0b41e613e0f27050665c312010aa9..89cc7aa1654fb532f1193e972a7c2ac68b068981 100644 GIT binary patch delta 510 zcmVe3CSE0LTuQBQP8Q z20S7(bpXSs=O|oE2Yh)$T?-4pLg;>OtkSd(0nP8I=F&X`u7Cf-Yc8e(Y-_1w@%iZx zn&c38dWwO8SBf&rKR-kGnB)+E0i8(lEWffGLc@GaatOdIzqN*eA$B5ZmM_kS=sn&` zg%J4ln}Ol}Khhk43@8c#7|>)wusZ^`ver#J+VHE#@p(9&k8@}L9@a+v=* zOua;g022c~0DlSrSSX-djx2_(4hBFz24RpVKp4hH1Na>P(+mS3A7f*qs{;X$k3ksb zI2a!d5SIovLixy{fXs%eqgfh&0c2kzI|5xD2v9u@AX|verXURv9|9oXgDge17#1QF zgaC1AKyw2myP-z`2!P80ENLM1A=Ghb{6 As{jB1 delta 253 zcmeBS>1CQAQP0B6z`)QLl71XWsRa0hxE?rgz}VOr$YbD>WRTKj@SetCkicMD#o%1e zka?M5g#bf6U)3ockT%AWAirP+hi5m^fSl=`E{-7@6O$7ZcqCXSHZTM@1aNY4FtN7u zOl(l{IKax;z}n;dkYSb5UKy@a3$%>VoE)V?T+5EF2~F6riFcLK=4x|^H#68mC*Ite z6&V$EZI$R{0j*0;&X)s1mbA6CEnMN@%ge32KuMR^*EJ$bqAuFtPUFKMgND^7X7C1X z6n+=ISHTuux71Op`kJvkT{6q!3*8Osi8fxP7D>gTe~DWM4fN<>hu diff --git a/Resources/Textures/Interface/Actions/actions_ai.rsi/camera_light.png b/Resources/Textures/Interface/Actions/actions_ai.rsi/camera_light.png index 041b9b9bf7c8b9cca92a5cb784ab672663a101cf..53ebb32c59fa148cbbc8dfe53367c31b24b835be 100644 GIT binary patch delta 559 zcmV+~0?_@n0=xu}7=H)`0001UdV2H#000SaNLh0L01FZT01FZU(%pXi0005*Nkl#i>T1Sj3w!O_`K`~xl>{KBnJ1VybN zS`ie~oW9)VC3#6+jIo0rc)7{VOYS-6-6RC~>*&!BN~O~0Z+{f6)oPu(ogFFeoXoYj zQ^!Z5FTe~KnaY&_YY2%Dfi?FpQG!02rFCiTPYL?Q`@ z15`dd4ZOVr1N|!3AyZc2JC0a8FafVHNdN{SE;2Y0-vhzIkwj8BlIQ@fr=mCq;v7lo zMwkFW7j!jJAb*O;^R@rlI0PK%HBMUCQiDynxCuNo)L>x_7MA7|GMvZ39$IZgM=J*= z=YjKmb#unzlFHYQ!j9w5FzR7xhU3TWwP*7ceLJ0Fu9kHV_9yr9?qR%P%Jp$l`#mveopje@o6k`YsK> zi0DAtvHqeW3yOoLs4q*d4z#=9vHS8v*{%V6I_ySdz0one%1hoQ?7=Hu<0001iRAXEG zfB;ZHPzeN-!K9KPP(a892`GXDLPOJ1L!kgH;Nn(ZmV%-pqkp};EEQQrdPO@-4NOG^ zObu8d1*iff0#}h51`=sYgR97#u?#3uw#pj_zyewAozv1Q(v~8raB*=<&su^o10)re zg>VPVl`cn)!2ALN(V<5}Lysz=`1TB{ikO(tm>3ilK0ZEZDq_%7xSU3}W%pJzTfALR sRUkqPGt^O4Kp!GX2@z2kQAr2@03YXY!vx7`JpW{t{SN_>m{kUTBe#X8_Z{{yCdRd{QL=>ARCK`7x0K z`E>y&QMPNG2+R(T`KWGRoAwGsBQU}HIcw9NE^h)td6i>Nfyxt*KCoAgJ-Xh{fHMI? zH7=qPnEkNv%RizYfwg+ye;_)62+aY^_e)V80sg)o>cd3n-#^XXx&WCZveSOiLTCU0 N002ovPDHLkV1hKUxu*aC literal 0 HcmV?d00001 diff --git a/Resources/Textures/Interface/Actions/actions_ai.rsi/crew_monitor.png b/Resources/Textures/Interface/Actions/actions_ai.rsi/crew_monitor.png index 78fad17a76c58ceb3ff7bdc60107aaf01f477511..73abb66ac1fef4180937fb2aeb18867d714c5925 100644 GIT binary patch delta 562 zcmV-20?qxW0>1>17=H)`0001UdV2H#000SaNLh0L01FZT01FZU(%pXi0005;NklIsFco4yx=lurp7yJRew;xjP?UzWup=WP`^dLwNA}tEFUGv(V zc9Ko9O`G+i10|DWl6mtolWmCpx+JobWm*0kP6va*%I`{H=YMLlR_Dr(24depMs#vk zD**Ul5G4Q$Nl$A9Kp(GKw+vuB()+E6eWQot^4R6gT7Q1r2#=qEyO(8q)zEF8=1X9` z3k!&A<-G4^GME9=IgbH^Y1{Pd|ad_C+oPPluAhv}Q>0I{BJ-23nL6{7TMYcz;0x-a5E*&!%-<=Vq3Q+58Qxs=bq(tGGIGjneou2eaFZHp0CJ_@|OmYaDOzi#fD%5EsvuQomt|wavt`) z#==sW0Yt)Lp0BIrNSUn_QzOAxvF~ja0D0!9^>(p%5iJIN=kA$nv+`a6z?RJ%jTtFf zYy+!eyL$l9q>gcoEsI3I2W%3sNBn=qE_PUa4B-E|_AohAI~}O6UQ$$RJ|mhS zU?2<_1(ARNP(V-#2?zoOgp84ZB1pgm2`EBTgocJ18=IxURe!jKmzRdPxV6Dmn3k89 z2OFEUAykx>hlix4wWXyXtH|i+=tzdE2t`*Bie?77Eg0^=bg8kirLpm<#mFjVPI2*G zf~>;S*!VDt3Rf2&R5MJC52J>Ms}GtjriYDfkyUuKc69VUK~{0p7*z$(7Bn;PhB`(> eVMHY%006cpT@icIx{}ZU0000NCu5t(CbZ2X@dmYzL(7H%(`0ka$^NmI*#_MkX| z1z;x^a>NNEGbT#`aS z$sJYh-cD3L8?b~s^B2KC^98#*K_wwcAs_~=E|pv%^tV^2YF^C{l1SDz+Oj9RMnPfIrj^o$pMiME|20vsDQZ>_}p0``kW++1K1SC!@EQSokSb(8AG~6^td0+Zs54u z1e{!O{9uphb+^yL3-)s&Imtj72;W&im?x@s5ta6d&LNRAC4rtf4>l$TP&OpdQxxd=@L?p{9uw#XUF34#kJTm^Q0vZ!DIc7F%Xi%dQjFKZ z^H@pL{tB2`Ek`16i~+8D+C?r+WuhNwx8psVDBv`P(!dD!61Bs=}X5>vXFwrXz z=>4xU@&Tu;SB3hoA(?djn(J1-3uON%fZVZs2AGj2--%w~dV5D4ZbE*10UEjJkDJzj zH_u=Bpa!0y)$XF#(p4XM0#83D=4Ou4I7w=)3nXIQm&W&hzAStld073~8fHN4d)2=V z)lVnQds?vi8n}cS&MGyWwS9z7=OEBgGvWkd&S>p?Lk!%6s6L$%<7q<;yHWo=Y;{t8 z>^!dD)E_b>mf9rROc}BaV_?RPt|PxW=q5%h+bY^LSXdbe?pNa`Yw1aNd5hv-l2qi{t7zvH7QFpRybtPMGpj#50bK)ZOEwj| zBkzOvLiBxJ>w8DhgN1luvlW%;u%dfjT9_817~uEy jqxxea?XUke`)|JiN$gOT>8$E700000NkvXXu0mjf3G1U` literal 0 HcmV?d00001 diff --git a/Resources/Textures/Interface/Actions/actions_ai.rsi/meta.json b/Resources/Textures/Interface/Actions/actions_ai.rsi/meta.json index a7c00f7793..6b974d8521 100644 --- a/Resources/Textures/Interface/Actions/actions_ai.rsi/meta.json +++ b/Resources/Textures/Interface/Actions/actions_ai.rsi/meta.json @@ -21,6 +21,18 @@ }, { "name": "state_laws" - } + }, + { + "name": "station_records" + }, + { + "name": "mass_scanner" + }, + { + "name": "job_view" + }, + { + "name": "comms_console" + } ] } diff --git a/Resources/Textures/Interface/Actions/actions_ai.rsi/state_laws.png b/Resources/Textures/Interface/Actions/actions_ai.rsi/state_laws.png index e30e891745fb526dd73b5f597eec1a457f4b1aaa..ff546e13b1fe9c117f99a23cd8c4491d9a14f3f3 100644 GIT binary patch delta 300 zcmV+{0n`5R0lNZ_7=H)`0001UdV2H#000SaNLh0L01FZT01FZU(%pXi0002(Nkle3CSE0LTuQBQP8Q z20S7(bpXSs=O|oE2Yh)$TL++l(Gb9N05>oZitEwFwwITP2!8>P<^Jnv=pARC5mFg`h|IRM#bFpH?@bHWb5W+)YXPS^pYrU5b? zG~j7~38xHt8lVxt?Ev(kr@I3{mQyLAk>>z9SPlZ1i4as?gNjUA0Fc=P9q<)cS=@V$ yAxtYU+8!7UfhEBe0-*Lfy*ef^FyLLYQ2+q!HD{@M{M6I{0000`ZfEhUx?OPofAH{g#bY_Qt#&I|W-00k1$GNZd8BA>IJ!^$lz#<-Z)@)h8BxV7 z-&X&NrAjJlOycvnd3+kWE^vS8n9Fc9{b1d+q^^^xT2d$ezdP~A|Gnc3o646PRwPbc YZDS!EF1PlfUkAw9p00i_>zopr0M6x81^@s6 diff --git a/Resources/Textures/Interface/Actions/actions_ai.rsi/station_records.png b/Resources/Textures/Interface/Actions/actions_ai.rsi/station_records.png new file mode 100644 index 0000000000000000000000000000000000000000..c1f1420445139a05276a5c6d1347a247bb43948b GIT binary patch literal 465 zcmV;?0WSWDP)T7sFevv*8xS_}sD40Be zC#1*=cmU1SdB7EEs4~pZLC%2gWZANX0jEf|k?fOBD_OSh0RB4e=%6TyeU6}2Rkd+j z1%o#aZyLObW0B}HW&jT(-J71~0Ly77l`t`oghSwf!BG9O)|UIc)tz2G+Rwhftf5O_ zvj$jf0bcHpV@XF_D$$0Mp*{>fXNG2_(dirp|J>Qq%u_!Ce+76}F`dpy5Nw1Vs0mw1 z2Tu>2)_&ZxCACrY0B5YNfLUwa12_*^D$t+=cNYxE`&AVL zru%GB(#$CgDLfCN6_~t=Y%SpFho_;zd%%8jk{{0z0;`#h09|*jj|b@$NX6AEa3#oh zK?r=mOZ(sF7bRfUwsdBh4cIn(9P(4&h8kezTymQL(kjr}!qJvXZbOk&feSK>L05ru zGK@ie8)m{~--Id1Rsm(N+^zyruY@XKzSnd8m>_=r*X$oZcVe-AVMRD`00000NkvXX Hu0mjf*G0xB literal 0 HcmV?d00001