From a16097fa337dd92775a5f970572cc712b7b67c90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ciar=C3=A1n=20Walsh?= Date: Wed, 16 Apr 2025 22:14:05 +0100 Subject: [PATCH 01/20] Fix duplicate suit signals (#35918) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Include the suit owner’s UID in suit sensor status updates. * Show a single monitoring entry per crew member * Rewrite sensor collection using a dictionary --- .../CrewMonitoringWindow.xaml.cs | 22 +++++++++++++++++-- .../Medical/SuitSensors/SuitSensorSystem.cs | 6 +++-- .../Medical/SuitSensor/SharedSuitSensor.cs | 5 ++++- 3 files changed, 28 insertions(+), 5 deletions(-) diff --git a/Content.Client/Medical/CrewMonitoring/CrewMonitoringWindow.xaml.cs b/Content.Client/Medical/CrewMonitoring/CrewMonitoringWindow.xaml.cs index 18c54cd231..b3b3508169 100644 --- a/Content.Client/Medical/CrewMonitoring/CrewMonitoringWindow.xaml.cs +++ b/Content.Client/Medical/CrewMonitoring/CrewMonitoringWindow.xaml.cs @@ -79,10 +79,28 @@ public sealed partial class CrewMonitoringWindow : FancyWindow NoServerLabel.Visible = false; + // Collect one status per user, using the sensor with the most data available. + Dictionary uniqueSensorsMap = new(); + foreach (var sensor in sensors) + { + if (uniqueSensorsMap.TryGetValue(sensor.OwnerUid, out var existingSensor)) + { + // Skip if we already have a sensor with more data for this mob. + if (existingSensor.Coordinates != null && sensor.Coordinates == null) + continue; + + if (existingSensor.DamagePercentage != null && sensor.DamagePercentage == null) + continue; + } + + uniqueSensorsMap[sensor.OwnerUid] = sensor; + } + var uniqueSensors = uniqueSensorsMap.Values.ToList(); + // Order sensor data - var orderedSensors = sensors.OrderBy(n => n.Name).OrderBy(j => j.Job); + var orderedSensors = uniqueSensors.OrderBy(n => n.Name).OrderBy(j => j.Job); var assignedSensors = new HashSet(); - var departments = sensors.SelectMany(d => d.JobDepartments).Distinct().OrderBy(n => n); + var departments = uniqueSensors.SelectMany(d => d.JobDepartments).Distinct().OrderBy(n => n); // Create department labels and populate lists foreach (var department in departments) diff --git a/Content.Server/Medical/SuitSensors/SuitSensorSystem.cs b/Content.Server/Medical/SuitSensors/SuitSensorSystem.cs index f6e46dd4f8..fa4344cc78 100644 --- a/Content.Server/Medical/SuitSensors/SuitSensorSystem.cs +++ b/Content.Server/Medical/SuitSensors/SuitSensorSystem.cs @@ -406,7 +406,7 @@ public sealed class SuitSensorSystem : EntitySystem totalDamageThreshold = critThreshold.Value.Int(); // finally, form suit sensor status - var status = new SuitSensorStatus(GetNetEntity(uid), userName, userJob, userJobIcon, userJobDepartments); + var status = new SuitSensorStatus(GetNetEntity(sensor.User.Value), GetNetEntity(uid), userName, userJob, userJobIcon, userJobDepartments); switch (sensor.Mode) { case SuitSensorMode.SensorBinary: @@ -461,6 +461,7 @@ public sealed class SuitSensorSystem : EntitySystem [SuitSensorConstants.NET_JOB_DEPARTMENTS] = status.JobDepartments, [SuitSensorConstants.NET_IS_ALIVE] = status.IsAlive, [SuitSensorConstants.NET_SUIT_SENSOR_UID] = status.SuitSensorUid, + [SuitSensorConstants.NET_OWNER_UID] = status.OwnerUid, }; if (status.TotalDamage != null) @@ -491,13 +492,14 @@ public sealed class SuitSensorSystem : EntitySystem if (!payload.TryGetValue(SuitSensorConstants.NET_JOB_DEPARTMENTS, out List? jobDepartments)) return null; if (!payload.TryGetValue(SuitSensorConstants.NET_IS_ALIVE, out bool? isAlive)) return null; if (!payload.TryGetValue(SuitSensorConstants.NET_SUIT_SENSOR_UID, out NetEntity suitSensorUid)) return null; + if (!payload.TryGetValue(SuitSensorConstants.NET_OWNER_UID, out NetEntity ownerUid)) return null; // try get total damage and cords (optionals) payload.TryGetValue(SuitSensorConstants.NET_TOTAL_DAMAGE, out int? totalDamage); payload.TryGetValue(SuitSensorConstants.NET_TOTAL_DAMAGE_THRESHOLD, out int? totalDamageThreshold); payload.TryGetValue(SuitSensorConstants.NET_COORDINATES, out NetCoordinates? coords); - var status = new SuitSensorStatus(suitSensorUid, name, job, jobIcon, jobDepartments) + var status = new SuitSensorStatus(ownerUid, suitSensorUid, name, job, jobIcon, jobDepartments) { IsAlive = isAlive.Value, TotalDamage = totalDamage, diff --git a/Content.Shared/Medical/SuitSensor/SharedSuitSensor.cs b/Content.Shared/Medical/SuitSensor/SharedSuitSensor.cs index f48e31756d..f0a552c7ec 100644 --- a/Content.Shared/Medical/SuitSensor/SharedSuitSensor.cs +++ b/Content.Shared/Medical/SuitSensor/SharedSuitSensor.cs @@ -7,8 +7,9 @@ namespace Content.Shared.Medical.SuitSensor; [Serializable, NetSerializable] public sealed class SuitSensorStatus { - public SuitSensorStatus(NetEntity suitSensorUid, string name, string job, string jobIcon, List jobDepartments) + public SuitSensorStatus(NetEntity ownerUid, NetEntity suitSensorUid, string name, string job, string jobIcon, List jobDepartments) { + OwnerUid = ownerUid; SuitSensorUid = suitSensorUid; Name = name; Job = job; @@ -18,6 +19,7 @@ public sealed class SuitSensorStatus public TimeSpan Timestamp; public NetEntity SuitSensorUid; + public NetEntity OwnerUid; public string Name; public string Job; public string JobIcon; @@ -55,6 +57,7 @@ public enum SuitSensorMode : byte public static class SuitSensorConstants { + public const string NET_OWNER_UID = "ownerUid"; public const string NET_NAME = "name"; public const string NET_JOB = "job"; public const string NET_JOB_ICON = "jobIcon"; From 705cbe1541af2f34fb026fee947726b5e759a0a4 Mon Sep 17 00:00:00 2001 From: PJBot Date: Wed, 16 Apr 2025 21:15:24 +0000 Subject: [PATCH 02/20] Automatic changelog update --- Resources/Changelog/Changelog.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 34fcf61145..6a3514005c 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: Southbridge - changes: - - message: Paper documents now support the [mono] tag. - type: Add - id: 7703 - time: '2024-12-13T14:24:35.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/33830 - author: yuitop changes: - message: Anchoring now has higher priority over stashing. @@ -3910,3 +3903,10 @@ id: 8202 time: '2025-04-16T20:26:25.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/34955 +- author: ciaran + changes: + - message: Fixed duplicate crew monitor console entries for crew with tracking implants + type: Fix + id: 8203 + time: '2025-04-16T21:14:05.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/35918 From aec8e7f8d9ecf561fd09878f30e089372860104a Mon Sep 17 00:00:00 2001 From: Tayrtahn Date: Wed, 16 Apr 2025 17:33:02 -0400 Subject: [PATCH 03/20] Add self message variants for starting/finishing vending machine restocking (#36633) * Add self message variants for starting/finishing restock * Identity --- Content.Server/VendingMachines/VendingMachineSystem.cs | 6 +++++- .../VendingMachines/SharedVendingMachineSystem.Restock.cs | 7 +++++-- .../vending-machine-restock-component.ftl | 8 +++++--- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/Content.Server/VendingMachines/VendingMachineSystem.cs b/Content.Server/VendingMachines/VendingMachineSystem.cs index e061398114..bd95c92327 100644 --- a/Content.Server/VendingMachines/VendingMachineSystem.cs +++ b/Content.Server/VendingMachines/VendingMachineSystem.cs @@ -8,6 +8,7 @@ using Content.Shared.Damage; using Content.Shared.Destructible; using Content.Shared.DoAfter; using Content.Shared.Emp; +using Content.Shared.IdentityManagement; using Content.Shared.Popups; using Content.Shared.Power; using Content.Shared.Throwing; @@ -15,6 +16,7 @@ using Content.Shared.UserInterface; using Content.Shared.VendingMachines; using Content.Shared.Wall; using Robust.Shared.Audio; +using Robust.Shared.Player; using Robust.Shared.Prototypes; using Robust.Shared.Random; using Robust.Shared.Timing; @@ -141,7 +143,9 @@ namespace Content.Server.VendingMachines TryRestockInventory(uid, component); - Popup.PopupEntity(Loc.GetString("vending-machine-restock-done", ("this", args.Args.Used), ("user", args.Args.User), ("target", uid)), args.Args.User, PopupType.Medium); + Popup.PopupEntity(Loc.GetString("vending-machine-restock-done-self", ("target", uid)), args.Args.User, args.Args.User, PopupType.Medium); + var othersFilter = Filter.PvsExcept(args.Args.User); + Popup.PopupEntity(Loc.GetString("vending-machine-restock-done-others", ("user", Identity.Entity(args.User, EntityManager)), ("target", uid)), args.Args.User, othersFilter, true, PopupType.Medium); Audio.PlayPvs(restockComponent.SoundRestockDone, uid, AudioParams.Default.WithVolume(-2f).WithVariation(0.2f)); diff --git a/Content.Shared/VendingMachines/SharedVendingMachineSystem.Restock.cs b/Content.Shared/VendingMachines/SharedVendingMachineSystem.Restock.cs index a5e2a6eccc..20c8f1195a 100644 --- a/Content.Shared/VendingMachines/SharedVendingMachineSystem.Restock.cs +++ b/Content.Shared/VendingMachines/SharedVendingMachineSystem.Restock.cs @@ -1,4 +1,5 @@ using Content.Shared.DoAfter; +using Content.Shared.IdentityManagement; using Content.Shared.Interaction; using Content.Shared.Popups; using Content.Shared.Wires; @@ -72,8 +73,10 @@ public abstract partial class SharedVendingMachineSystem if (!_doAfter.TryStartDoAfter(doAfterArgs)) return; - Popup.PopupPredicted(Loc.GetString("vending-machine-restock-start", ("this", uid), ("user", args.User), - ("target", target)), + var selfMessage = Loc.GetString("vending-machine-restock-start-self", ("target", target)); + var othersMessage = Loc.GetString("vending-machine-restock-start-others", ("user", Identity.Entity(args.User, EntityManager)), ("target", target)); + Popup.PopupPredicted(selfMessage, + othersMessage, uid, args.User, PopupType.Medium); diff --git a/Resources/Locale/en-US/vending-machines/vending-machine-restock-component.ftl b/Resources/Locale/en-US/vending-machines/vending-machine-restock-component.ftl index 3d1968604a..49b0305b19 100644 --- a/Resources/Locale/en-US/vending-machines/vending-machine-restock-component.ftl +++ b/Resources/Locale/en-US/vending-machines/vending-machine-restock-component.ftl @@ -1,4 +1,6 @@ vending-machine-restock-invalid-inventory = { CAPITALIZE(THE($this)) } isn't the right package to restock { THE($target) }. -vending-machine-restock-needs-panel-open = { CAPITALIZE($target) } needs { POSS-ADJ($target) } maintenance panel opened first. -vending-machine-restock-start = { $user } starts restocking { $target }. -vending-machine-restock-done = { $user } finishes restocking { $target }. +vending-machine-restock-needs-panel-open = { CAPITALIZE(THE($target)) } needs { POSS-ADJ($target) } maintenance panel opened first. +vending-machine-restock-start-self = You start restocking { THE($target) }. +vending-machine-restock-start-others = { CAPITALIZE(THE($user)) } starts restocking { THE($target) }. +vending-machine-restock-done-self = You finish restocking { THE($target) }. +vending-machine-restock-done-others = { CAPITALIZE(THE($user)) } finishes restocking { THE($target) }. From f4f9f7ea7b25a6ccd9d65de0266e3a0d73dcbb21 Mon Sep 17 00:00:00 2001 From: Tayrtahn Date: Wed, 16 Apr 2025 17:51:38 -0400 Subject: [PATCH 04/20] Cleanup warnings in ScreenshotHook (#36637) --- Content.Client/Screenshot/ScreenshotHook.cs | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/Content.Client/Screenshot/ScreenshotHook.cs b/Content.Client/Screenshot/ScreenshotHook.cs index 753691a58e..d3cd5791dc 100644 --- a/Content.Client/Screenshot/ScreenshotHook.cs +++ b/Content.Client/Screenshot/ScreenshotHook.cs @@ -1,4 +1,3 @@ -using System; using System.IO; using System.Threading.Tasks; using Content.Client.Viewport; @@ -8,8 +7,6 @@ using Robust.Client.Input; using Robust.Client.State; using Robust.Shared.ContentPack; using Robust.Shared.Input.Binding; -using Robust.Shared.IoC; -using Robust.Shared.Log; using Robust.Shared.Utility; using SixLabors.ImageSharp; using SixLabors.ImageSharp.PixelFormats; @@ -25,8 +22,13 @@ namespace Content.Client.Screenshot [Dependency] private readonly IResourceManager _resourceManager = default!; [Dependency] private readonly IStateManager _stateManager = default!; + private ISawmill _sawmill = default!; + public void Initialize() { + _sawmill = Logger.GetSawmill("screenshot"); + _sawmill.Level = LogLevel.Info; + _inputManager.SetInputCommand(ContentKeyFunctions.TakeScreenshot, InputCmdHandler.FromDelegate(_ => { _clyde.Screenshot(ScreenshotType.Final, Take); @@ -40,7 +42,7 @@ namespace Content.Client.Screenshot } else { - Logger.InfoS("screenshot", "Can't take no-UI screenshot: current state is not GameScreen"); + _sawmill.Info("Can't take no-UI screenshot: current state is not GameScreen"); } })); } @@ -74,16 +76,16 @@ namespace Content.Client.Screenshot screenshot.SaveAsPng(file); }); - Logger.InfoS("screenshot", "Screenshot taken as {0}.png", filename); + _sawmill.Info("Screenshot taken as {0}.png", filename); return; } catch (IOException e) { - Logger.WarningS("screenshot", "Failed to save screenshot, retrying?:\n{0}", e); + _sawmill.Warning("Failed to save screenshot, retrying?:\n{0}", e); } } - Logger.ErrorS("screenshot", "Unable to save screenshot."); + _sawmill.Error("Unable to save screenshot."); } } From 2b845c70c77967502f9d825ba9e68389aab97b23 Mon Sep 17 00:00:00 2001 From: mubururu_ <139181059+muburu@users.noreply.github.com> Date: Wed, 16 Apr 2025 17:14:48 -0500 Subject: [PATCH 05/20] space adder sprite cleanup (#36584) --- .../purple_snake.rsi/dead_purple_snake.png | Bin 1352 -> 523 bytes .../Aliens/Xenos/purple_snake.rsi/meta.json | 68 +++++++++--------- .../Xenos/purple_snake.rsi/purple_snake.png | Bin 15060 -> 4976 bytes 3 files changed, 34 insertions(+), 34 deletions(-) diff --git a/Resources/Textures/Mobs/Aliens/Xenos/purple_snake.rsi/dead_purple_snake.png b/Resources/Textures/Mobs/Aliens/Xenos/purple_snake.rsi/dead_purple_snake.png index c031d8b92f3d8a71721390c5881343e23eaa69ec..bc678532bb72449010f6eee1e202629c6901e96e 100644 GIT binary patch delta 497 zcmVKWw+|6dOQLX-xPERAlXZT^Hn5Oxfa%!>ioCC(F(H=9%ljj+Cu#L_J&5%>lv8Rj@!V;x)D zv6KR~;zzEs#%4-X=Z=RU?93^#(j6!kAG3WcbDW*Lr~r(;3o8-mdl3NODv?(Iz@K8^ zPfNuI{uHcZYkxej#2qNgf8;9c5aT>vn~Q6ahGB&#P1ti7f+U7YqbD`SEFgr7VZw9w zfQp5xJ*xJ8%!F4av`A+~`(6arF^)GsuuBGKfx?NeF;p67fx?&tPJE5ytq47-7b_5i z9kb^!(qE29qVGkxOKYxtCH_@`~3~u%}KiN@NpED6u91>Ia9}?HJhEr7UPR+ n)jU7K^?q|wO004R=004l4008;_ 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 literal 15060 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 Il&vEF4`sXoH2?qr From 557e5b3a1055049323740d0d8fe6cd7e28a31f77 Mon Sep 17 00:00:00 2001 From: SeamLesss Date: Wed, 16 Apr 2025 15:15:37 -0700 Subject: [PATCH 06/20] Standardize In-hand Sprites for Gloves (#35997) * guh??? * Merge branch 'master' of https://github.com/SeamLesss/space-station-14 * glove inhands * wrong side * attribution hell * slight tweaks --------- Co-authored-by: ScarKy0 --- .../Gloves/Color/black.rsi/inhand-left.png | Bin 205 -> 16598 bytes .../Gloves/Color/black.rsi/inhand-right.png | Bin 214 -> 16598 bytes .../Hands/Gloves/Color/black.rsi/meta.json | 2 +- .../Gloves/Color/color.rsi/inhand-left.png | Bin 218 -> 16598 bytes .../Gloves/Color/color.rsi/inhand-right.png | Bin 225 -> 16598 bytes .../Hands/Gloves/Color/color.rsi/meta.json | 2 +- .../Gloves/Color/yellow.rsi/inhand-left.png | Bin 291 -> 16598 bytes .../Gloves/Color/yellow.rsi/inhand-right.png | Bin 294 -> 16598 bytes .../Hands/Gloves/Color/yellow.rsi/meta.json | 2 +- .../Hands/Gloves/captain.rsi/inhand-left.png | Bin 480 -> 16598 bytes .../Hands/Gloves/captain.rsi/inhand-right.png | Bin 481 -> 16598 bytes .../Hands/Gloves/captain.rsi/meta.json | 2 +- .../Hands/Gloves/combat.rsi/inhand-left.png | Bin 564 -> 16598 bytes .../Hands/Gloves/combat.rsi/inhand-right.png | Bin 567 -> 16598 bytes .../Hands/Gloves/combat.rsi/meta.json | 2 +- .../Gloves/fingerless.rsi/inhand-left.png | Bin 205 -> 16598 bytes .../Gloves/fingerless.rsi/inhand-right.png | Bin 214 -> 16598 bytes .../Hands/Gloves/fingerless.rsi/meta.json | 2 +- .../fingerlessinsuls.rsi/inhand-left.png | Bin 291 -> 16598 bytes .../fingerlessinsuls.rsi/inhand-right.png | Bin 294 -> 16598 bytes .../Gloves/fingerlessinsuls.rsi/meta.json | 28 +++++++++++++++++- .../Hands/Gloves/forensic.rsi/inhand-left.png | Bin 450 -> 16598 bytes .../Gloves/forensic.rsi/inhand-right.png | Bin 451 -> 16598 bytes .../Hands/Gloves/forensic.rsi/meta.json | 2 +- .../Hands/Gloves/hop.rsi/inhand-left.png | Bin 1141 -> 16598 bytes .../Hands/Gloves/hop.rsi/inhand-right.png | Bin 1145 -> 16598 bytes .../Clothing/Hands/Gloves/hop.rsi/meta.json | 2 +- .../Hands/Gloves/janitor.rsi/inhand-left.png | Bin 1287 -> 16598 bytes .../Hands/Gloves/janitor.rsi/inhand-right.png | Bin 1283 -> 16598 bytes .../Hands/Gloves/janitor.rsi/meta.json | 2 +- .../Hands/Gloves/latex.rsi/inhand-left.png | Bin 218 -> 16598 bytes .../Hands/Gloves/latex.rsi/inhand-right.png | Bin 225 -> 16598 bytes .../Clothing/Hands/Gloves/latex.rsi/meta.json | 2 +- .../Hands/Gloves/leather.rsi/inhand-left.png | Bin 437 -> 16598 bytes .../Hands/Gloves/leather.rsi/inhand-right.png | Bin 444 -> 16598 bytes .../Hands/Gloves/leather.rsi/meta.json | 2 +- .../Gloves/mercbattle.rsi/inhand-left.png | Bin 278 -> 16598 bytes .../Gloves/mercbattle.rsi/inhand-right.png | Bin 286 -> 16598 bytes .../Hands/Gloves/mercbattle.rsi/meta.json | 2 +- .../Gloves/mercfingerless.rsi/inhand-left.png | Bin 278 -> 16598 bytes .../mercfingerless.rsi/inhand-right.png | Bin 286 -> 16598 bytes .../Hands/Gloves/mercfingerless.rsi/meta.json | 2 +- .../Hands/Gloves/nitrile.rsi/inhand-left.png | Bin 228 -> 16598 bytes .../Hands/Gloves/nitrile.rsi/inhand-right.png | Bin 232 -> 16598 bytes .../Hands/Gloves/nitrile.rsi/meta.json | 2 +- .../Hands/Gloves/northstar.rsi/meta.json | 2 +- .../Gloves/powerglove.rsi/inhand-left.png | Bin 463 -> 16598 bytes .../Gloves/powerglove.rsi/inhand-right.png | Bin 461 -> 16598 bytes .../Hands/Gloves/powerglove.rsi/meta.json | 2 +- .../Gloves/powerglove.rsi/on-inhand-left.png | Bin 462 -> 16598 bytes .../Gloves/powerglove.rsi/on-inhand-right.png | Bin 458 -> 16598 bytes .../Gloves/robohands.rsi/inhand-left.png | Bin 1249 -> 16598 bytes .../Gloves/robohands.rsi/inhand-right.png | Bin 1264 -> 16598 bytes .../Hands/Gloves/robohands.rsi/meta.json | 2 +- .../spaceninja.rsi/green-inhand-left.png | Bin 403 -> 16598 bytes .../spaceninja.rsi/green-inhand-right.png | Bin 411 -> 16598 bytes .../Gloves/spaceninja.rsi/inhand-left.png | Bin 205 -> 16598 bytes .../Gloves/spaceninja.rsi/inhand-right.png | Bin 214 -> 16598 bytes .../Hands/Gloves/spaceninja.rsi/meta.json | 2 +- .../Gloves/spaceninja.rsi/red-inhand-left.png | Bin 408 -> 16598 bytes .../spaceninja.rsi/red-inhand-right.png | Bin 416 -> 16598 bytes 61 files changed, 45 insertions(+), 19 deletions(-) diff --git a/Resources/Textures/Clothing/Hands/Gloves/Color/black.rsi/inhand-left.png b/Resources/Textures/Clothing/Hands/Gloves/Color/black.rsi/inhand-left.png index 8f8953d6350a9eaafc02aae11628dea79f4f41c6..6180b001785aaf8bbfb1763f9c1961b63e74e54e 100644 GIT binary patch literal 16598 zcmeI4K}!Nb6vt=XP;-+Y4I&}>3Y{~wSXmcIB7zV)gtsnX6x2DobmGf# z^3XTv)-ebSI)xp~<_Qyn5G?B(75WdXZyjg;@4erSUf#pgwX&B?%qD~oNx$f>OPi-F z9+j_mJ9{tEM5`sw6%XP~cH00@8p2!H?xfB*=900@8p2!H?xfB*=900@L6kjv#dA-4wF zWBI@NSE}v#~7zzDxL1i(NU$R_1I`w{pwTV z5!)7tcw8v`el_*|tS8{T+3W^M!Ez3jJn3@}Rsf%^)^B|D)HsH&qw8~M8_}TS&;4s{ zLeog{5Cs7c009sf6#`$c*EQ7(Fe))24iEqV5C8!X009sH0T2KI5C8!X009sH0TB2H z1h}h2e<9=W!&)a)ftsl4D{b9!_+bU$dtS#>OCRnodu ze(0+Zwl{(G1emPp>xrv-j@|?|0K=&1>%9ZIe+6jZb{IANVfY+4SU3a$5C8!X=p~SO hs_e?S68$eg?`I+3e@t$kZ`n6Y5Qg^>i7{sy6G61`H`p3Ul!VI>j3Tk{qY%Nu&M(kfZ2SR&NLm#XtZgKP z`3q_x*bA|hG%@ZJ3tJ@Fy^VJl;a#}fV|RAu-RCwbGDFUn%T6*enP7}1-C}-)_c^-a zF@C?>-T&ZSY`f&-*%P~DG5dJ-mXD0=71s_Kvr}|g?5aA!2ZxW`#lrAsbbM@P>U!xd z&Db<^^YfJx%gW_yHEw|h0w4eaAOHd&00JNY0w4eaAOHd&00JNY0wBpmo-BwV{#aYMp+^rXQ?#*QF(xy z&_^EyIt|bDx}}n+V}D9VwG< z*uDcBIQUOm4Yr3RAOHd&00Mdhc2+mOz4tvcw=u@lxpIJ` zY-VoL)BV74Ijyy+bEN=h%3kI8Q?H%_000000092UsxQSe%C9rSukNxl@X6@_5$o>^ pRD2a+^__u=(*f?ZGXMa*^#oHqKHCeptw{g?002ovPDHLkV1n7{Ro4Ij diff --git a/Resources/Textures/Clothing/Hands/Gloves/Color/black.rsi/meta.json b/Resources/Textures/Clothing/Hands/Gloves/Color/black.rsi/meta.json index 88e3ebd509..c8396d7835 100644 --- a/Resources/Textures/Clothing/Hands/Gloves/Color/black.rsi/meta.json +++ b/Resources/Textures/Clothing/Hands/Gloves/Color/black.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/4f6190e2895e09116663ef282d3ce1d8b35c032e", + "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/4f6190e2895e09116663ef282d3ce1d8b35c032e. Inhand sprites by SeamLesss (Github)", "size": { "x": 32, "y": 32 diff --git a/Resources/Textures/Clothing/Hands/Gloves/Color/color.rsi/inhand-left.png b/Resources/Textures/Clothing/Hands/Gloves/Color/color.rsi/inhand-left.png index 5ec31202f101c65de7de1845def08669fe38bbf8..a662396eabbb2b8d64cbbb52f064d06ede9f1948 100644 GIT binary patch literal 16598 zcmeI)K}!Nb6bJCP1#2o^QZYJ7AD~OeE>3SVUL#znMi0dL_`rgYb~pDijOf< z{a$bGRMpAc$Ym^gq%$(Z`?FW7C%Bzm-6aY~`7r4GVnTHW_Uy%UpfMUBpQh)vg-fC& z+1A|3fnlUlrINY=4FV8=00bZa0SG_<0uX=z1Rwwb2tWV=5a?6ju2^jMIn>iI-SIso z(d(kOdR;4kj`$nU+ujxXH|$$)Lu-Wv_7)@t<8Y*H?t_Z^>aJQ|D9 zR5D5NM1l;}By$#B0hLOnlO!iA*_@l__|i=lpj__c$4ix;nndF`&eE@Z$Crq!Ee0=H z>Gyz+nA!jk7y=N000f3XU?zC@;_L+&hJ26%1Rwwb2tWV=5P$##AOHafKmY;|fB*#k ziGXyKs2kf~&C_lEuKhY{`fig+%p+PTb?SLeVbd*X$v&RP?bP0l+XkKKZQ>w diff --git a/Resources/Textures/Clothing/Hands/Gloves/Color/color.rsi/inhand-right.png b/Resources/Textures/Clothing/Hands/Gloves/Color/color.rsi/inhand-right.png index f9ea9a377af76d25f865013b47d84c8f3e8e43fe..f008e6163145e0df703dfe2082262fe08336ca8f 100644 GIT binary patch literal 16598 zcmeI4ze~eF6vtl_T5aiKTPjY`S)2tCsDX!o=|52KAz4b=yM#2U@I6RF-@Uu{eV@CV?veAAQZ5#mh!9cC$Y)l?JI&8X zNc`UK9(;&bXuFWh&2#$cJkUS@1V8`;KmY_l00ck)1V8`;KmY_l00ck)1iBD-ESK9|x(34B zcYUAr`alD4qi;xc>6q?MtEK85h#%{7x(hU!Ql2oLNYIq7Q!t2i z^lW(++~Gw3Nvp%u;0^*H00JPOPT=A_nv;j`X6mmsnmE>k_q>pBH^r9e~$6L3)>N zC!R(4T|eNa4!}-(r_J>a@VkD%O&vgIvUdMn0SKagpl@{mc2rbsd+Ba_Ubg`N delta 198 zcmccC$oPh;m^$*i>zScQ>Ox zZ}$%Rs>$qDN&&U$k~03$N<*C)+b?g|i2MoO9lE-iQYW*A;d(LqF*-TEyma4q|0bHH zFj(C>cAP??(@{OJK>z{}fB*y_009U<00Izz00bZa0SG_<0tp2k>t2-b(pZ<-$RCL{ za?DOIy|0)(lXbI^FA6X>@6l7&wel2jF6R&Q#y1&#QpD}W35h^(j+r~q06clUOTDk0 zqcgdc1`vG(S`WXE=yTtt=|xq75ZE|}^LW$w0q-*{PkVh$kf?rApijgKwu~Z z+`Qk@YXOFGf|wKpAOHafKmY;|fB*y_009U<00Izz00ah8K&nRg*X$(55v>#I8@5r? z*V$$(F^(tze=c!Gw-=oJLLGTtgsToQ*YUvy<(bzB!gYHrEg&{XGzS1=6VL z>$L-tYZEkXqBf11ei~yY!ofulfB*y_ASuv(t1YO!3jZ&FP;U3^I$wWn-Emx4tOm`s Gozov$Bfszf delta 277 zcmccC$heqkf&HM)CCGLmIV0) zGdMiEkp|@CRE0#8xTF>*7iAWdWaj5FFjUM54l5`s{r)Am;N#aPTHd-^=gyoD-VkbV z(fGk5o%24LCmD)*dUseD2N_>B_EMPhXws2MAqv4Ojp}XH_v>tp=E7BfooFx1_Y7H7RWbr#TKFHaZ85RcB}1PRu~4Pg!fUdCJr)6;`m zGy@K;bKuBp5-3w`|4W&iI#jUuxDGIvi;8s@`Q71tJ2NyR* z`Y#9y>e5{h2M0&vJxd_agrxDsMEDM_2k+AFefjk+L*CKGVy%?ZM|C2~nPp>1jd|`F zO?_UjZM4*&tyW3~-O&+g+3ooY73o_quWS-!2f3%{_;gqW(_3b>n11aY8kozzpVdE! z#>q4a%R8x5KHqGrE6_jy1V8`;KmY_l00ck)1V8`;KmY_l00ck)1Uv}boa>gyR3gG* z{PlF>{N-7_QcQ3Q<1a9Phx?2*G0CrKliS!I`xJF}xJwp`S|9CER9slh>63kn$n(D9 zo431&Xhb5mM;?Pd4}7=4$kZ1-wlY7KZ?BWR1#Expmwk&hUQS|5O3anJ(0}skeg}wx z00@8p2nZ0Ujj>4kEP#LKM;ECL4B95AT965b3U>XEK00clF9s+yS*@nto;r|5? Wa`1F;GBf?wUtl@2STn8`>igf5BfO3P delta 280 zcmccC$heGYf&HM)CCGLmIV0) zGdMiEkp|@CRE0#8xTF>*7iAWdWaj5FFjUM54l5`s{r)Am;N#aPTHd-^=gyoD-VkbV z(fGk5o%24LCmD)*dUseD2N_>B_EMPhXws2MAqv4Ojp}XH_v>tp=E7BfooFx1_Y7H7RWbr#TKUr!gu5RcB}1PRu~4YwKs8Fuebh-nlG zt5kE{!KApxjpLwig20hg47*=w097PRV02{q)NzP`T|g;?DJ$`S&k08zJ{A#!-2z5Q cM;IB_7c+hrXz%pi0yLSy)78&qol`;+0QLrH0ssI2 diff --git a/Resources/Textures/Clothing/Hands/Gloves/Color/yellow.rsi/meta.json b/Resources/Textures/Clothing/Hands/Gloves/Color/yellow.rsi/meta.json index 88e3ebd509..c8396d7835 100644 --- a/Resources/Textures/Clothing/Hands/Gloves/Color/yellow.rsi/meta.json +++ b/Resources/Textures/Clothing/Hands/Gloves/Color/yellow.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/4f6190e2895e09116663ef282d3ce1d8b35c032e", + "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/4f6190e2895e09116663ef282d3ce1d8b35c032e. Inhand sprites by SeamLesss (Github)", "size": { "x": 32, "y": 32 diff --git a/Resources/Textures/Clothing/Hands/Gloves/captain.rsi/inhand-left.png b/Resources/Textures/Clothing/Hands/Gloves/captain.rsi/inhand-left.png index 1e397d6babc114167e547c2c8b7d4b63bcf93d5f..a5a7efc72555e7224af2ac78f3840dfe286bada8 100644 GIT binary patch literal 16598 zcmeI4Jxc>Y5QZm-CYq4O5EPqJK@ibOu};E;@@xdQwu5MM_~~a3(uX%L5dU4+-_p=?s3^;nSE#WVXnCuvNxMeg@gS;A_^O6eNN0V zzPtS5_k3;RUQGU#OiCw{uaoPu1F_P*o?grmg(7@==}f%h z5-jVm9_zBc?9m}p@cr$zF2}(>KZ&pNRB841D(jxY5C05C8!X009sH0T2KI z5C8!X009sH0T2KI5CDNc5l~Unw+ldqAE|XhE67&W^jqb}I@hnWRo0eWC;Z7V`*GWw zAT0y<@Z-b1^GI|rF^$Mu2>DvLYdI#L}CP>Qw4zSfVeO0{)cCa0-wWFrr u4xf%-zz76D00cllC4tS(VnXO=_RPWvJ-@ delta 455 zcmV;&0XY8FfdSwHkR*Qrb5ch_0Itp)=>Px$nn^@KRCt{2+ObN*KpY0}FUHB-JBSfc ziWP;@$;Ca3xV6w%aOmRXCb;?lT`P#VO#%Kp3A|SQLmif@ca#jCwtiKe;^0~0D#sS0Fb;q&HZ27`ekgm8mJld zjFhrGKfd|G{lf@KDQK;swJsMj?@rp*FUv^-CWE#CfJUPMDJ8Vl$dlOX+$t|mVoxar z0FY8bDTN>i;D>)LcU#Dl*O`}8mSxD3*h_^l#j&gU zm0-IkUF~TiA|fIpA|fIpA|hHZwayRNa-APotYL xK$ZD{S~LKtEyh z`Y%MyL8JYc!g9*)DGo%m_wKkK2Hz7sJs;lp>xb9reYpMkY$_BS3=&aDO)Cr9Il<2^ zzxH~uw(+Q){HvLiLN$Jz-ku+7SGw2JOF5#RFh3=+InBrmSHM|8{uy-nDoU~}n;F~nTF%Eg8G&;f z3D7Aj%9mmkeuz+|QlaYShp61s@AZ6)@b;?h4$zY@k8lO>2>OpNKfeeE^s<2SF#_kc z_2BX~td00bZa0ow)Q2eE6t7r^$xF(3pW009U<00Izz00bZa0SG_< z0uX=z1R%fyR`%zu$T>BSp?$)?0z0}tUpKK^^VCf#e(PrcfZhjSbPHUZ{8|^1M5rn-0%_P0(AF$E~&@6l7HA^di2XVW9z_C7nMiHZ*z1WlYVoswTsDl6m mAOHbZ1vYQ)_*MfMzAu1H6K_{{wt9o1C=aJ5v&!Yn%I-IujHWFB delta 456 zcmV;(0XP2EfdSzIkR*Qrb5ch_0Itp)=>Px$n@L1LRCt{2+ObN*KpY0}FHI+N?;uu0 zDOMCpCl~iF;?_c6!J&(jo8amLbgdwYkDx=x(xq@X1uoB!69?ltNJ6x>CT)c~_>ur5yZ?qD2mk+T*3epK6WRDCEStXq0MkLs06@K7hm;apYb4>=>s%`@3CEsN3IHIbgi;DY z5WufBtyzRs@>hQVp!2u~DJ7(o5JDgwkf)S_5CZS_yGUouuuJ;f8rt&~{$rsoA2j(fX0Iv5BEK+Cz yT<;%Pr0^DSy?`v=y-l|4;FRK_Q=lXNN@l8=@E0000>JJMJg-p6bs)# zQdsy1c7Y?J*jV@iaVNO2#RV>#xuo#F;j+uJ^Pkz@&ZU_pm+R$XI+aNYA<|yS-H^RQ z&u~J1KOUUaWtZ6Ti>_$W=kEEwDrZKHOIxQxjJ?ofy&gU6$;o8JTPq~L25oyWmze+A z6=F_!?#kwwWjRi*CRd<=00@8p2!H?xfB*=900@8p2!H?xfB*=9005R#UfU&49OhqZK3t%ayMB=1HHsu>zn|S4|(QIg?)3(Z?oQJ+Yyb<^Hvf zL$fC^-~!KYW_T3Of)00T2KI iHUhSFaV^Ds`dPx$?ny*JRCr$Pnn6oKK@i91;TJG0q$q?8 z6b*XdLAvw}BItt#QgraxrBmQVQK&;;f~6ExP!PPBg$EWU`F6M2ZU67IymfYFe)FGw z9wwr|pD6JB2>_sgzzLuQ0v7--L9_r`AaDX`fxrcTuK-#AEf9Y=0klBi0>D?`PgF2bq28+AmUh=AafG+Sorxc>n71BI0$iutMYMBRxHg={F#B?U!k5qX0HGOGzBZ zl*{E*45RxAaq|4|yI!|T&DOzIE-hB+oWR03042CtO{ARttHWOrI2hPN$>Z?ba&P?e%Cc zZp>{3UHh!b8w0?XRDP|fs-5;a12{ixMZA~Fe)c}#`ymZn*Ipa|2f+QizEx5e-}kk; z4~DlYVctvEvw`c{XN6#-1+qGK!43disDfk+P=F+T7kqz10WMTQG6pC>lD-SRp#T@E zAQ=M`AW7c^-%x-HRgjDU3Xr7lf^R6mg(^tK00l_WcfmIl;6fE7V}JrA>AT?jUnoFl ze!xorCg%sd0$^i)z#9Oz<_Ek0U~_)J3jj9f2fP4aV*cQ#Pp&rrZ2e~d09#~zITs4> erBb%y`~(ycdPh(*W37t-00005f?WV9h_8jaB=D8EI7L<9sCAT z!NF0S1cySYR1_CK!I=jhWN1k)cfG6dzvG&ayuA0%?~*Qg+{Jn+ACIMCjIp>?FgJLa zp{GB>e=7&aHC{w^i+PjTbYI`!T=JHIqr%n+V?&Sh7*B_{d%Q7vYOUp>pS{WC;_Sox z+zVsV%raLt&kQ4zsaClKE)W0#5C8!X009sH0T2KI5C8!X009sH0T2LzHUv_WX}e8V zS2XMB>v5xeVk+&%JaAhbeaZk9mX_`Dv5~+h^vR5ASrJ)sJ~})oGY_@j z(MJ$I8g{ejPaI2j%=oabD?YGcmOrVz!T`@oWMOT%-v1K|w14Pqba=P*PaC}w`3{oo4I z)4g6L<<M>_As#Ix4K>#Vt0@yloPa>G={BSydWGv2tR=b9)H zq&I!CQ=gprk&~Z~p0B#AH?`dRO5S$gU5cImT$RqI8CO+SPffAE_dH}}*wR-#2^Zdb zKRSG|dCk>VrB?ZKXEsd;*{@PxSW_fbSo$+c|4F9NT+Rl+<;v&3WsAQ0R#hTk=CjR7 z>Mv76yGz|-jjMgta~WgewlKwY=l(C1`%tsN=)EQRzanBBZi2L>_ zswSV+VU2cYopI=uCQgQ^Cu@(iGOr17@@AJ=;Cjz1#^QjN>XwoNj8KVsoHFPVYmP8R z{;O9IY)CzKf2-DOsd7yQ&vW-*X(^SE<9z4dw`~U@OlOy@O1Ta LS?83{#J~UmS~C5A diff --git a/Resources/Textures/Clothing/Hands/Gloves/combat.rsi/meta.json b/Resources/Textures/Clothing/Hands/Gloves/combat.rsi/meta.json index 1ad417f8f1..466cbb11c2 100644 --- a/Resources/Textures/Clothing/Hands/Gloves/combat.rsi/meta.json +++ b/Resources/Textures/Clothing/Hands/Gloves/combat.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Sprited by OnsenCapy (NamelessName on Discord)", + "copyright": "Sprited by OnsenCapy (NamelessName on Discord), inhand sprites by SeamLesss (Github)", "size": { "x": 32, "y": 32 diff --git a/Resources/Textures/Clothing/Hands/Gloves/fingerless.rsi/inhand-left.png b/Resources/Textures/Clothing/Hands/Gloves/fingerless.rsi/inhand-left.png index 8f8953d6350a9eaafc02aae11628dea79f4f41c6..65d8a0b29bf5ca2ee1f38dce2898b51761a0d846 100644 GIT binary patch literal 16598 zcmeI)zfZzI6bJBEe}DpA1QMf5!@%mm=+J74&=3g`7dPYPV4~4PXEy%>W86&~*cp`3 zi8#8MP9`RGYWI3aQo;a9fp^I8ZBj~_>-UvUjxO)g`$oN@r?yf=q&rpnNE|J>uO-Ci z%lXxpI3&($6`Nk^ffDK4-Dh!T{jz#;O_a{cU8BdRO>r`L;~bWgKg;Y11Rwwb2tWV=5P$##AOHafKmY;|fB*y_Fr`4LR0^lOG}dJ*@|R*& zjycHp{g@-C8>S+k6+qW@GEGy-EReY}pL<*349sLQl*{F)*=&Zc>r$`R(`L<=)7~(Q zS!2dt&k7I(!JrV=bd@=t=k;@k^9O|%?Td;BmHdsWau>}H_X7b4KmY;|;1FnE2Nhkqr7oPjykLW z#bPm3)zcq^z_B)gtyM0kqspHCC;*PN32XrW(bFGZJHYXG7==9XIgSU@Bt_?4Z<2e% qSO`D>0uX?JDgp1k@GG)w^1T2|HCDeH2iw_Be`%^yuG{VX)7Brg_;RrT delta 178 zcmV;j08RhafdS0{kR*SUNkl<2`LZ%iQx-N8{mEpKGMNn3>vgZw z=}^1f)?|rE0r;}&cDwy?T-TM27is@!enI{YW0Mc^fEhcWqR#)4r=r`(un>R%1Rwx` zzQEV}&*q>O03;BA00bZa0SG_<0uX=z1Rwwb2tWV=5P*OZfv~ovRLwK-R=G%T>Kl@R ziB!$=Cx9^P2L^QjmSy>>1rT@+o26Uj!^n{fz8u4@9~jgD@LB+d;Z0HpFp{$HG7vx% z^#e-l0E9e}4pk2((X?UDC&~lu5P$##AOL}=1>RCGuPlc$e=oq4a@lTGQjOXNe**zI Lg{u9$cXaa$(nfE| delta 187 zcmV;s07U=RfdSS5kR*SdNklOz4tvcw=u@lxpIJ` zY-VoL)BV74Ijyy+bEN=h%3kI8Q?H%_000000092UsxQSe%C9rSukNxl@X6@_5$o>^ pRD2a+^__u=(*f?ZGXMa*^#oHqKHCeptw{g?002ovPDHLkV1n7{Ro4Ij diff --git a/Resources/Textures/Clothing/Hands/Gloves/fingerless.rsi/meta.json b/Resources/Textures/Clothing/Hands/Gloves/fingerless.rsi/meta.json index e47f13296a..9979997cd6 100644 --- a/Resources/Textures/Clothing/Hands/Gloves/fingerless.rsi/meta.json +++ b/Resources/Textures/Clothing/Hands/Gloves/fingerless.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/54ecdcc05bcaf335489938b1253a2a733ba12271", + "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/54ecdcc05bcaf335489938b1253a2a733ba12271. Inhand sprites by SeamLesss (Github)", "size": { "x": 32, "y": 32 diff --git a/Resources/Textures/Clothing/Hands/Gloves/fingerlessinsuls.rsi/inhand-left.png b/Resources/Textures/Clothing/Hands/Gloves/fingerlessinsuls.rsi/inhand-left.png index 8e8542213fa3db8e812f443ec113ca7d350115ed..82f010226b47a8220628b3e663085115bfc0a50e 100644 GIT binary patch literal 16598 zcmeI)u}Z^07zgk#Dyd%Sq6i`sd<78{u|t%UHWZ79i<`JPX;n}h6+!U@N^x?jIP?Xi zbkNbRjt*{pfeb~6cacCT9g_6BsO29>(}v6cyZmx==pDV?Di<V^mKGhkYozAXY-(A&+ z7Ra&Jcg_vNvRWbhScTgGdqBcBz(6cgmVk(N=Qa#jAH-c%<&Z^_@ehO5d6GIijxlD@tR%2C^Y zNL^R`gg^Y|5Bv5{rphOBhY!`6!1d(&`=~3ozYab_00Izz00c%sVD<4c8>|Hwh5Nxh zKmY;|fB*y_009U<00Izz00bZa0SG|gp9my1rNvQ)b*emgK04;~gY4cTM;%sxX4UkP zoYU92HlY_f)O$4?bIBEy1h%yTzcHt;V{O79=t$={zL=sEOuAl_zM(AyAOHaf kKtPwkbIxeU?2`Il0Hzv?7ss8-&Ec|&bMj@ov9Wjg4e|k%K>z>% delta 277 zcmccC$heqkf&HM)CCGLmIV0) zGdMiEkp|@CRE0#8xTF>*7iAWdWaj5FFjUM54l5`s{r)Am;N#aPTHd-^=gyoD-VkbV z(fGk5o%24LCmD)*dUseD2N_>B_EMPhXws2MAqv4Ojp}XH_v>tp=E7BfooFx1_Y7H7RWbr#TKFHaZ85RcB}1PRu~4Pg!fUdCJr)6;`m zGy@K;bKuBp5-3wkJ zb@trYKkTxdzE>&P)TBD;=E?Fs8_6G(w`)Y^G~YD3x}If&xnpO&m~+QxrsnhZ`^_TJ z0y*~T)~TjhR;$G#@PGgWAOHafKmY;|fB*y_009U<00Izz00aaAkGDo3IP@omc>LfZ&+|-I&PyqEr&{`golx=S0Tx+bRf_`diYIM`l+G;1?g(D*JJW zd`o+`Rj1RdimZ-x4``W|0GNbn&mnqbOUQ~j4ZV_h6hf&c^{009U{ z3UtlO*RU5r@)U$Y00Izz00bZa0SG_<0uX=z1Rwwb2tWV=Y64j;OQn@ZdZ}E*5@&s0 zG}o~4wDSB4Aj|%Nun(YF*OTo97^W^d#&5@PO+NAF1VPd`eE@=~28JVh1qPzOUyP!E zAk{vApDt2nEUhmlQSPksiR!>O1Rwwb2tZ)e0v~604OT;i|1Us7wYdI~TibbS^XZ&o K)qYspJ^un^2AG8a delta 280 zcmccC$heGYf&HM)CCGLmIV0) zGdMiEkp|@CRE0#8xTF>*7iAWdWaj5FFjUM54l5`s{r)Am;N#aPTHd-^=gyoD-VkbV z(fGk5o%24LCmD)*dUseD2N_>B_EMPhXws2MAqv4Ojp}XH_v>tp=E7BfooFx1_Y7H7RWbr#TKUr!gu5RcB}1PRu~4YwKs8Fuebh-nlG zt5kE{!KApxjpLwig20hg47*=w097PRV02{q)NzP`T|g;?DJ$`S&k08zJ{A#!-2z5Q cM;IB_7c+hrXz%pi0yLSy)78&qol`;+0QLrH0ssI2 diff --git a/Resources/Textures/Clothing/Hands/Gloves/fingerlessinsuls.rsi/meta.json b/Resources/Textures/Clothing/Hands/Gloves/fingerlessinsuls.rsi/meta.json index 16c9e9e5e1..e2155c2760 100644 --- a/Resources/Textures/Clothing/Hands/Gloves/fingerlessinsuls.rsi/meta.json +++ b/Resources/Textures/Clothing/Hands/Gloves/fingerlessinsuls.rsi/meta.json @@ -1 +1,27 @@ -{"version": 1, "license": "CC-BY-SA-3.0", "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/4f6190e2895e09116663ef282d3ce1d8b35c032e", "size": {"x": 32, "y": 32}, "states": [{"name": "icon"}, {"name": "equipped-HAND", "directions": 4}, {"name": "inhand-left", "directions": 4}, {"name": "inhand-right", "directions": 4}]} +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/4f6190e2895e09116663ef282d3ce1d8b35c032e. Inhand sprites by SeamLesss (Github)", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-HAND", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} + diff --git a/Resources/Textures/Clothing/Hands/Gloves/forensic.rsi/inhand-left.png b/Resources/Textures/Clothing/Hands/Gloves/forensic.rsi/inhand-left.png index 32c0a01435c2ec9f8a7cae9b7eba12167d915c88..485c15c526702b87ee98ba0581baf8482b755311 100644 GIT binary patch literal 16598 zcmeI)KS%;`6bJBUR;J-_MG;P|%{BxLU7_eD$@OPxiD-#vDQswtmS}8B8d@r7Xl)8< zZ)|RemRf`;bi01<;N-vq(R)9Y_@12iivH2@J$_tcM7=-IsCeQy1P(k;s^Q764B^5?-43rO{tTyBWooa`;1PE#pmYB))vt; zS((L+<4D9bD;0GGHV8lf0uX=z1Rwwb2tWV=5P$##AOHafK%heb=TiMZr*YGfKOkCf zS~RUWOm}|sjP0GVZQF5P^gIQe%lYk9)cR`CC!k)h)9R^BT&&dN$~m0JxtuS(4N3;q zYBe{Gi>+3xYWy5J-n?BPcG)csTx?|r&oeupu{&A;y+V7j4 zNjtntPNXAKvOZ)%00IzzK;H@MFYg-OT7bSQ4h2B~0uX=z1Rwwb2tWV=5P$##AOHaf zK;ZuhNHs}Y2}#T&+9_@n+^wE|x8`YluoeTat*xV{A2hYZ+61vDz+EJvz7btL{U88| zwFzRaacLx6IV znYaR5N5`voH{R@M>OHIX;2nb{Q!#6V=2Fi~h2?jiOBd_a3fsu`&Cq=w;>l2EC38}F z{{q$>`F`KH>*W{>qR*YZyLJlGGd6E)R;i^TG3Uki)Yn}|+ZL&xzkbV1-sITct;qpL z_gk=4t6+C5J|7wXWcV_B;r?ZNr6qp#KR8gdpt8>NGR3dFDmiPhUrhrd>0v8|v0SG{#Q-R&vl~jE#K&Nfteh5GS0uX=z1Rwwb2tWV=5P$##AOHaf zK)_a@-3dwCn;jIo)sJ+hSentz`FU&SUiD+`Q+Dp<`T>=70J8jiU1|9=dnq52o15CfNZ~y=R literal 451 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9GG!XV7ZFl&wk0|R5J zr;B4q#hkaZ))pOd5OLdod*zCidloSr4ly>JI^F!?%ZkY^*GewP@-S@_YQ8O{75#2f zqrT?-i?e4=o_zLv%Jr|Q*D zseF6d?%N6K`~*lP-lKo}nM*TnM&$p#e^T$~-M{SHs~aLE UvBC2KFjg2mUHx3vIVCg!00;`VumAu6 diff --git a/Resources/Textures/Clothing/Hands/Gloves/forensic.rsi/meta.json b/Resources/Textures/Clothing/Hands/Gloves/forensic.rsi/meta.json index 615c803ae3..dd7bbef87d 100644 --- a/Resources/Textures/Clothing/Hands/Gloves/forensic.rsi/meta.json +++ b/Resources/Textures/Clothing/Hands/Gloves/forensic.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Taken from paradise station at https://github.com/ss220-space/Paradise/blob/e13af16eec39b663112e014901960c89fb09ef8b/icons/obj/clothing/gloves.dmi", + "copyright": "Taken from paradise station at https://github.com/ss220-space/Paradise/blob/e13af16eec39b663112e014901960c89fb09ef8b/icons/obj/clothing/gloves.dmi. Inhand sprites by SeamLesss (Github)", "size": { "x": 32, "y": 32 diff --git a/Resources/Textures/Clothing/Hands/Gloves/hop.rsi/inhand-left.png b/Resources/Textures/Clothing/Hands/Gloves/hop.rsi/inhand-left.png index 50f6b0bf38f72026aadea48f76fcebf66254d6cb..db9d5cdab770a3f96c1dfa4f9b6071c001c458e7 100644 GIT binary patch literal 16598 zcmeI)u}cC`90%~9S>9#16oJ){6rHF9qjjw7kid9 zq7WsclXE$bClV@(0H009U<00Izz00bZa0SG_<0uX=z1Rwx`76meikk#U)O7LZ2g~TRK&APA<0{U($nAtp>?7O)8u1 z=e0c{w*bR1tZ-QN$B^?l*KKSZhX4d1009X62&@+;wts5@fC2#sKmY;|fB*y_009U< z00Izz00bZa0SNq?fYc(X+l2pX9JhJY9apiYUpI)|Au*2VO7UrK)Kayk?*t%Gn;-_j zuj808RI3$Gv8L|?AW@qj2B3OP-w8mXHbJabpc8BQDrys)pquXN#G1Z}+JvTW7$-si n0uX>erv!FyclPbEQ~bXGLUTCr9%i+N`xlN&#?sNtsm0B2N7}qc literal 1141 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|_);T0(|mmy zw18|5AO?X;!IOa`XMsm#F;KxA5N2eb5_}h^^+;w&L`j6Nk5zJhu3lnFep0GlMQ#CD zmraEgkeQoWlBiITo0C^;Rbi_HR$&EXgM{^!6u?SKvTcNB$#pV*Pp+;%px|I)Re$>-#L_9fj~vtRXvvRLG`&5LX1`K-#m_~+N=rkU?ng-2US8~vL8 z>~)6erzsnIPkwslc+Ku`{F}g6@pD!$-5|E7=FBhS#x-YJiq=`A-@O_!dF%ZTGvg<1 zUEpyn|EqPx`x75FRFzM?uzqKxeSGD&)9K$|^hW*tCzDWgH~!}1WanvL-e>;0ed$*z z!}*WwStYx_+trM@b{D??U4MRN+HH$HQ;hO69&L=hEb;37<$de-|_EVZl2Qe%Z}&n$*PtbEp1!uzwM>`1kbH34%hCBr)6j6 z{(b&yx6OttZ<-kYZ2K3N#prEYRT*Qo)Yd9#ZGFQ3A5;IBtvn>gqL8?-{=ue0-tWBl zkEZ;M4ca<;?RTCfuiqEty^}QfE_6fJ?FB2N07GNF`vdNap^VcRs#7IES>Dst&t;uc GLK6Uyf3VR2 diff --git a/Resources/Textures/Clothing/Hands/Gloves/hop.rsi/inhand-right.png b/Resources/Textures/Clothing/Hands/Gloves/hop.rsi/inhand-right.png index 79447035348b73609aca01787261a96edace2a07..973b1cce98ccd1de5b24eb7efcce10d77e82d604 100644 GIT binary patch literal 16598 zcmeI)u}cC`90%~96?Q5vMr1YQXloESS|}=#R5Vmmw6z&FxHQz(5MpQQh*ZU0zE_(N_^G@V@a-Q71d++-`cQ@S+_vQDTiCC69e|h?JeNr+5az4(P((QBB96Qaj9p^nUUpt;hdaT{!E+!0SG_<0zD+~9+=)YY5{s^T9^t1AOHaf zKmY;|fB*y_009U<00Izz00g>8!0HRh|7Lb;9O;~P-p@-9B2MVkIHqrk+l6(re!!>$ zI4e&$`VP<*fEV=xMjgOZe3YDg9Bcu2Q9od(4xruLYaBDJ6)+k$Z@s7==vW;<^TcF+ ydr?1tIslm~gticX00eqkVEgv_RZK9?{|n&IL~F-KrPYN=jl0XG3#qHwwcS5==)C*@ literal 1145 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|_);T0(|mmy zw18|5AO?X;!IOa`XMsm#F;KxA5N2eb5_}h^^+;w&L`j6Nk5zJhu3lnFep0GlMQ#CD zmraEgkeQoWlBiITo0C^;Rbi_HR$&EXgM{^!6u?SKvTc`|bH3&)~f6-U<%7u`G+AMZ2WoukHXZK&u-Zc4a*v7=9zpGeB`js!SdB;LyrtW3;dQ~)QeZGCvwbSo*K1fSZpZz-X z*}QjR&SG&nX(bgK*SwkcEGGPlzOKopvnMudr2qU9*(hdJly{^_PdlZw&f;}f@U^+? z+Ik}P`r91I|0>z-VIm{6vC_Hupu+zBo*CD#$hd^h`*n0v{l`4=)8+_UArtebD|&Mo{cCnq%R>qV_g*Hd1k z^5sOY2|xS7;lcCy_m*E{|IHlLrg_<9nf{%`Rj+Hmco*(E_WtvSgVexQLoWVfd|bOO=D~#e1y>(m+7@kFv8HBD>yNZ2D>ME(L^2BeWj@XA zo8xS|C*sKR^1?fJ^rRWeezJRgvdL4+a<7fKR9~><7yFuhO4C^xB>x{Qy=5<8{FDEU z$Eo?}Jtbvd{{JXHAzs1eR@x8#2l78Ymn1j}Ff{&mdLaGo9`n*`D}q0Rvc0FPpUXO@ GgeCxeW}_eg diff --git a/Resources/Textures/Clothing/Hands/Gloves/hop.rsi/meta.json b/Resources/Textures/Clothing/Hands/Gloves/hop.rsi/meta.json index c79b379182..bb79cc4ae6 100644 --- a/Resources/Textures/Clothing/Hands/Gloves/hop.rsi/meta.json +++ b/Resources/Textures/Clothing/Hands/Gloves/hop.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Drawn by Ubaser", + "copyright": "Drawn by Ubaser. Inhand sprites by SeamLesss (Github)", "size": { "x": 32, "y": 32 diff --git a/Resources/Textures/Clothing/Hands/Gloves/janitor.rsi/inhand-left.png b/Resources/Textures/Clothing/Hands/Gloves/janitor.rsi/inhand-left.png index 21fe32a5c522a2cc3c6c6d5a7849c7cffaadbb0b..cce8c409b8d9578c5e97026ea005e14be70ce5f1 100644 GIT binary patch literal 16598 zcmeI4u}eZx6vof1c-9jk3L%=BT^nt9)f0V4uaE}YqN%o|pyrwy+9g_Q2^#tf5(gV| zZEUWsNl1d%JrAxpD7@@k75Oe)uUzi?&N;txb?_X#+6nS0XW1d5lwa^lYIS+e+UoW3 zsPe8B`=FTjs76(?lV{lnwKI2I*gGLgF7mYK=5|SKCQkjWT;g*&y^x;&C_jG_t&s1n z@19$h>(=Y)1O^Cz00@8p2!H?xfB*=900@8p2!H?xfB*=9z<>lA_f9zAqp=<{p+6PN za?C^R)=$ingB>%WFABhRX2?XA7#HiZzVr}RT+6f~XE|G&hi&V>4%e!76gca?yz%ek zV?4rF3d3+Uno>7`b+jhyONTG|5$I&7*(A=G#E5j19*>T`gs>?M&X`p8wT~t=wKi4| z009sHfr%vW1*xoRl<%a04{5DR!r3Ny93wnC3+LY0Cd;%wS&W0b#DUOABMfYHaPPp zYx=zmOY|m)-GEWl^gF!+g1rg7K*!$WTOjex9NVBeI0~D8@egM~00ck)1dI^4E0xMh bxXAwtAY`DCy>4Dsw*!{*bAk7?v48Okf$p&k literal 1287 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|_);T0(|mmy zw18|5AO?X;!IOa`XMsm#F$06fED&ZCw^H21z`&f984^(v;p=0SoS&h?X&sHg;q@=(~U%$M(T(8_%FTW^V-_X+1Qs2Nx-^fT8s6w~6 zGOr}DLN~8i8Da>`9GBGM~RsBTId_|A5Z7NlCUU$t=l91qU45Kj08_%qc+?1*r!G zK~5$pWUX=%^U`gVDs)p)(-KQ_N|fx%@^cciN^SHZYEbn;L{W{j(Z^!D4am<{kwK}& z`8lPaP`5KOGqC}O1d1pk{2@9bu3q+g>poTyK6e)E=l0G=_fob24 z%SIobkLGpvlKi(^OyP`8^+8Q`3%Cg>2+r`TY6P z)tgVB+kVdb?a^X1TQIo?{8a7u(i&yke(cM!z4rA}D{uOD-V56nE_%O< zH*|Xb$+-RVkN3Uz<++y-f5684+yD39_+Hf1@U=hrDWM(pY0piO3!f4f++F;n;-nh` gBa46okT}BmdKI;Vst0ML1*4*&oF diff --git a/Resources/Textures/Clothing/Hands/Gloves/janitor.rsi/inhand-right.png b/Resources/Textures/Clothing/Hands/Gloves/janitor.rsi/inhand-right.png index 98bf0b33b5bd5b32fa2c701a3ed1c23d4829e735..72de62d258af6c5252460da01d37ffc5c85be7c3 100644 GIT binary patch literal 16598 zcmeI)ze~eF6bJAZm8dC2@COtpT^w8;l@c|j4aF+r;wDbIDGEBfIk*>baw&-DUr;(I z4q{eEXT`nHBF1~wD20?HmnMzy4O~Mnm%H~qxpwFsJzXp1)7qp)L}{~Ntc$bGWk?mT zSG)T!;-qdD^9EI^Olsz^1MpUE~d(?nBb z8jBmpilXbanrMLo0uX=z1Rwwb2tWV=5P$##AOHafKmY;|=pb-+so5PaC8Am;zP=!l zH|rlkn#bN&CO+Q)tgC7Ru_qN|K#niyEbz>zT2@<$FU;2I{+WNLPWHiZG6K(r<(;My zI$G|`w&%Xf6D9gPz!vd2vHG0}o*w}gCCh3-CVd9{#wX%!#U1+b|8&5benq=Arffg| zDOTAWaUTRA009Vi3S{3$Zk@dVo{iA}0uX=z1Rwwb2tWV=5P$##AOHafKmY;|kP(P$ z^(d-wJl6@mP-NEUz4~;!9@RLZ0QjlIwSU0b2f$1BZa}hiQUDwTC*Rf8SRWbicnr~P z1Rq1UH{s-+HF;j2Z@(JNJDGg|ej<^Y0lnBi5ZOKeKT2+GcouMRyB1YlFUE{27xW7O p2tWV=p#&bS>xSr{$o~rvs-wS~A1Y^-zWVvfHD<14+$?RKd;tw!vV#Bs literal 1283 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|_);T0(|mmy zw18|5AO?X;!IOa`XMsm#F$06fED&ZCw^H21z`&f984^(v;p=0SoS&h?X&sHg;q@=(~U%$M(T(8_%FTW^V-_X+1Qs2Nx-^fT8s6w~6 zGOr}DLN~8i8Da>`9GBGM~RsBTId_|A5Z7NlCUU$t=l91qU45Kj08_%qc+?1*r!G zK~5$pWUX=%^U`gVDs)p)(-KQ_N|fx%@^cciN^SHZYEbn;L{W{j(Z^!D4am<{kwK}& z`8lPaP`5KOGqC}O1d1pk{2@9bu3q+g>poTyK6e)E=l0G=_fob24 z%SIobkLGpvNCi(^OydnP2eSB=b=aI%yc19Kf2L@CkK}*43_5JbKWs9HxOZ|N7&g|e@N}qOibZD|2 z)ZKSJ+jza>g}|k|`uu+0=FDTi5xXJiGmn7Y=NaW^`Bo$?Jgjup*Y)}FSF*MHx9oAR z4v)2=eGOU zz31OvyKY}&-kaYSS-)tWSy?VoI9IFo`*FUdHJx9=4@^Jt-Syb@wXfIhR(cZ6=;8ZWAWv66mvv4FO#q7-p4|Wd diff --git a/Resources/Textures/Clothing/Hands/Gloves/janitor.rsi/meta.json b/Resources/Textures/Clothing/Hands/Gloves/janitor.rsi/meta.json index 14008ae27b..96668939bc 100644 --- a/Resources/Textures/Clothing/Hands/Gloves/janitor.rsi/meta.json +++ b/Resources/Textures/Clothing/Hands/Gloves/janitor.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Drawn by Ubaser.", + "copyright": "Drawn by Ubaser. Inhand sprites by SeamLesss (Github)", "size": { "x": 32, "y": 32 diff --git a/Resources/Textures/Clothing/Hands/Gloves/latex.rsi/inhand-left.png b/Resources/Textures/Clothing/Hands/Gloves/latex.rsi/inhand-left.png index 5ec31202f101c65de7de1845def08669fe38bbf8..a662396eabbb2b8d64cbbb52f064d06ede9f1948 100644 GIT binary patch literal 16598 zcmeI)K}!Nb6bJCP1#2o^QZYJ7AD~OeE>3SVUL#znMi0dL_`rgYb~pDijOf< z{a$bGRMpAc$Ym^gq%$(Z`?FW7C%Bzm-6aY~`7r4GVnTHW_Uy%UpfMUBpQh)vg-fC& z+1A|3fnlUlrINY=4FV8=00bZa0SG_<0uX=z1Rwwb2tWV=5a?6ju2^jMIn>iI-SIso z(d(kOdR;4kj`$nU+ujxXH|$$)Lu-Wv_7)@t<8Y*H?t_Z^>aJQ|D9 zR5D5NM1l;}By$#B0hLOnlO!iA*_@l__|i=lpj__c$4ix;nndF`&eE@Z$Crq!Ee0=H z>Gyz+nA!jk7y=N000f3XU?zC@;_L+&hJ26%1Rwwb2tWV=5P$##AOHafKmY;|fB*#k ziGXyKs2kf~&C_lEuKhY{`fig+%p+PTb?SLeVbd*X$v&RP?bP0l+XkKKZQ>w diff --git a/Resources/Textures/Clothing/Hands/Gloves/latex.rsi/inhand-right.png b/Resources/Textures/Clothing/Hands/Gloves/latex.rsi/inhand-right.png index f9ea9a377af76d25f865013b47d84c8f3e8e43fe..f008e6163145e0df703dfe2082262fe08336ca8f 100644 GIT binary patch literal 16598 zcmeI4ze~eF6vtl_T5aiKTPjY`S)2tCsDX!o=|52KAz4b=yM#2U@I6RF-@Uu{eV@CV?veAAQZ5#mh!9cC$Y)l?JI&8X zNc`UK9(;&bXuFWh&2#$cJkUS@1V8`;KmY_l00ck)1V8`;KmY_l00ck)1iBD-ESK9|x(34B zcYUAr`alD4qi;xc>6q?MtEK85h#%{7x(hU!Ql2oLNYIq7Q!t2i z^lW(++~Gw3Nvp%u;0^*H00JPOPT=A_nv;j`X6mmsnmE>k_q>pBH^r9e~$6L3)>N zC!R(4T|eNa4!}-(r_J>a@VkD%O&vgIvUdMn0SKagpl@{mc2rbsd+Ba_Ubg`N delta 198 zcmccC$oPecyYZ^AP+!+?y)qqLD;|h@wv3o>AL0 zKifm<^<-uJL2W`yg`7<;KMpUC_SKP&wfy`BQTG);t?Sj}WpyyT=}czBmDYHCAaPG0 zDWXAg?9AMjWu?=ll6nUk1Rwwb2tWV=5P$##AOHafKmY;|fB*y_@JE5nsQQ7HVZp}y}l9xPw2n@6&A^T(3p#=3}NQ6ev2 zH`9NHmN)tfx$OE=M5;NrP9yz*ylUuVysGB+#?Fz2L0{Xr_5#E)akK1Rwwb2tWV=5P$##AOHafKmY;|_~!zqs>MI2 zEzyr?ozNSgWRcX%4BATcBMLA(POhn%eh`4f+61vuIoI^7ujXp{K>*&`0iCr8VgNiq zlQsPy0Ex8;Vz)peYWn`Q1OEPlu5vfdRDxkRyKqd`Uz>RCt{2+Ph8yK^TVNcSXerN<LzcX8+ka?M|^Dh=_=Yh=_=Yh=@eYFJb%= z=C|s1?0GIiJshL%jeDV3BqREt;_HxU?v zsYRkG(zVpuk)o(-xh!Vj009sH0T2KI5C8!X009sH0T2KI5C8!X009vAgFtFt`~cU* zhZ}t%C-HpNoy_)st{Z)}0WjU!asPvI;*s?^eG2+z4i*yBhz%3PqC_)evf06o8~PXm zKMl`SQe=vx0N8*Le5EEc7wkCeGa%UA4$>`9`ECYPdT(BLmJEeL=B2!KFO5-5J0zZ$gwJqZ9og8&GC00@8p2!H?xfB*=900@8p2!H?x zfI#O7IL*wuRn#dz(mbI|u-$~D%#LilQ-0b4z^md{{eV#iP)K^41GJSYx2{eQ^#i{t z@Gm0vZ>J8xs=L*_D*$ZB@A?5ZbpWjbw)VN&0_HrtIX`bT?&ZDNkJ-PMJ{;K!qJ98% t0FIUjlR*FkK;Sbai9PI delta 420 zcmV;V0bBmofdRY&kRyKqgGod|RCt{2+Ph8yK^TVNcM-%0N>mUN4ju|(VQ0ZT*m$iL zHWv0qufSkTOb|7=QBDCt#$q+7K~@ebW4@=`&CKMR**}?Le-IH75fKp)5fKsjB%j0N zbC|!*F{(lNgZ*Ca=e@xPCpde%m`nm5>j0RObDSSbIw8a4|L}j1&tbOH@YI3TMYz0! zOdKBSkXrV}6kRBkU>Xl%l>EWBiJM8t#(Rsk+7J#wwb`2t&}_rbIxt1mFi!qpG>gfk zp!)P|wCmclJ->*Eh=_=Yh=_=Yh*-kr{(-*z0e)=nA9!!5 zu(tOP^z*F>u)Tj^5Z?o^y??+@z;A%<{R4i!Rid`{4@?|{{=bXJfAj)r-VzZJ`qE~98^>vtx z{2^bJeNJk%K77s$Hcdu8E5OWbRLHnW#6`K3&pk#s10$N&iKE5R)iTXTrPusiE^g_% zD#oL#aPoW2bRW-p2fVl2okh}OIfrxdl+Qg_0p4D}z60p0aSV5kJD($4N(SBj+}{H- zGNqh6LLmSF2tZ&^1fDjI7o2AS24ziH2LvDh0SG_<0uX=z1Rwwb2tWV=5P$##{(%5@ zm*_h(jykM;LT8~ediqYbd&^OWwN+lJW-V%FQfJpR-Ak48H$6L`>j|q?y9?ZsXS)Na zr|+D+jGn$1A=M#l`Y2F+uQ@;MV*{WNFUKYIH8 xsQD+DC;|ZpKmY>W1kUP5^Y;6B`o93(=KbQmgY(UsVsW}jhZyNX>Uybk_z4Mqh3x?qcl>f<&A~=j7OP990Cds4GfG-EXa%k$Arjv^SK|k zFO02x->yBcLeTZx=j2s-+qCm@Hu5NR#azFhd;6aHi@J7~dne+1quC}LJ<9n)qH41t&i!lmnJY4{4(L$^Pgg&ebxsLQ03J|a_5c6? diff --git a/Resources/Textures/Clothing/Hands/Gloves/mercbattle.rsi/inhand-right.png b/Resources/Textures/Clothing/Hands/Gloves/mercbattle.rsi/inhand-right.png index f1c3af4ca2d69bdce0aaaaf559bc946cfc4aef3d..a0506ed93885f811f4fd449813c2e630cb3fbda9 100644 GIT binary patch literal 16598 zcmeI)F-yZh6bJB&O4UHR*amcRaM9VxL87FzX|YIgQ51@}I9bs_C&8_tlV89^6bBK9 z;36FyT>K2(ExK4#aH;o@gA5IqTuf8ppV9{IF85x3Njmf$tuL4JhCZP)#tf%mSNPtd z_ehF=UT^O<`7X6t%G<0%uk(k?Gu|>SWKLWj8KcKP>AT|JR9o}1?4-!yyj5m%qzUq9Dk4vH^ wpG3^aP?!J$5P$##;t-gs9e(q9OZ2}0e>DF^bM0%cesoLIIk~cZvsgX;0qA;y*8l(j delta 259 zcmccC$T*K_f=c~UPZ!6K3dXm$HVPgx;9(7L_MXZb(fIfH2`-%pT~dCn*5aE^HWpXv z)!O}h9yvFt%e8@lk%@&vK*0ft(b#t2abdmrw&k~9ovl1u<0uk4E&8SIyp?;O&zv|% zvw>r0?)pvZ&YxbxF;V-I>$!PT*;dF3O#c$|VfE(fuZ2qK=e-zvPJC;*@j2)172E7p zSgn9s`rr-IX1}iLd#a`~xuP;Nk8XeUr#fFkq3OEkn~ByBwHt2!mpoB&-Qd8)f08F0 gES$k^^wapj_;Iq`XC~Qq7Z`xR)78&qol`;+0QHS)MgRZ+ diff --git a/Resources/Textures/Clothing/Hands/Gloves/mercbattle.rsi/meta.json b/Resources/Textures/Clothing/Hands/Gloves/mercbattle.rsi/meta.json index d24811cb10..700c23f8a7 100644 --- a/Resources/Textures/Clothing/Hands/Gloves/mercbattle.rsi/meta.json +++ b/Resources/Textures/Clothing/Hands/Gloves/mercbattle.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "modified sprite from Jackal298 based on the sprite from tgstation at commit https://github.com/tgstation/tgstation/commit/4f6190e2895e09116663ef282d3ce1d8b35c032e and paradise station https://github.com/ParadiseSS13/Paradise/blob/master/icons/obj/clothing/gloves.dmi", + "copyright": "modified sprite from Jackal298 based on the sprite from tgstation at commit https://github.com/tgstation/tgstation/commit/4f6190e2895e09116663ef282d3ce1d8b35c032e and paradise station https://github.com/ParadiseSS13/Paradise/blob/master/icons/obj/clothing/gloves.dmi. Inhand sprites by SeamLesss (Github)", "size": { "x": 32, "y": 32 diff --git a/Resources/Textures/Clothing/Hands/Gloves/mercfingerless.rsi/inhand-left.png b/Resources/Textures/Clothing/Hands/Gloves/mercfingerless.rsi/inhand-left.png index 3e6dd319b4be307238f127fb06af36deddd1f32f..031a703895469ecc70438c16da680f8b0beea110 100644 GIT binary patch literal 16598 zcmeI)u}cC`90%}s6`BX-}O*Q`c1?gl3t>fxFMpwj6Qa zAIjA?cNaM>f00Izz00bZa0SG_<0uX=z1Rwwb2tWV=0R>8>v=eZsuVFIcFZjyr zvs14(@Yyq1HyQC+0k*aiLdIPpE{aR>x!V$Fz__Lj!_j2vZrS#$5;lH5pK^3v6)Oo< zc=5x=939X41bp@T!%5O)Ih%L!6n`#St!}dZ7;?v(3q(v30uX=z1RxMXplaU6ytM!! z!eA%_AOHafKmY;|fB*y_009U<00Izz00bcLHvw7I;@`92$irGF^(H8zrtifb-E-t& zEtOM2^YddcENk2L=v3u=rnLjQo^~3I=fEX-wkLpU`rgIMsOgU*q&!qcr>_F#AJ=Ev zF*X27^xrjoS!)xfp-ntLtD63-@=k=n2?#&{0uX?JWP#O_?uMJ9K>rKCl&agxpOq_} OZwhB+i^k(_>FNjlTXE3< literal 278 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=cRgJkLn;{G-ZJECHsE1!xV2SS z{)PCD|HeO@>?qcl>f<&A~=j7OP990Cds4GfG-EXa%k$Arjv^SK|k zFO02x->yBcLeTZx=j2s-+qCm@Hu5NR#azFhd;6aHi@J7~dne+1quC}LJ<9n)qH41t&i!lmnJY4{4(L$^Pgg&ebxsLQ03J|a_5c6? diff --git a/Resources/Textures/Clothing/Hands/Gloves/mercfingerless.rsi/inhand-right.png b/Resources/Textures/Clothing/Hands/Gloves/mercfingerless.rsi/inhand-right.png index f1c3af4ca2d69bdce0aaaaf559bc946cfc4aef3d..05819ee096275c472e0347cc504f275403e6ac49 100644 GIT binary patch literal 16598 zcmeI)JxIeq6bJB&N^1k@VjIw@tIp0+C8bS^RYXCzB7!)n=ui-cx(Pbz;OM3}I5-3s z>CnMNT*OTUM~gaG=o;@K*_z}M@=@WRk{;Y0_ul=Qc6mn+=c`3U9+MekieAzdc$=qt zIKkhqHn!h*lUS`3HD=Q5{O;m}_oTK;D?5y(TXakJo0n_6Gr6nJ7Lp%>+3aX;eed~& zu^iL2>BYJv<@3!ZpMeVk5P$##AOHafKmY;|fB*y_009U<00I!O5vbLsOq-#;==PJ} zfS1hM?XH*Uk%}@w`4Ix;8~D{|EcNvdpta%ulBbm~S_nV@0uX>e7y`?w z_kHUuKp5*|O$a~$0uX=z1Rwwb2tWV=5P$##AOHafK)`cl)-RdY3b1G#p+c$CVt(rL zPV3o?g%!uORBo3L_0y+9RawJunib3#odZzSzj((-x2`2{(Wt%v;y6EGodfv#>@tck zat=TQ!S`1n>hlAko&yk(>NO|ox_s2}dhHo~5P$##AOL}W5IB82d*yjl=zjqM%IEv3 SG}n^rH?*8ysA|_UwS!+`*>T?h delta 259 zcmccC$T*K_f=c~UPZ!6K3dXm$HVPgx;9(7L_MXZb(fIfH2`-%pT~dCn*5aE^HWpXv z)!O}h9yvFt%e8@lk%@&vK*0ft(b#t2abdmrw&k~9ovl1u<0uk4E&8SIyp?;O&zv|% zvw>r0?)pvZ&YxbxF;V-I>$!PT*;dF3O#c$|VfE(fuZ2qK=e-zvPJC;*@j2)172E7p zSgn9s`rr-IX1}iLd#a`~xuP;Nk8XeUr#fFkq3OEkn~ByBwHt2!mpoB&-Qd8)f08F0 gES$k^^wapj_;Iq`XC~Qq7Z`xR)78&qol`;+0QHS)MgRZ+ diff --git a/Resources/Textures/Clothing/Hands/Gloves/mercfingerless.rsi/meta.json b/Resources/Textures/Clothing/Hands/Gloves/mercfingerless.rsi/meta.json index 0399579abd..c7f9e741b8 100644 --- a/Resources/Textures/Clothing/Hands/Gloves/mercfingerless.rsi/meta.json +++ b/Resources/Textures/Clothing/Hands/Gloves/mercfingerless.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "modified sprite from Jackal298 based on the sprite from tgstation at commit https://github.com/tgstation/tgstation/commit/54ecdcc05bcaf335489938b1253a2a733ba12271 and paradise station https://github.com/ParadiseSS13/Paradise/blob/master/icons/obj/clothing/gloves.dmi", + "copyright": "modified sprite from Jackal298 based on the sprite from tgstation at commit https://github.com/tgstation/tgstation/commit/54ecdcc05bcaf335489938b1253a2a733ba12271 and paradise station https://github.com/ParadiseSS13/Paradise/blob/master/icons/obj/clothing/gloves.dmi. Inhand sprites by SeamLesss (Github)", "size": { "x": 32, "y": 32 diff --git a/Resources/Textures/Clothing/Hands/Gloves/nitrile.rsi/inhand-left.png b/Resources/Textures/Clothing/Hands/Gloves/nitrile.rsi/inhand-left.png index ee69fc8b33ff3a80a029dc0e02082733536847ee..3d31bb99507dcf5865a209186aff9c2dc4d4b988 100644 GIT binary patch literal 16598 zcmeI)ze~eF6bJB&LaNp3Vg>6WIJoH4rJGSwnoumFc5w0sE>0?Ta1wvu;N;*xpdcs? zF3wWKK^G?{2fGML!NtFz-YZ-QQc6tUHB!D;+6&3$-MvrK=^Z_u&1GWIL{tb7a~*q5 z_7=UnO!;}ezEzT)xth(`qC&5;yUSB~rhC&_+!mtmf!@aB#?_iU87a6k=}5UV9v>Vp z=Z{iCj0o4BTG%lR%PJP-2s8*l00Izz00bZa0SG_<0uX=z1Rwwb2tXj9K<50m67W`E zx9N!A;cI4}gT7v#eU1z^Oh7n>g+l8Ca?ie zqAGbEHT`;!9D5Vk0K%y0d-o1_=dXv=l5=6y^uw65C77550uX=z1R4o^&JX3~^(_4_ aK%;SgxRxj_tqdQ&J9LYi&e=E9%LhLZsfO49 delta 201 zcmV;)05<>DfdS+JkR*Qrb5ch_0Itp)=>Px#o=HSORCt{2+OZA7Fc3h|1F=l%tb^MO zkO?vY1JE);+N^*m86XmCn1+TrHj2f21AN)?b-oAy0001h4Z1YsmbyiCX~^ftE0;cO zt!_lbu~eu_L+-~Z)@3f0{IV`{^y9SeNoa8bPNjqQ%M{Ps^-w{w`RVQVURBGTw94><6`>(zgBx6p$Rqj2Aa^N;eRg=0NcF*w$Dl~?><_E00000NkvXXu0mjf DtsYsR diff --git a/Resources/Textures/Clothing/Hands/Gloves/nitrile.rsi/inhand-right.png b/Resources/Textures/Clothing/Hands/Gloves/nitrile.rsi/inhand-right.png index 0ea62041f0bb17703443d799abcf7f41dacd94bf..6ad4da839e23c1cb50e2224641bf41f2315c2018 100644 GIT binary patch literal 16598 zcmeI)KS%;m90%}s6bgEQ zdcIs@Y>=5oGQXv1iA1Ght-u2U5P$##AOHafKmY;|fB*y_009U<00Izj5lA1Gt1hS7 z;;>A<4ll{yAMd>^_kFEQK4AdTjm9T^zbG#aDWBK7fC~^SY*(phptp|=3=Mn9#1kxQh=$+-L`Gt@TCaE4wa@MN!I{sQTRAJ;PNKJz zax=vO|0%2DrQ+)lfB*y_;4W}DUOch)0=Tcj83;fC0uX=z1Rwwb2tWV=5P$##AOHaf zKtMsj>tt58RkQkV=Y+h#GV^&}&3fmX)u*doGtp!A2;Gk@6toW@@;9MXotFY|&f%T&d69;)Yn*+Y{blPZ zf3FoY`BwB)hC%@dKmY;|Xof)Pl08^;v-E!f8dQHzUyRRvOdL=-GnF$grWSU70SYLI A0RR91 delta 205 zcmV;;05bp9fdS|NkR*Qrb5ch_0Itp)=>Px#qDe$SRCt{2+OZA7Fc1Y$gIFeY)*)>M z$OM^y0caT^ZB{^(3=oMmOqI?O7Q(`b-m5L^+q&+42mk;8000S1*T;Wn$WbI`)AjNE zc*WX3;hUVt+=I(Jg?1RLorI?AV>^stnWr+B?{xxBIftIN>mfyiQ1#a5fD600000NkvXX Hu0mjfDydg| diff --git a/Resources/Textures/Clothing/Hands/Gloves/nitrile.rsi/meta.json b/Resources/Textures/Clothing/Hands/Gloves/nitrile.rsi/meta.json index 88e3ebd509..c8396d7835 100644 --- a/Resources/Textures/Clothing/Hands/Gloves/nitrile.rsi/meta.json +++ b/Resources/Textures/Clothing/Hands/Gloves/nitrile.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/4f6190e2895e09116663ef282d3ce1d8b35c032e", + "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/4f6190e2895e09116663ef282d3ce1d8b35c032e. Inhand sprites by SeamLesss (Github)", "size": { "x": 32, "y": 32 diff --git a/Resources/Textures/Clothing/Hands/Gloves/northstar.rsi/meta.json b/Resources/Textures/Clothing/Hands/Gloves/northstar.rsi/meta.json index f2957ffbb2..3d3bd865ea 100644 --- a/Resources/Textures/Clothing/Hands/Gloves/northstar.rsi/meta.json +++ b/Resources/Textures/Clothing/Hands/Gloves/northstar.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/pull/37864/commits/efdef3f1f997d1c0575c36cd31a5db575d1df0ca#diff-a4eb7c89f7231f0aaf0c2f69d730dea56383019f2aa5c6a1d91a82c781b528e6. Modified by hercoyote23 (github) for SS14", + "copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/pull/37864/commits/efdef3f1f997d1c0575c36cd31a5db575d1df0ca#diff-a4eb7c89f7231f0aaf0c2f69d730dea56383019f2aa5c6a1d91a82c781b528e6. Modified by hercoyote23 (github) for SS14, inhand sprites by SeamLesss (Github)", "size": { "x": 32, "y": 32 diff --git a/Resources/Textures/Clothing/Hands/Gloves/powerglove.rsi/inhand-left.png b/Resources/Textures/Clothing/Hands/Gloves/powerglove.rsi/inhand-left.png index 0b1a1d99d68eebd12dc5475052808dd38839150e..5d93e40b2eb3d54a65e867e2e3fa0733085dd028 100644 GIT binary patch literal 16598 zcmeI)u}cC`90%~RX)|3L^9 zM1wR`Q`8heG(@!25ZC<#<&Z;6e@{)mPtL=;d*Ao`+&TRo?#(5QfIs9XqJSCK=k0xj zH=oyjKUv#+vUlF)grSqguk_i`zI~*9Bfhvr)N#R^cC~)IY9DOdHfLjPubyDA%M<>b z86@f_Q=eYg(X>b;ld-Qrg8&2|009U<00Izz00bZa0SG_<0uX=z1S%AWhErCBUCZjG zBEO}qk(>A;QGnioZc=fV*q?JbU%ItQ29A&P@~vff_a>Gt7Vt2TdhXvzwPI*GqL z=clU;Eb1=`kiCD-O_Il80I8P$@|-W-M1KO=%e%t-_^wGbXO1&pB3nrYKeD_@hO5Yw zoFB3v009UYnC1Tg?EW`2M93N?MV2}>X2wF7yCN{h3iYXwx+ z^xg0z)+UHO0rjZqJJ$|4$9Kc3$+3FW^y@KZO)xPC1Rwwb2$T{Sd;Hq<$J*+WiGZ!F4YH delta 439 zcmV;o0Z9JVfdS70kRyKqmPtfGRCt{2+C59dKmf+^e?%M{M5$7wwL?`Ld>aaaAT4wh zp&!8S;P>#;i0CE=l{kn52csBjOD%1|LERi&;viP*;>+D>)#tZdmgjQ01w-?)lz9@c=T z#b>f9=BM)?dXuL4&+4}|(eoS2&87*?Hc1S$Xw)E+P0^^eoaevF%4gNR_-1De{1AYF zQAnp30BF}Ej*s^|n|Tw)N8t5OYHQ~RfZ(hNzjK+}<@E-q--BLEJ|y9|#dsYK_UhcL~XvhouQ{E*zr9DyHl zS~=+YJgb+HH<=&W{1I^7AL#iFaNQs1`3-=7 h&>t|R{(y*l)g$YbPTcy3dHetX002ovPDHLkV1jbQ-X8z} diff --git a/Resources/Textures/Clothing/Hands/Gloves/powerglove.rsi/inhand-right.png b/Resources/Textures/Clothing/Hands/Gloves/powerglove.rsi/inhand-right.png index 1c6d24a4e44fe1f49f9b6cd3f114c2592130835d..a28d67e85e7045488aa466ad149699df37909581 100644 GIT binary patch literal 16598 zcmeI)!ArtW90%~1s}kgyUf%is%`&VD6K= zg#zaL#rEEdxeIJ%HI)p0m9NiAX3yYmW__P%_?9>2e&@Vsb_Nghm2~ie1A)|1-e_>BBf6dB z*Vhr5`EZcCk)1bS56X`Rq%!rk(_mH@n5KOoit=$htgz0wf?7bC^wMQOU-SDfQ8!tYOr+$`EQ zwN{|sq@1@!gDJYb-x%@_xj$g@ThI009U< kz$<}bVQkclmF52ha4F`=ac*W|Hq)$ delta 437 zcmV;m0ZRVXfdS0}kRyKqlu1NERCt{2+PzA{P#DJXe~NT)5T%tOsTrcu!LOkp2%_L9 zf*0UDcpqMk6y1bEr4Ay&!6=4m(P9M$b#riugS6C-Hnqi?1J7?shV#OcaB`MBAR;0n zA|fIpA|kEU*S5m{&d`sj{8pzy$F%{dRqGT>g|=(ssN4LBp9X)ockaTcx6S6T^_t)MK78N2dSxGgWE!&B1pppy z15Qs5WA!=olRwdVNbK#O0N`ER1MnI?GMO7|4lgY&^88X`V>3PnW54+m#Ztj?TpO?K z)3^e7WuKetzzTn^u6Vc&05~okFgl*05?sdSCG?v=(O8^cnZqmloL7!MZSR}wz#7jC zz-7hrmSAWBz)%(KyRZ7ry_QrJD)Hy+_TogZ@$Dp*_lSabyty8>FE{i`Pez-Md*0haq3*Hl zaAcflkThj(Y2W3FMsqp+3KR%H00Izz00bZa0SG_<0uX=z1Rwwb2tc4tf!ORqsm`V~ zHM1jrTTMN;@I|5k14F%J$5Uc|j?3|-izvXvXdm?-pVG?KTPZR!Bl0?M9AoetU%GTi z2F$+{Xp+t;|5=a>OZ?<{@El*dh|Ylg{j+(0p>UUZ+{l47jx~NGF>P(jQ&wvF8#ii4 zOd~e-5P$##AkdNmQ%8?kV=X{S4iJNa00bZa0SG_<0uX=z1Rwwb2tWV=5P-nn6tF8> zTs~Tfenj(x^+;38HHS?9Ay`0+m>s zAT|S)+q7#cYdqw_CMWZGySyc^p}i+FtAZ` zzV;FOnf3k8vmVu~6IgES$*?NC^qcol|GTG6{s-D_Q?EbsoaEhr9USD5P=RJ*He=6@~i`Ju-jozHq}_`#Xsmz%=W zS?mi6WeaQeJimEnwt*ef`ud>T*6s`}>81?t9;-dR?ELnqzMfve^;Mg8eVb%>cDB*I zhQC1}U;cRe_4`xZ9dK~s ze!?yJf@}N*XT$0bRM{Uez5SOl`!B=wn6K=0M+FOR%D>S2rTk!*{e`d65R&2l0{aB7 ezl?%ESFyVodHwd?v)7OT2s~Z=T-G@yGywqk9MA*+ diff --git a/Resources/Textures/Clothing/Hands/Gloves/powerglove.rsi/on-inhand-right.png b/Resources/Textures/Clothing/Hands/Gloves/powerglove.rsi/on-inhand-right.png index a9cda6039b6d0eaa6e955d5e9a061382573bfea4..de36d0b76d00ae1d8b54fd3cda7e0552709ecaf6 100644 GIT binary patch literal 16598 zcmeI)KS%;m90%}sY5oI)AREjgqNd2jp{-0#&O_3Of}+8SmX`idL$jMpOSFp)ML}a* z2o==gRM8LwK?Kpz;8N4|UZ5PJJU!1l#jkSS`R?xb``yR8>Gv=-7n9sBuZs}kmLuXk zT?g6Xu+h)6&D~eJvaLrYktpn)zB)OgBhH=3@*W{QH*68^wofe6@k!nT&c3F zC5E-s*VPi0n^;8608DpiWWdBy`Keib_1*QS-4K8P1Rwwb2tWV= z5P$##AOHafKmY;|XtF@Poms8rG%F9cPpGxvb~&#h03+uQ6z2iRlB8?DQWF4cMy_nV zDT9Z{rPg$_e{t3VX9&MP4x(q%wx+oPl`hWc`2$+!0aU8Hd`#0Fpzgz~`}5_&_57~R zqt35qj=Ex*(UUhLXI&^b7y=N000fK@n7q6{r@5l+e*tvLnY1k~h3$SP3nzzT;zejR F`3H+Ddw>7{ delta 434 zcmV;j0ZsnafdR?`kRyKqkx4{BRCt{2+PzA{P#DJXe~LIbh@w&?HA7T7_%##+K`JNS7jtHFP5uNF=&?Y4#;*Jfch zYs60YZvKJxLC3Yp%%$-5c6hkG1Hf@@s&Dsk_S5{*^JK00ze)m0ASgz7lYD zmXFov&`2R_F1GJ{P6qcia1>99R>{A^h_^ z^~VOuu~CM{Cn*J2fBU3e{CfV(N;aIHNrxZrO<{U|5fKp)5fKp)5fPENFugzUwD@5bZd>b$2>m9WiI<%Lwp-=zhWNh|q?tO!3 zn(WL{@yIYzsfP!(0|Nv=00ck)1V8`;KmY_l00ck)1V8`;KmY_lz#{?EG&>%Tx;myq z-{;D*%T3?yw#%K~w&~Cp1uzzg&|)&FB@0-W^`%EZQZPO-L3H;>oT~h`o~u=3P<;;E z=l4_i>6PN8;-GTB&WmQiSG`UNYIU9cWodu~4xV*cUwVjUK%?2DR;fg!9QCPZiNSB5 ztQ56Wb~S1>2}!*gm4L6aO{!cYI9QK$1tlQ`0w4eaAn?Bl9M3G6PA|a!jug>>00@8p z2!H?xfB*=900@8p2!H?xfB*=9z@H+Zqo&_4KnXjdg;K{!9W{MNyLXnbBMQK_td6dl zesAE;vqW!#7yu5OE5&2gH|q8bI9_U;*$&&|zXIF$VoD4E8`oLW?-!gzZ-Q8_z%Xk1 zI(ifOfp)z%jGDfV-UQbHVh?X&sHg;q@=(~U%$M(T(8_%FTW^V-_X+1Qs2Nx-^fT8s6w~6 zGOr}DLN~8i8Da>`9GBGM~RsBTId_|A5Z7NlCUU$t=l91qU45Kj08_%qc+?1*r!G zK~5$pWUX=%^U`gVDs)p)(-KQ_N|fv}^D+|iQgm}t(@JdgAqr6qfQX`+Yom|F2{s^) zTSW$?7U$=bf`Z=8$jrnB92_X3h)96wh`_1?SrlDIKt_H^J}^-gWhQ&(m82FG6af<$ z#73xnxK*H=g|Iv{FSEqX2x5ipy*@pN$vsbGA2>nvxpfds>a2(RwhJDk;DSjDbeog)15 z7 zFPa`deNVhDi+%L=;@Bb5Qc}3pz_rK4VC}E*keG192b-rLt|)++E}5%!pg$V+CN|?v9K~R7K#QU zCj0~wD;g7QOe9d?xnn{?19y8K93k(LyS?nr&A#*OUNsZWH*-qB8}$-VK+UAKM4#Ym z-XreU2S@Ls^Xz7o6lwgse7L$0BMXO_?GjP2%9o>FEboiKxnp%BJ@?^?M1o6S%K978 zBB`m>{E5SnNK`7q0u2N}00ck)1V8`;KmY_l00ck)1V8`;KmY_lUG`vDp7pU#)@!uso&er`QWDe^blc6QQNOm> zwL2Z^779cHgi}0Q*7k_BlG`cuZCSRsq$AeJdL>_jIS7CN2!OzB5qP|ft@UdGW-Bs8 z0|Fob0w4eaAOHd&00JNY0w4eaAOHd&00L7(z)XJLjQDY_V<=HNO0b#y{3w6J=Ek+o zzW_|KexP3mpel-`IY3hYIB-6a{#t|n^7F&C&BAeBhu7n5uxvrZC>f>zu)|5$516R~ z7!`PbPPbN|Z#dZ7Q9m%YI)K5zWS;G)A3z;|%nrd81V8`;W|}~#QM?lYX8C^sEDH4d Tw3u9eDc9MZn$D$ek~?R=YXz7+ literal 1264 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|_);T0(|mmy zw18|5AO?X;!IOa`XMsm#F$06fED&ZCw^H21z`$IR84^(v;p=0SoS&h?X&sHg;q@=(~U%$M(T(8_%FTW^V-_X+1Qs2Nx-^fT8s6w~6 zGOr}DLN~8i8Da>`9GBGM~RsBTId_|A5Z7NlCUU$t=l91qU45Kj08_%qc+?1*r!G zK~5$pWUX=%^U`gVDs)p)(-KQ_N|fv}^D+|iQgm}t(@JdgAqr6qfQX`+Yom|F2{s^) zTSW$?7U$=bf`Z=8$jrnB92_X3h)96wh`_1?SrlDIKt_H^J}^-gWhQ&(m82FG6af<$ z#73xnxK*H=g|Iv{FSEqX2x5ipzm_H=O!sbGA2Ya{O=1A*3u#!fCbkF2d0W9Zbp(eQLr zm-)sOJmE_^gDjQ{Z#tT<>AL30r$0yUMz%CEFmWg}U=nXQj!3*dS5hAAUOX=vOv*Wb5b#1zd`9v;de%%XO~;vJs!Md*_2lt)(*v4apf)7pT>MG z(ti_C(9+X)dZ`F@E8y1J3%}SKd5h`d9l85ro4-8TZd$d&oH^si*E0v+-k$wF(Qq11 zT0{1^P4lE8pUCRS%m0)8_3`k3Co!DSwskUaWG*KIRbMn33a@8BPl%?; z)E8EdJswRf7Ofc=5P$##AOHafKmY;|fB*y_009U<00IzzfJ1>qBGGbqsjbUY{?;T0=Wrh9 za{j;%e*C5XTC2z$cu3qJ1Rwwb2)GfL7;aSBdjZ_!;93Yk00Izz00bZa0SG_<0uX=z z1Rwwb2teRZ0@7Wg--=7r5$zMUZ&XE3zn$HAl&B*LU>ZhCRZqWj;qA{7dlSR}c;Vd1 ztu)KTdj|eva2>A4zY1L6Nlh^TF0Qht-)nIadlSR}`q9%@u{WU?wC!{K=;`;Prfm>R pga8B}00C73vsZ;BD?82q7eJ`S&E`RJ=5g+sf1K`V03|l#;28f z`)B?yycQ+dqrhMw;n)@~kiAwSdEXbM*w6P1C5jB{lY6G5cHTbD^_R1tD8)6qS5-^J zlWDDK-*WDq_U&C0?;mqq(b!f#;du(9pkqB#%IA;2;>_e9KYSy_aA9_&#dEv0DcApO zYpU^lKBwaS#ATZE^ztXfu2Flxmz_bxbz|MO+-MVD=A|O9c7-W^ie7_bH!TU@Uy&SKO(l+USN&9K=hh_2l8YM^945Be^4(wu>S>r$d# TSWO~VFaUw4tDnm{r-UW|UW}=) diff --git a/Resources/Textures/Clothing/Hands/Gloves/spaceninja.rsi/green-inhand-right.png b/Resources/Textures/Clothing/Hands/Gloves/spaceninja.rsi/green-inhand-right.png index 6ba96d5664c63ffb2b83d30d63d1444bd3da4a88..533109dc9cd4ef8751d8e9415a7bd143691ebdf3 100644 GIT binary patch literal 16598 zcmeI4F-yZh6vtm$X|=V2*ivv1UHt+sl}1TPL$!zqqAo>T#6fEv9GnCPH^DE^O>uB{ zkSZmX!L3;jrBssoiW$x?x zL_AJUA9uu$0^f#ettMFsvULOa@W}$vd$Vcf&)0R<$2wWB-DU}ZfBmG9b!e1{K3grj zetofHeXNu9vhIO3zEV!!umcky;OIYT6*v}5K>!3m00hJc)aNcv%vu1kov;Q05C8!X z009sH0T2KI5C8!X009sH0T2KI5U@$WtL%|maV+zMRvet<=dFBpT6Zf>UjV$UA290x zG*uO<1?U9x_nadDd~m*!uk9Lfe%_15aX21lgGCD>dg*fnfE{{WKj5Sepx438HAeva zs2^~x4!|TKI`SjHU36bR_I||dM=$n*00@8p2)IVzZK^n9IM4C_0t_ff>EST5p4vNO NcUmT|+%6VQe*kn9nIQlG delta 386 zcmccC$T*vMf^t1$lBbJfNX4ADw`~0m8%VG{xE^{mWLd;2ozjk$Cps^$tek9q<1%;2 zV+LCmVfF`1IS(1`N=!`nJjpM0p|{(SUxqHafvjJ`1rGoA>3b5fzJ3bNKL#ZjSY+xs z=|q0I#gTJA=N4a*c4Amy-olfoaL#h$HMWfcyPxD=m#<&5_0s$AA3sc5Y|VDgZ%)Qq zL-#(7t_53d!ZFvTfQq}PJ8{Yk#A zwN&zgt#0X$9_&5-$EM0XP{eCV)Eb-fp^?)rL>-p6JmVy@`>FXVofgki_U5jg`YU|P z%KDZIpM?bxp!MPXyW3jg>;tafyYtlf#aHI}nYr(RIQP~)(2jl^0_5Mn`HBT7Um&ul eUR~)|^F2mx4bFt9qmw-tfWXt$&t;ucLK6TOQMSAQ diff --git a/Resources/Textures/Clothing/Hands/Gloves/spaceninja.rsi/inhand-left.png b/Resources/Textures/Clothing/Hands/Gloves/spaceninja.rsi/inhand-left.png index 8f8953d6350a9eaafc02aae11628dea79f4f41c6..66574d2b292427a3742762e0ae27803c0d8e6235 100644 GIT binary patch literal 16598 zcmeI)u}cC`90%~98d{nz=@JdmR?vT-c!hEvl1M}l4n?>$RaDU2)*S6EQZ%$TgoT1M z*A^LV1x64NQkdOO5Cjb_@AuN-`{X=1-hF@fK6kpjhx_T2?)Q#*iO6pxV)N!+<89Dw zzMrmbmd%}eHL1s_&ab13;{)@^&_-fuizraw%~4uE$(jc}+s0hn^Xv+RyknDJPuE1_ zWW;6`b{!5)%jeA=Xb^w^1Rwwb2tWV=5P$##AOHafKmY;|fIyc5(P*^Z<*AlVQ<3kq zRM}#u?^?}b&+fXZ$QK0|_W39h4l8*IIG6LK+kj-?NH9n@Z|B61D&MU_vFNay&jWY5 zTy+0=MOrXpH?Hk`(I?=gQXy?3)415SN;VEO25;tazH}1>_^4LtvYeyofKGhZBpT;% z9_Mm?-#32zrGKqeWcEEIE)W6`fB*#S2s|Dxzc$wb*vY}U5P$##AOHafKmY;|fB*y_ z009U<00Izzz@G%9XNi6*E>TBxp0IhLD(3W?*{yqtI-&rEuGdw~>9-EN`B`FZf*1e~ zoM&<$YDMBT1OL&u4%g$a0@v@RrWgPhS2?HOX>by26T|>|F{iI$Z9*q#%g1^#r{9a3 smO;=F0uX=z1XKx31#U}bc9Q=WK&VFceJ8hg7fExR5l_X=W>@xp03k-7MgRZ+ delta 178 zcmV;j08RhafdS0{kR*SUNklg_fpEx-?bL7(uh)B`4=0NkmJygtRnORL~~0H8-?HQc^UuH-v>k ze?Uu1HV3vegal^y3l198yLakc!S~7Y!F#{=`+eWXcenh0c(|0+!ol$%5ry@%x@?RJ z_hG;BeYLS&GX{S?qp8&5&*|;Okufu}m0sN;id48u51W_k#$;euUrYsFpb0OsTI)@Uf?`k_PuvOd-+vS-N3m>v3LnVvuINr~pH%spKn zi$>}3{f78a;M-8CRwXMzwr;@B;iq!+R+{zveDvo8I(29eT{JfRVcI$(R(-QzU>j%s_ z0A16BY6058{5|Ig03V#M!3m00ag`pzxGGH=Jkqe*yXwBssQMD$ItC N*`1!ss@KW2gKu delta 187 zcmV;s07U=RfdSS5kR*SdNklOz4tvcw=u@lxpIJ` zY-VoL)BV74Ijyy+bEN=h%3kI8Q?H%_000000092UsxQSe%C9rSukNxl@X6@_5$o>^ pRD2a+^__u=(*f?ZGXMa*^#oHqKHCeptw{g?002ovPDHLkV1n7{Ro4Ij diff --git a/Resources/Textures/Clothing/Hands/Gloves/spaceninja.rsi/meta.json b/Resources/Textures/Clothing/Hands/Gloves/spaceninja.rsi/meta.json index ca6ed489fe..cd85a5be23 100644 --- a/Resources/Textures/Clothing/Hands/Gloves/spaceninja.rsi/meta.json +++ b/Resources/Textures/Clothing/Hands/Gloves/spaceninja.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/4f6190e2895e09116663ef282d3ce1d8b35c032e", + "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/4f6190e2895e09116663ef282d3ce1d8b35c032e. Inhand sprites by SeamLesss (Github)", "size": { "x": 32, "y": 32 diff --git a/Resources/Textures/Clothing/Hands/Gloves/spaceninja.rsi/red-inhand-left.png b/Resources/Textures/Clothing/Hands/Gloves/spaceninja.rsi/red-inhand-left.png index e1c882d64b11d3f38ecb2beda9c5121da6ed1e75..040af95609943d4b586350a0dbf7396cd38dc309 100644 GIT binary patch literal 16598 zcmeI)KS%;m90%~Xbakkpqd*> zLZPvtrl3C%5rHiYA%WTb0zuH=@_sKJzE94R84P6WI?ULpz@$=HOs z*Lmx7neT^li}&WvHIqujsKT$kv;A%Jh-V?0St9Dn^QK+SAIzEu-OI*k-2Lhdh5UV) z?AjAiFB!3+$*iX7dM;=7K!X4TAOHafKmY;|fB*y_009U<00Izz00f#8h(@E8CQr3= znu>gfrOFmNeU-}=dp6fiMZPG2-{+&jNJPm~z`2|+-8v)#yMsZxem^CCRQYb@3kA(? zJ`ddCbkg1D1?j;lyK!~ri#`Ew#Uia-g?}!#u9A%dJb2FKeCZ|%@KGw!R{t%Xyu^v` znndFq&f{FpZ~MlNzx1!Qip;i$#05eC0uX?J9f6VY=X7-~fSnwi3jqi~00Izz00bZa z0SG_<0uX=z1Rwwb2>eMvdY0(7;u3X4=LxG9s$x#Rnq9k>s3QtsBoY->bNaOduYQ(T zn;-_j1Lv9ChjM{<&A@*&uEX{CtHAY}sVN4)#Z}JfHyWJ8+5|CxR?O+ESewuY+VZhh x%;~qHrezRxga8B}00C73yEo@YW_F7I7eJ^+G`#BB7}$B_I3u2p9S={he*@)WqZ|ML delta 383 zcmccC$T)*}f^t1$yr+v}NX4ADxAgs)4JFtnlsstpNV0v+>;!wf^(f)zqxaBu8lvMcc%W}nyo=1tncKsd9u0}8ZX+) z_R4URPV+UX=lm18pLco%?(fTxEvT>1^1sQV)a00J_)5IHd~qFP`D;do!^zE?boReV z$@sf#(Vvr>bdFZ@C-baZUcJNW7CS?Q{rr;cw_|H=Z_`cNEIB18W0u>|75surneVBs z-+JunLGC@@Ep|#SF3*%wHM+lM)vA!&+b%>MmiV0bY2jCC#q-65=T1IP&tAL7{^<0% zFBX1vK>}aoTkeRdo@8GlW^6BDDnB8r>(7B}B@V0p97u~b)SqZ%zd=;?gZd}tg)`(8 bl)N5@3Z{!*&QXY#W&i?DS3j3^P6vqNI2!NCI z1C2TWO;v?z0h+=5J!c63ADpjbsa7P;&pXjL4#(qcuxLRIZDA189&C9r+R9F1oK1dpBZsq8EEX00ck)1Z*R4vX?v6ou~PK0lE|6uHGfV!GhA;=7;P;>nl zATaDZAowbsgAXuA5EVPqxgnUTCIs^$7RIuat@{(`k>{t{=6ZSV`lc0q0U{zIA|fIp zA|j#{aU9EEXV}NO{H>~s&N=DyAOO(mL9V6(=bTt;gV=~|^0$ANPpq|)Bnh5gGYoQz zp);bj2J$hYD1z1+*DsKp_lf$g#cX4j{EG^BKE0H;XaW(zAh#Ixlf}fNeggOC0RY2u zgEUPWR|&i3R{)Tvsd(>UjKTf%2zO`4008gjH+8$+#bjk!Vm6yWDTSga8c_-Rh=_=Yh=_=Yh=?c*A^&Zu><`!^^!|Zm?af2Jh2B3 Date: Wed, 16 Apr 2025 22:16:44 +0000 Subject: [PATCH 07/20] Automatic changelog update --- Resources/Changelog/Changelog.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 6a3514005c..602f3615df 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: yuitop - changes: - - message: Anchoring now has higher priority over stashing. - type: Tweak - id: 7704 - time: '2024-12-13T23:00:46.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/31779 - author: Nimfar11 changes: - message: Changes the colour of the Borg binary channel to a different shade of @@ -3910,3 +3903,10 @@ id: 8203 time: '2025-04-16T21:14:05.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/35918 +- author: Seam_Less + changes: + - message: Standardized the In-Hand Sprites for all gloves + type: Tweak + id: 8204 + time: '2025-04-16T22:15:38.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/35997 From a23b5fb50296f7bf1e50337666b0a2e4fdd22f5f Mon Sep 17 00:00:00 2001 From: Errant <35878406+Errant-4@users.noreply.github.com> Date: Thu, 17 Apr 2025 00:59:36 +0200 Subject: [PATCH 08/20] add subtype to admin notice (#36640) --- Content.Server/Administration/Logs/AdminLogManager.cs | 7 ++++++- Resources/Locale/en-US/administration/admin-alerts.ftl | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/Content.Server/Administration/Logs/AdminLogManager.cs b/Content.Server/Administration/Logs/AdminLogManager.cs index 0df177347a..1d6ff13a5a 100644 --- a/Content.Server/Administration/Logs/AdminLogManager.cs +++ b/Content.Server/Administration/Logs/AdminLogManager.cs @@ -330,7 +330,12 @@ public sealed partial class AdminLogManager : SharedAdminLogManager, IAdminLogMa var cachedInfo = adminSys.GetCachedPlayerInfo(new NetUserId(id)); if (cachedInfo != null && cachedInfo.Antag) { - logMessage += " [ANTAG: " + cachedInfo.CharacterName + "]"; + var subtype = Loc.GetString(cachedInfo.Subtype ?? cachedInfo.RoleProto.Name); + logMessage = Loc.GetString( + "admin-alert-antag-label", + ("message", logMessage), + ("name", cachedInfo.CharacterName), + ("subtype", subtype)); } } diff --git a/Resources/Locale/en-US/administration/admin-alerts.ftl b/Resources/Locale/en-US/administration/admin-alerts.ftl index dd6ea2d892..931c3766a7 100644 --- a/Resources/Locale/en-US/administration/admin-alerts.ftl +++ b/Resources/Locale/en-US/administration/admin-alerts.ftl @@ -1,3 +1,4 @@ admin-alert-shared-connection = {$player} is sharing a connection with {$otherCount} connected player(s): {$otherList} admin-alert-ipintel-blocked = {$player} was rejected from joining due to their IP having a {TOSTRING($percent, "P2")} confidence of being a VPN/Datacenter. admin-alert-ipintel-warning = {$player} IP has a {TOSTRING($percent, "P2")} confidence of being a VPN/Datacenter. Please watch them. +admin-alert-antag-label = {$message} [ANTAG: {$name}, {$subtype}] From a0672a2ad741264b66df08a7ede2348b7a353a72 Mon Sep 17 00:00:00 2001 From: PJBot Date: Wed, 16 Apr 2025 23:00:43 +0000 Subject: [PATCH 09/20] Automatic changelog update --- Resources/Changelog/Admin.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Resources/Changelog/Admin.yml b/Resources/Changelog/Admin.yml index 2b8fe05cb0..73deae9159 100644 --- a/Resources/Changelog/Admin.yml +++ b/Resources/Changelog/Admin.yml @@ -1057,5 +1057,13 @@ Entries: id: 128 time: '2025-04-16T17:04:48.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/35359 +- author: Errant + changes: + - message: Antag tags on admin notices now show exactly what kind of antag that + mob is. + type: Tweak + id: 129 + time: '2025-04-16T22:59:36.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/36640 Name: Admin Order: 1 From 31185fbff35402541b28d919916733601df26265 Mon Sep 17 00:00:00 2001 From: Mercer Bray <74152185+DissidentBullet@users.noreply.github.com> Date: Thu, 17 Apr 2025 00:14:28 +0100 Subject: [PATCH 10/20] Added Junkeys (#34121) * Added Junkeys Monkeys can now tote the syndicate Juggernaut suit! With a nifty little sprite. Update meta.json Update Equipped-HELMET-monkey.png Delete Equipped-HELMET-monkey.png Create equipped-HELMET-monkey.png * Update meta.json Credit attributed. * Update meta.json Credited edit. --- .../Clothing/OuterClothing/hardsuits.yml | 3 +++ .../cybersun.rsi/equipped-HELMET-monkey.png | Bin 0 -> 1113 bytes .../Head/Hardsuits/cybersun.rsi/meta.json | 8 ++++++-- .../equipped-OUTERCLOTHING-monkey.png | Bin 0 -> 1647 bytes .../Hardsuits/cybersun.rsi/meta.json | 8 ++++++-- 5 files changed, 15 insertions(+), 4 deletions(-) create mode 100644 Resources/Textures/Clothing/Head/Hardsuits/cybersun.rsi/equipped-HELMET-monkey.png create mode 100644 Resources/Textures/Clothing/OuterClothing/Hardsuits/cybersun.rsi/equipped-OUTERCLOTHING-monkey.png diff --git a/Resources/Prototypes/Entities/Clothing/OuterClothing/hardsuits.yml b/Resources/Prototypes/Entities/Clothing/OuterClothing/hardsuits.yml index ba57ef9c53..2c453ad16c 100644 --- a/Resources/Prototypes/Entities/Clothing/OuterClothing/hardsuits.yml +++ b/Resources/Prototypes/Entities/Clothing/OuterClothing/hardsuits.yml @@ -682,6 +682,9 @@ - type: HeldSpeedModifier - type: ToggleableClothing clothingPrototype: ClothingHeadHelmetHardsuitCybersun + - type: Tag + tags: + - MonkeyWearable #Wizard Hardsuit - type: entity diff --git a/Resources/Textures/Clothing/Head/Hardsuits/cybersun.rsi/equipped-HELMET-monkey.png b/Resources/Textures/Clothing/Head/Hardsuits/cybersun.rsi/equipped-HELMET-monkey.png new file mode 100644 index 0000000000000000000000000000000000000000..36824a87443aef00730a00ea0d3c6b448a716401 GIT binary patch literal 1113 zcmaJ=TWHi+7!Fq1p;&Dd)cT;u2;L``$z(bS9osaS+F?7j&Wu`p5Yyze4K+D2Id#(N z;%pZbcPUa4VV7O@O?=TuFQ~NWi#Jpdr7HU1o1zGU2)>Lb<4pCTdLTLH{Cwa4fB)s2 z=p z-iECdRkzM6^x?j2w`?Gr(L)Rq*e+pHRBKz{>c%j{pdSuePKthib&3X-nWA@#SuX3U zaLDQ!^I(3gr(lc?8maZXIKCXD=!##NoI^89g9-!>r|7Su`m()1 zMIHnqBSsA_#)B4#;YG2fCAI~`I6lsDJj)AFUXtT+nd3lp(IlE@4#+vJvl@%sQuGkU zuFSHiBDG9yI71p5LXioXb_XUAZiI!6%{4auf%vxNygJcQWCk2bO&AKnsek{bF>$x?@|(whoxB}s9M0|)j=mV5xpL%Hqj=`Q#E!P3laWTyUYedN z1^+&JH}hwysdV<^Z}XIL-GWm6!&{M?pPHLieO`u+pUbqD{(h40T5=2=Qhi^99JL>!e#_h=V7_K$x76oGH0 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Clothing/Head/Hardsuits/cybersun.rsi/meta.json b/Resources/Textures/Clothing/Head/Hardsuits/cybersun.rsi/meta.json index 107ac8c189..518f3cb650 100644 --- a/Resources/Textures/Clothing/Head/Hardsuits/cybersun.rsi/meta.json +++ b/Resources/Textures/Clothing/Head/Hardsuits/cybersun.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Taken from Paradise SS13 at commit https://github.com/ParadiseSS13/Paradise/commit/a67c929b7394f78e7787114457ba42f4df6cc3a1. Vox state by Flareguy for SS14", + "copyright": "Taken from Paradise SS13 at commit https://github.com/ParadiseSS13/Paradise/commit/a67c929b7394f78e7787114457ba42f4df6cc3a1. Vox state by Flareguy for SS14. monkey state made by MercerBray for Ss14", "size": { "x": 32, "y": 32 @@ -17,6 +17,10 @@ { "name": "equipped-HELMET-vox", "directions": 4 + }, + { + "name": "equipped-HELMET-monkey", + "directions": 4 } ] -} \ No newline at end of file +} diff --git a/Resources/Textures/Clothing/OuterClothing/Hardsuits/cybersun.rsi/equipped-OUTERCLOTHING-monkey.png b/Resources/Textures/Clothing/OuterClothing/Hardsuits/cybersun.rsi/equipped-OUTERCLOTHING-monkey.png new file mode 100644 index 0000000000000000000000000000000000000000..8675a2baeab2f0baf284b43cb8a9ee3020029dd2 GIT binary patch literal 1647 zcmaJ=drVVT96oJ90VfnSiyIHGB|Hbcy@j^4P)ccwty)q_!N&NYj|)`1z1Q|4rADc2 zOPDT;Mr4Z2F*6Ii-7xMc#?b1`JMc}@Avx7 z7n+;}GlM=30szcZDdk#f&-8r(4C?<)^Tr`+`-oKN$vnJ>EH~ItAT{Gg6jEV^VpNM7 z%oS@o(R2V9F&3Sk)TIr8`6v0fv$W$bqf4+C>gAYm8S!oqg9Z3mS7F zOU10WN$J%ZNQT=`h{xt7nK)bo5(wD{k0%gt6Co}KNr5>Cj3g%^LQzVJh{J)#7mJE! zGZ%@p^6c?glqF`BkR&03;qvlwc6l-zw-v*PP$+~sT$syEqCAr96;{&VNV3|aCK%+X z-DI;6qy@J^K1PEPFC)b)D$}g8Oh~xk4FZ_#Kcs_ zei9NAl9iPe5fKp=7YDpRB9ZWTyyQd{pU=0>kG_@~o0gUa4&(z@CfFcRN;sgyq@>e9 z?V?J72pAEH6`LQuJba#!!I(2=j@Rp5c|moUx`jw>P99~xZ-HgY!X5%ZU!ampb&j5) zS_~iH1a!3Xzxu2Dj^$y`E$JC=b9((Y>!MXxa@LjgG}g%J8%Fa6=C-W=y|0qd&;irB zFV=!@FMXXv%h*}TTv;)rPcU-mw6p2{!h~X4{p{00yH{Ksjots@gXN*1dt_U$`Ds*5 z5FKB41H*Szo^GmY-t?>$+)eIll=v_9cNGP?rf<2FK-&>P1FcuX-i(IDJiSr<_h@9p z=edOZHr>)Xvbh@smShCnv(q>lZI$PhTt?%xKudum(CX68YjMxWJo0Nsz{}Vz7y6i+ z))OAEy}|!8&5-=JJ69jH^j?ltw#1LHiY{q5TB%cf5+M`qp{ z=-nA~(xFIy#H@?z=dImG|KsuAS*u-lN&|KUwG@mD8yV~cGaGLdF!!aKk8ba(c)6ph z$yN3uTl-pJ`ubmpV{g`&asqNM)!H3MeUovua^2Hf@;4nRVxk_6wvPvV_0Bk z# Date: Wed, 16 Apr 2025 23:15:34 +0000 Subject: [PATCH 11/20] Automatic changelog update --- Resources/Changelog/Changelog.yml | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 602f3615df..4fc13817e4 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,12 +1,4 @@ Entries: -- author: Nimfar11 - changes: - - message: Changes the colour of the Borg binary channel to a different shade of - blue. - type: Tweak - id: 7705 - time: '2024-12-14T16:03:18.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/33841 - author: Litraxx changes: - message: Renamed the Dungeon Master lawset to Game Master lawset @@ -3910,3 +3902,10 @@ id: 8204 time: '2025-04-16T22:15:38.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/35997 +- author: DissidentBullet + changes: + - message: Monkeys can now wear juggernaut suits + type: Add + id: 8205 + time: '2025-04-16T23:14:28.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/34121 From 6ef5f8e2f1f7b4ac1076850370ad3798826be37a Mon Sep 17 00:00:00 2001 From: SpaceRox1244 <138547931+SpaceRox1244@users.noreply.github.com> Date: Wed, 16 Apr 2025 19:35:57 -0400 Subject: [PATCH 12/20] Adds handheld artifact container to cargo orders (#33327) * Adds handheld artifact container * Adds inhands and missing details * Reduces use delay on unlocking and opening hand arti container * Adds handheld arti container to cargo orders * Fixes build error i think * Removes extra whitespace * Adds static price to handheld arti container --- .../Catalog/Cargo/cargo_science.yml | 10 ++ .../Xenoarchaeology/artifact_equipment.yml | 91 +++++++++++++++++- .../Storage/artifact_container.rsi/bounty.png | Bin 0 -> 188 bytes .../artifact_container.rsi/captain.png | Bin 0 -> 188 bytes .../artifact_container.rsi/icon-open.png | Bin 0 -> 632 bytes .../Storage/artifact_container.rsi/icon.png | Bin 0 -> 520 bytes .../artifact_container.rsi/inhand-left.png | Bin 0 -> 593 bytes .../artifact_container.rsi/inhand-right.png | Bin 0 -> 610 bytes .../artifact_container.rsi/invoice.png | Bin 0 -> 188 bytes .../Storage/artifact_container.rsi/locked.png | Bin 0 -> 101 bytes .../Storage/artifact_container.rsi/meta.json | 43 +++++++++ .../Storage/artifact_container.rsi/paper.png | Bin 0 -> 181 bytes .../artifact_container.rsi/unlocked.png | Bin 0 -> 105 bytes 13 files changed, 143 insertions(+), 1 deletion(-) create mode 100644 Resources/Textures/Objects/Storage/artifact_container.rsi/bounty.png create mode 100644 Resources/Textures/Objects/Storage/artifact_container.rsi/captain.png create mode 100644 Resources/Textures/Objects/Storage/artifact_container.rsi/icon-open.png create mode 100644 Resources/Textures/Objects/Storage/artifact_container.rsi/icon.png create mode 100644 Resources/Textures/Objects/Storage/artifact_container.rsi/inhand-left.png create mode 100644 Resources/Textures/Objects/Storage/artifact_container.rsi/inhand-right.png create mode 100644 Resources/Textures/Objects/Storage/artifact_container.rsi/invoice.png create mode 100644 Resources/Textures/Objects/Storage/artifact_container.rsi/locked.png create mode 100644 Resources/Textures/Objects/Storage/artifact_container.rsi/meta.json create mode 100644 Resources/Textures/Objects/Storage/artifact_container.rsi/paper.png create mode 100644 Resources/Textures/Objects/Storage/artifact_container.rsi/unlocked.png diff --git a/Resources/Prototypes/Catalog/Cargo/cargo_science.yml b/Resources/Prototypes/Catalog/Cargo/cargo_science.yml index cb7f8af822..aa428b7d55 100644 --- a/Resources/Prototypes/Catalog/Cargo/cargo_science.yml +++ b/Resources/Prototypes/Catalog/Cargo/cargo_science.yml @@ -8,6 +8,16 @@ category: cargoproduct-category-name-science group: market +- type: cargoProduct + id: HandheldArtifactContainer + icon: + sprite: Objects/Storage/artifact_container.rsi + state: icon + product: HandheldArtifactContainer + cost: 500 + category: cargoproduct-category-name-science + group: market + - type: cargoProduct id: RandomArtifact icon: diff --git a/Resources/Prototypes/Entities/Objects/Specific/Xenoarchaeology/artifact_equipment.yml b/Resources/Prototypes/Entities/Objects/Specific/Xenoarchaeology/artifact_equipment.yml index 27084003ee..46f79e1140 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Xenoarchaeology/artifact_equipment.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Xenoarchaeology/artifact_equipment.yml @@ -94,7 +94,6 @@ enum.PaperLabelVisuals.Layer: True: { offset: "0.0,0.3125" } False: { offset: "0.0,0.0" } - - type: LockVisuals - type: ItemSlots - type: ContainerContainer @@ -103,3 +102,93 @@ paper_label: !type:ContainerSlot - type: StaticPrice price: 250 + +- type: entity + parent: BaseStorageItem + id: HandheldArtifactContainer + name: handheld artifact container + description: A handheld case used to safely contain and move small artifacts. + components: + - type: Sprite + sprite: Objects/Storage/artifact_container.rsi + state: icon + layers: + - state: icon + map: [ base ] + - state: locked + map: ["enum.LockVisualLayers.Lock"] + shader: unshaded + - type: Storage + maxItemSize: Normal + grid: + - 0,0,1,1 + whitelist: + components: + - Artifact + - type: Item + sprite: Objects/Storage/artifact_container.rsi + size: Huge + - type: MeleeWeapon + damage: + types: + Blunt: 12 + soundHit: + path: "/Audio/Weapons/smash.ogg" + - type: Appearance + - type: AccessReader + access: [["Research"], ["Cargo"]] + - type: Lock + - type: SuppressArtifactContainer + - type: RadiationBlockingContainer + resistance: 5 + - type: EmitSoundOnLand + sound: + path: /Audio/Items/toolbox_drop.ogg + - type: LockVisuals + - type: Damageable + damageContainer: StructuralInorganic + damageModifierSet: StructuralMetallicStrong + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 50 + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] + - type: PaperLabel + labelSlot: + insertVerbText: Attach Label + ejectVerbText: Remove Label + whitelist: + components: + - Paper + blacklist: + tags: + - Book + - type: GenericVisualizer + visuals: + enum.StorageVisuals.Open: + base: + True: { state: icon-open } + False: { state: icon } + enum.PaperLabelVisuals.HasLabel: + enum.PaperLabelVisuals.Layer: + True: { visible: true } + False: { visible: false } + enum.PaperLabelVisuals.LabelType: + enum.PaperLabelVisuals.Layer: + Paper: { state: paper } + Bounty: { state: bounty } + CaptainsPaper: { state: captain } + Invoice: { state: invoice } + - type: ItemSlots + - type: ContainerContainer + containers: + paper_label: !type:ContainerSlot + storagebase: !type:Container + ents: [] + - type: UseDelay + delay: 0.3 + - type: StaticPrice + price: 250 diff --git a/Resources/Textures/Objects/Storage/artifact_container.rsi/bounty.png b/Resources/Textures/Objects/Storage/artifact_container.rsi/bounty.png new file mode 100644 index 0000000000000000000000000000000000000000..f0d459eb506aa7d7c3a1ba7b634f8cea3fb15825 GIT binary patch literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJW=|K#kcigg1PRu~2_ifO2}jf- zW@Z1ApI!0&$>fNu!Aubao+;{*3qLGBXYHQ5TT%iDW)yhV{P{Ea;i+D89(nu!OFECT z$R0R<`rLyYb^damyRsiXe)eyRF28SRQ}=6T9& z%GJndMgnv@Z7eJ2gE&1q2fz`+8|r*oWy2QUzG-1uIRGpxN2AfEUVn+*voTBNmG|wQ zP2Mm7=dv5N&W;_~_Hw-V-s-$ypQ;-xQ6hK0#(li}_`x_4;jeg&M zj+V%ML=`0bKC!|oA#@X(CDWJd+nHJF0d5sUDKG_lJ6oKdoiiQ{JqVfi-@krF8kExX zJBi+l+yemP(GcL;AaM#z!Mpc|fgmy>X2~SGwoZ0!eQAK$2moHQ$s5MXBN7YX2th&D z7)+*r1tj(?02oZB6m++;3%cfO!9l568enf{%l9lJp#H)2|u5OL090ivK5K~%?a zPE{r9gsSGo=OB&{JpH->!10qGsqCc&2m?9HbOE?aEtQ?rDF~CgU(%%DpX(1JTqS-l S5v{QR0000>FC(0x;QvosUf)4 zr4Vp%5d_8A4ss#U+~s_f4$Tk3<(}Wi|DJ%4&wnSts*vNUJrU5ygS|$}0 z^Z9HqaiSAX6GvWyH0l+{fY+BNAUeTxGPXW@IRMD@H>*!lQMu9N8ferj(6ordMBf+z z0EVV%efIKgIc8P7JeQzp5deUuMUc%_kjXrN=md$Y#729f6GSBm05B-r?r-3+Ttzlp zvhw-D6Q+|fqLO5V+71;5R#PBqf@y%7uoDV}0RX3G=iEWR%XbI~$#ZsrV1Hp)JAoMi zw|U+cq7x()6`gLI*~ZmCF_%W)7-2dY?<`JthZo#6u+3ohML0A~4DQ>IUscb3uIE6l z*>VgP3$K zEag8Pc`8E7fz3N&Cj;xya8?^Pjy#2yQ;gsOMsOiyz;zqenl0-f@(QI}eW2G{{lrtd z835pV;fQh}AWU(c0{gk0RMfrFPPff{5pmyZhq#oy-h@6rf6fo5{oRTo2!$R10000< KMNUMnLSTX;GU4?A literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Storage/artifact_container.rsi/inhand-left.png b/Resources/Textures/Objects/Storage/artifact_container.rsi/inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..8136557f71a9f6e7750e0fa0e19aaafc04b365c5 GIT binary patch literal 593 zcmV-X0>}2cIl?k*7Kx+XT~#Pmb{W4)_;UPQcD) z4}imsW8U{abGUI#!}I9A`AEa_7)KER&4c{g|8Fq+3Iu0c3DygWlbHzB$;u zte89n!eKb~^;hjK0JU1ZbQ~9tKrpxil8N0u;^rPdd^*is$hht1>T-L-~?;5m`wtns}4CKzi`x|NZ-uaq-u--|`<+jQiWWabArg&2&;(O$^~M zG)aI}FT#ChcR&!li)WR#pS^f#H3VSSi;yt=3b7(Uu0IObv#M0H>o9%9# fm1viV|8M;S%%~!5#v4Cw00000NkvXXu0mjfzbq2P literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Storage/artifact_container.rsi/inhand-right.png b/Resources/Textures/Objects/Storage/artifact_container.rsi/inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..0023c2c3b76e6e842cc452d3e4dccc622c1440ca GIT binary patch literal 610 zcmV-o0-gPdP)%uvRK^-R`hfDiW?f1E3WIT)jDG zyG=az^!baSW4$?G|L_E0Xzn?Hs+KhH;}|Q z2jsnPVC+dSuYCi?1mwMMz&Ho&AD&QIuRQb(0ABZayl)^Xou|oEu1~{QKLNk#(+Yx- wFUY2Ez*MeJ%UDZ^?YLpo7hu||{{G1P0qA}w7mLj^PXGV_07*qoM6N<$f@1n6F8}}l literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Storage/artifact_container.rsi/invoice.png b/Resources/Textures/Objects/Storage/artifact_container.rsi/invoice.png new file mode 100644 index 0000000000000000000000000000000000000000..b2cb06ac812faa8cf3e62105181af186bb6b4775 GIT binary patch literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJW=|K#kcigg1PRu~2_ifO2}jgk z#0LG8pZ(+7ys|Z~G#PbvsKgi*2mYvD=D%#)T^cIaLJj$3Um&Gr>mdKI;Vst0A7Pep#T5? literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Storage/artifact_container.rsi/locked.png b/Resources/Textures/Objects/Storage/artifact_container.rsi/locked.png new file mode 100644 index 0000000000000000000000000000000000000000..890a26f1b266733d35564026f3efd906381638d0 GIT binary patch literal 101 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz9Zwg>kcif|=NNez6nL07Nbar= zm)GJ@%oH_YWMI&{G4q|zeAZc8PVQ#-FqQe)N{-h*V`Sa|^)Yz5`njxgN@xNAothle literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Storage/artifact_container.rsi/meta.json b/Resources/Textures/Objects/Storage/artifact_container.rsi/meta.json new file mode 100644 index 0000000000..d350f747a2 --- /dev/null +++ b/Resources/Textures/Objects/Storage/artifact_container.rsi/meta.json @@ -0,0 +1,43 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Sprites by SpaceRox1244", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "icon-open" + }, + { + "name": "locked" + }, + { + "name": "unlocked" + }, + { + "name": "paper" + }, + { + "name": "captain" + }, + { + "name": "bounty" + }, + { + "name": "invoice" + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Objects/Storage/artifact_container.rsi/paper.png b/Resources/Textures/Objects/Storage/artifact_container.rsi/paper.png new file mode 100644 index 0000000000000000000000000000000000000000..86a0b218a20631f461b6f75f22bed13b83e7bf8d GIT binary patch literal 181 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJ8c!F;kcif|mp1Y?D2T9JxEyg< z$%^fFz)PN}jkC?R?*~oO$zMze-HvW%f e2N0}S#T;8Nx9dx|$aSDQ7(8A5T-G@yGywp2W<~}8 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Storage/artifact_container.rsi/unlocked.png b/Resources/Textures/Objects/Storage/artifact_container.rsi/unlocked.png new file mode 100644 index 0000000000000000000000000000000000000000..c02fe83521cf97918b924b3dab3d074043ab455c GIT binary patch literal 105 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz15X#nkcif|=MHi*DDbds=({NT zcgO$bbAmfKPO_|IVqnm_v3XPa)5rzEFR$!o_%M~3=N#wdC;mp;fqEG{UHx3vIVCg! E0QXuVr~m)} literal 0 HcmV?d00001 From 8f45639661b4489899078abab3b9142bc6f34892 Mon Sep 17 00:00:00 2001 From: PJBot Date: Wed, 16 Apr 2025 23:37:03 +0000 Subject: [PATCH 13/20] Automatic changelog update --- Resources/Changelog/Changelog.yml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 4fc13817e4..358c645516 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: Litraxx - changes: - - message: Renamed the Dungeon Master lawset to Game Master lawset - type: Fix - id: 7706 - time: '2024-12-16T11:52:03.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/33678 - author: psykana changes: - message: Zombies can now see initial infected @@ -3909,3 +3902,11 @@ id: 8205 time: '2025-04-16T23:14:28.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/34121 +- author: SpaceRox1244 + changes: + - message: Cargo can now order handheld artifact containers for transporting small + artifacts. + type: Add + id: 8206 + time: '2025-04-16T23:35:57.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/33327 From bfe739e0af3e3c5a3c84977d2995d7950bdffef0 Mon Sep 17 00:00:00 2001 From: ScarKy0 <106310278+ScarKy0@users.noreply.github.com> Date: Thu, 17 Apr 2025 01:51:00 +0200 Subject: [PATCH 14/20] Hydroponic trays can now be bought (#36630) --- .../Prototypes/Catalog/Cargo/cargo_botany.yml | 10 ++++++++++ .../Prototypes/Catalog/Fills/Crates/botany.yml | 10 ++++++++++ .../Entities/Objects/Devices/flatpack.yml | 16 ++++++++++++++++ .../Devices/flatpack.rsi/hydroponics-tray.png | Bin 0 -> 6615 bytes .../Objects/Devices/flatpack.rsi/meta.json | 5 ++++- 5 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 Resources/Textures/Objects/Devices/flatpack.rsi/hydroponics-tray.png diff --git a/Resources/Prototypes/Catalog/Cargo/cargo_botany.yml b/Resources/Prototypes/Catalog/Cargo/cargo_botany.yml index 0a24240e7d..c1ef2f1a3f 100644 --- a/Resources/Prototypes/Catalog/Cargo/cargo_botany.yml +++ b/Resources/Prototypes/Catalog/Cargo/cargo_botany.yml @@ -47,3 +47,13 @@ cost: 750 category: cargoproduct-category-name-hydroponics group: market + +- type: cargoProduct + id: HydroponicsTray + icon: + sprite: Structures/Hydroponics/containers.rsi + state: hydrotray3 + product: CrateHydroponicsTray + cost: 750 + category: cargoproduct-category-name-hydroponics + group: market diff --git a/Resources/Prototypes/Catalog/Fills/Crates/botany.yml b/Resources/Prototypes/Catalog/Fills/Crates/botany.yml index 11ee1eaefa..850b69294e 100644 --- a/Resources/Prototypes/Catalog/Fills/Crates/botany.yml +++ b/Resources/Prototypes/Catalog/Fills/Crates/botany.yml @@ -92,3 +92,13 @@ - id: WatermelonSeeds - id: PeaSeeds - id: CherrySeeds + +- type: entity + id: CrateHydroponicsTray + parent: CrateHydroponics + name: hydroponics tray crate + description: Contains a hydroponics tray flatpack. + components: + - type: StorageFill + contents: + - id: HydroponicsTrayFlatpack diff --git a/Resources/Prototypes/Entities/Objects/Devices/flatpack.yml b/Resources/Prototypes/Entities/Objects/Devices/flatpack.yml index fa23947c5c..fe15d88942 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/flatpack.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/flatpack.yml @@ -250,3 +250,19 @@ components: - type: Flatpack entity: ComputerCrewMonitoring + +- type: entity + parent: BaseFlatpack + id: HydroponicsTrayFlatpack + name: hydroponics tray flatpack + description: A flatpack used for constructing a hydroponics tray. + components: + - type: Flatpack + entity: hydroponicsTray + - type: Sprite + layers: + - state: hydroponics-tray + - type: GuideHelp + guides: + - Botany + - Chemicals diff --git a/Resources/Textures/Objects/Devices/flatpack.rsi/hydroponics-tray.png b/Resources/Textures/Objects/Devices/flatpack.rsi/hydroponics-tray.png new file mode 100644 index 0000000000000000000000000000000000000000..9aad5920d83e2dbe784b6d4deaa63d033ef0f9a8 GIT binary patch literal 6615 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 TXm3HDXn~2gE;fZ50u%llIt3>* literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Devices/flatpack.rsi/meta.json b/Resources/Textures/Objects/Devices/flatpack.rsi/meta.json index 947aca7a33..ac1e6be151 100644 --- a/Resources/Textures/Objects/Devices/flatpack.rsi/meta.json +++ b/Resources/Textures/Objects/Devices/flatpack.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC0-1.0", - "copyright": "Created by EmoGarbage404 (github) for SS14, solar-assembly-part taken from tgstation and modified at https://tgstation13.org/wiki/Guide_to_construction#Solar_Panels_and_Trackers, ame-part taken from vgstation at https://github.com/vgstation-coders/vgstation13/commit/1b7952787c06c21ef1623e494dcfe7cb1f46e041; singularity-generator, tesla-generator, radiation-collector, containment-field-generator, tesla-coil, grounding-rod inner icons made by lzk228; emitter made by pigeonpeas. fax-machine made by moomoobeef, modified by ps3moira", + "copyright": "Created by EmoGarbage404 (github) for SS14, solar-assembly-part taken from tgstation and modified at https://tgstation13.org/wiki/Guide_to_construction#Solar_Panels_and_Trackers, ame-part taken from vgstation at https://github.com/vgstation-coders/vgstation13/commit/1b7952787c06c21ef1623e494dcfe7cb1f46e041; singularity-generator, tesla-generator, radiation-collector, containment-field-generator, tesla-coil, grounding-rod inner icons made by lzk228; emitter made by pigeonpeas. fax-machine made by moomoobeef, modified by ps3moira. hydroponics-tray modified by ScarKy0 (Github).", "size": { "x": 32, "y": 32 @@ -45,6 +45,9 @@ }, { "name": "fax-machine" + }, + { + "name": "hydroponics-tray" } ] } From 54e7b762e30ad241ea92ecc14a23cb9680dd3dde Mon Sep 17 00:00:00 2001 From: PJBot Date: Wed, 16 Apr 2025 23:52:07 +0000 Subject: [PATCH 15/20] Automatic changelog update --- Resources/Changelog/Changelog.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 358c645516..5ba3bc4a18 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: psykana - changes: - - message: Zombies can now see initial infected - type: Add - id: 7707 - time: '2024-12-16T11:53:13.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/33665 - author: Plykiya changes: - message: Bombs like stingers and clustergrenades now trigger when destroyed due @@ -3910,3 +3903,10 @@ id: 8206 time: '2025-04-16T23:35:57.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/33327 +- author: ScarKy0 + changes: + - message: Hydroponics tray flatpacks can now be bought for 750 spesos. + type: Add + id: 8207 + time: '2025-04-16T23:51:00.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/36630 From 5a69877fe7e4fabd07d059523d72e46c63797be3 Mon Sep 17 00:00:00 2001 From: Ed <96445749+TheShuEd@users.noreply.github.com> Date: Thu, 17 Apr 2025 03:42:22 +0300 Subject: [PATCH 16/20] storedOffset bugfix (#33606) * Update ItemGridPiece.cs * Update SharedItemSystem.cs * Update ItemGridPiece.cs * EmoGarbage Review --------- Co-authored-by: EmoGarbage404 --- .../Systems/Storage/Controls/ItemGridPiece.cs | 8 +++++--- Content.Shared/Item/SharedItemSystem.cs | 14 ++++++++++++++ 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/Content.Client/UserInterface/Systems/Storage/Controls/ItemGridPiece.cs b/Content.Client/UserInterface/Systems/Storage/Controls/ItemGridPiece.cs index f4c4158b5c..92035ba8d9 100644 --- a/Content.Client/UserInterface/Systems/Storage/Controls/ItemGridPiece.cs +++ b/Content.Client/UserInterface/Systems/Storage/Controls/ItemGridPiece.cs @@ -163,14 +163,16 @@ public sealed class ItemGridPiece : Control, IEntityControl } // typically you'd divide by two, but since the textures are half a tile, this is done implicitly - var iconPosition = new Vector2((boundingGrid.Width + 1) * size.X + itemComponent.StoredOffset.X * 2, - (boundingGrid.Height + 1) * size.Y + itemComponent.StoredOffset.Y * 2); + var iconOffset = Location.Rotation.RotateVec(itemComponent.StoredOffset) * 2 * UIScale; + var iconPosition = new Vector2( + (boundingGrid.Width + 1) * size.X + iconOffset.X, + (boundingGrid.Height + 1) * size.Y + iconOffset.Y); var iconRotation = Location.Rotation + Angle.FromDegrees(itemComponent.StoredRotation); if (itemComponent.StoredSprite is { } storageSprite) { var scale = 2 * UIScale; - var offset = (((Box2) boundingGrid).Size - Vector2.One) * size; + var offset = (((Box2) boundingGrid).Size - Vector2.One) * size + iconOffset; var sprite = _entityManager.System().Frame0(storageSprite); var spriteBox = new Box2Rotated(new Box2(0f, sprite.Height * scale, sprite.Width * scale, 0f), -iconRotation, Vector2.Zero); diff --git a/Content.Shared/Item/SharedItemSystem.cs b/Content.Shared/Item/SharedItemSystem.cs index a058cb8658..8ba26fd349 100644 --- a/Content.Shared/Item/SharedItemSystem.cs +++ b/Content.Shared/Item/SharedItemSystem.cs @@ -55,6 +55,20 @@ public abstract class SharedItemSystem : EntitySystem Dirty(uid, component); } + /// + /// Sets the offset used for the item's sprite inside the storage UI. + /// Dirties. + /// + [PublicAPI] + public void SetStoredOffset(EntityUid uid, Vector2i newOffset, ItemComponent? component = null) + { + if (!Resolve(uid, ref component, false)) + return; + + component.StoredOffset = newOffset; + Dirty(uid, component); + } + public void SetHeldPrefix(EntityUid uid, string? heldPrefix, bool force = false, ItemComponent? component = null) { if (!Resolve(uid, ref component, false)) From b41ee53dbdb636bf694f7edcd1040c2dcbdd8c0c Mon Sep 17 00:00:00 2001 From: beck-thompson <107373427+beck-thompson@users.noreply.github.com> Date: Wed, 16 Apr 2025 18:02:41 -0700 Subject: [PATCH 17/20] Cleanup various admin buttons (#36312) cleanup --- .../Administration/UI/AdminUIHelpers.cs | 59 ------------------- .../UI/Bwoink/BwoinkControl.xaml | 7 ++- .../UI/Bwoink/BwoinkControl.xaml.cs | 11 ---- .../UI/Notes/AdminNotesLinePopup.xaml | 5 +- .../UI/Tabs/AdminTab/PlayerActionsWindow.xaml | 5 +- .../Tabs/AdminTab/PlayerActionsWindow.xaml.cs | 10 ---- .../Tabs/ObjectsTab/ObjectsTabEntry.xaml.cs | 10 +--- 7 files changed, 11 insertions(+), 96 deletions(-) delete mode 100644 Content.Client/Administration/UI/AdminUIHelpers.cs diff --git a/Content.Client/Administration/UI/AdminUIHelpers.cs b/Content.Client/Administration/UI/AdminUIHelpers.cs deleted file mode 100644 index 89ab33e931..0000000000 --- a/Content.Client/Administration/UI/AdminUIHelpers.cs +++ /dev/null @@ -1,59 +0,0 @@ -using System.Threading; -using Content.Client.Stylesheets; -using Robust.Client.UserInterface.Controls; -using Timer = Robust.Shared.Timing.Timer; - -namespace Content.Client.Administration.UI; - -public static class AdminUIHelpers -{ - private static void ResetButton(Button button, ConfirmationData data) - { - data.Cancellation.Cancel(); - button.ModulateSelfOverride = null; - button.Text = data.OriginalText; - } - - public static bool RemoveConfirm(Button button, Dictionary confirmations) - { - if (confirmations.Remove(button, out var data)) - { - ResetButton(button, data); - return true; - } - - return false; - } - - public static void RemoveAllConfirms(Dictionary confirmations) - { - foreach (var (button, confirmation) in confirmations) - { - ResetButton(button, confirmation); - } - - confirmations.Clear(); - } - - public static bool TryConfirm(Button button, Dictionary confirmations) - { - if (RemoveConfirm(button, confirmations)) - return true; - - var data = new ConfirmationData(new CancellationTokenSource(), button.Text); - confirmations[button] = data; - - Timer.Spawn(TimeSpan.FromSeconds(5), () => - { - confirmations.Remove(button); - button.ModulateSelfOverride = null; - button.Text = data.OriginalText; - }, data.Cancellation.Token); - - button.ModulateSelfOverride = StyleNano.ButtonColorCautionDefault; - button.Text = Loc.GetString("admin-player-actions-confirm"); - return false; - } -} - -public readonly record struct ConfirmationData(CancellationTokenSource Cancellation, string? OriginalText); diff --git a/Content.Client/Administration/UI/Bwoink/BwoinkControl.xaml b/Content.Client/Administration/UI/Bwoink/BwoinkControl.xaml index d53101f68e..2c27fdd2ce 100644 --- a/Content.Client/Administration/UI/Bwoink/BwoinkControl.xaml +++ b/Content.Client/Administration/UI/Bwoink/BwoinkControl.xaml @@ -1,6 +1,7 @@  + xmlns:cc="clr-namespace:Content.Client.Administration.UI.CustomControls" + xmlns:controls="clr-namespace:Content.Client.UserInterface.Controls"> @@ -18,9 +19,9 @@