From 9b5219a226ebd57281eb733e71c13d737dfd2f36 Mon Sep 17 00:00:00 2001 From: Tayrtahn Date: Mon, 17 Jun 2024 19:09:19 -0400 Subject: [PATCH 001/101] Fix double label on chem jugs (#29137) --- .../Objects/Specific/chemical-containers.yml | 72 ++++++++++++------- 1 file changed, 48 insertions(+), 24 deletions(-) diff --git a/Resources/Prototypes/Entities/Objects/Specific/chemical-containers.yml b/Resources/Prototypes/Entities/Objects/Specific/chemical-containers.yml index 68d96fcd3de..d318c606adf 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/chemical-containers.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/chemical-containers.yml @@ -85,7 +85,8 @@ - type: entity parent: Jug - name: jug (carbon) + name: jug + suffix: carbon id: JugCarbon noSpawn: true components: @@ -100,7 +101,8 @@ - type: entity parent: Jug - name: jug (iodine) + name: jug + suffix: iodine id: JugIodine noSpawn: true components: @@ -115,7 +117,8 @@ - type: entity parent: Jug - name: jug (fluorine) + name: jug + suffix: fluorine id: JugFluorine noSpawn: true components: @@ -130,7 +133,8 @@ - type: entity parent: Jug - name: jug (chlorine) + name: jug + suffix: chlorine id: JugChlorine noSpawn: true components: @@ -145,7 +149,8 @@ - type: entity parent: Jug - name: jug (aluminium) + name: jug + suffix: aluminium id: JugAluminium noSpawn: true components: @@ -160,7 +165,8 @@ - type: entity parent: Jug - name: jug (phosphorus) + name: jug + suffix: phosphorus id: JugPhosphorus noSpawn: true components: @@ -175,7 +181,8 @@ - type: entity parent: Jug - name: jug (sulfur) + name: jug + suffix: sulfur id: JugSulfur noSpawn: true components: @@ -190,7 +197,8 @@ - type: entity parent: Jug - name: jug (silicon) + name: jug + suffix: silicon id: JugSilicon noSpawn: true components: @@ -205,7 +213,8 @@ - type: entity parent: Jug - name: jug (hydrogen) + name: jug + suffix: hydrogen id: JugHydrogen noSpawn: true components: @@ -220,7 +229,8 @@ - type: entity parent: Jug - name: jug (lithium) + name: jug + suffix: lithium id: JugLithium noSpawn: true components: @@ -235,7 +245,8 @@ - type: entity parent: Jug - name: jug (sodium) + name: jug + suffix: sodium id: JugSodium noSpawn: true components: @@ -250,7 +261,8 @@ - type: entity parent: Jug - name: jug (potassium) + name: jug + suffix: potassium id: JugPotassium noSpawn: true components: @@ -265,7 +277,8 @@ - type: entity parent: Jug - name: jug (radium) + name: jug + suffix: radium id: JugRadium noSpawn: true components: @@ -280,7 +293,8 @@ - type: entity parent: Jug - name: jug (iron) + name: jug + suffix: iron id: JugIron noSpawn: true components: @@ -295,7 +309,8 @@ - type: entity parent: Jug - name: jug (copper) + name: jug + suffix: copper id: JugCopper noSpawn: true components: @@ -310,7 +325,8 @@ - type: entity parent: Jug - name: jug (gold) + name: jug + suffix: gold id: JugGold noSpawn: true components: @@ -325,7 +341,8 @@ - type: entity parent: Jug - name: jug (mercury) + name: jug + suffix: mercury id: JugMercury noSpawn: true components: @@ -340,7 +357,8 @@ - type: entity parent: Jug - name: jug (silver) + name: jug + suffix: silver id: JugSilver noSpawn: true components: @@ -355,7 +373,8 @@ - type: entity parent: Jug - name: jug (ethanol) + name: jug + suffix: ethanol id: JugEthanol noSpawn: true components: @@ -370,7 +389,8 @@ - type: entity parent: Jug - name: jug (sugar) + name: jug + suffix: sugar id: JugSugar noSpawn: true components: @@ -385,7 +405,8 @@ - type: entity parent: Jug - name: jug (nitrogen) + name: jug + suffix: nitrogen id: JugNitrogen noSpawn: true components: @@ -400,7 +421,8 @@ - type: entity parent: Jug - name: jug (oxygen) + name: jug + suffix: oxygen id: JugOxygen noSpawn: true components: @@ -415,7 +437,8 @@ - type: entity parent: Jug - name: jug (Plant-B-Gone) + name: jug + suffix: Plant-B-Gone id: JugPlantBGone noSpawn: true components: @@ -430,7 +453,8 @@ - type: entity parent: Jug - name: jug (welding fuel) + name: jug + suffix: welding fuel id: JugWeldingFuel noSpawn: true components: From e04492e02d6533b9fd8848d6fe91f042c6409671 Mon Sep 17 00:00:00 2001 From: PJBot Date: Mon, 17 Jun 2024 23:10:25 +0000 Subject: [PATCH 002/101] Automatic changelog update --- Resources/Changelog/Changelog.yml | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 65c7dd73de6..cd3f48e51c7 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,15 +1,4 @@ Entries: -- author: chromiumboy - changes: - - message: Additional construction options have been added to the Rapid Construction - Device (RCD), along with a radial style UI for fast navigation - type: Add - - message: The number of charges and the length of time required to build a structure - with the RCD now vary depending on the complexity of the constructed fixture - type: Tweak - id: 6267 - time: '2024-03-31T04:29:47.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/22799 - author: UBlueberry changes: - message: Nanotransen is now recruitin' personnel that speak with a Southern drawl. @@ -3858,3 +3847,10 @@ id: 6766 time: '2024-06-17T10:53:47.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/29022 +- author: Tayrtahn + changes: + - message: Chemical jugs no longer spawn with two labels. + type: Fix + id: 6767 + time: '2024-06-17T23:09:19.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/29137 From 0cf56b9bbd03b80ebd461df32758bb33255575b0 Mon Sep 17 00:00:00 2001 From: Tayrtahn Date: Mon, 17 Jun 2024 19:11:17 -0400 Subject: [PATCH 003/101] Fix DresserFilled storagefill rarely causing an error (#29135) Add ClothingUniformJumpskirtColorPink to an OrGroup --- Resources/Prototypes/Entities/Structures/Furniture/dresser.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/Resources/Prototypes/Entities/Structures/Furniture/dresser.yml b/Resources/Prototypes/Entities/Structures/Furniture/dresser.yml index b79c0e62131..1309060bac1 100644 --- a/Resources/Prototypes/Entities/Structures/Furniture/dresser.yml +++ b/Resources/Prototypes/Entities/Structures/Furniture/dresser.yml @@ -73,6 +73,7 @@ orGroup: dressermainloot - id: ClothingUniformJumpskirtColorPink prob: 0.05 + orGroup: dresserthirdloot - id: ClothingUniformJumpsuitLoungewear prob: 0.05 orGroup: dressermainloot From 82c4db67bc17afd41967582d2cdc8eafee082053 Mon Sep 17 00:00:00 2001 From: "Mr. 27" <45323883+Dutch-VanDerLinde@users.noreply.github.com> Date: Mon, 17 Jun 2024 23:56:37 -0400 Subject: [PATCH 004/101] Fix female reptilians not having gasp sounds (#29143) inital --- Resources/Prototypes/Voice/speech_emote_sounds.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Resources/Prototypes/Voice/speech_emote_sounds.yml b/Resources/Prototypes/Voice/speech_emote_sounds.yml index 0bc922985a6..8e1f50df395 100644 --- a/Resources/Prototypes/Voice/speech_emote_sounds.yml +++ b/Resources/Prototypes/Voice/speech_emote_sounds.yml @@ -118,6 +118,10 @@ collection: FemaleCry Weh: collection: Weh + Gasp: + collection: FemaleGasp + DefaultDeathgasp: + collection: FemaleDeathGasp - type: emoteSounds id: MaleSlime From a1e66cfbb40229a9b90edbc2b5ca3a3076cf0b9b Mon Sep 17 00:00:00 2001 From: Ed <96445749+TheShuEd@users.noreply.github.com> Date: Tue, 18 Jun 2024 13:27:34 +0300 Subject: [PATCH 005/101] clean up weather systems (#28792) * clean up weather systems * Update WeatherComponent.cs * Update SharedWeatherSystem.cs * some fix * Update SharedWeatherSystem.cs * Update WeatherComponent.cs * Update WeatherComponent.cs * revert autoPause * Update SharedWeatherSystem.cs --- .../Overlays/StencilOverlay.Weather.cs | 2 +- Content.Client/Weather/WeatherSystem.cs | 11 ++----- Content.Server/Weather/WeatherSystem.cs | 8 ++--- Content.Shared/Weather/SharedWeatherSystem.cs | 31 +++++++++---------- Content.Shared/Weather/WeatherComponent.cs | 13 ++++---- 5 files changed, 28 insertions(+), 37 deletions(-) diff --git a/Content.Client/Overlays/StencilOverlay.Weather.cs b/Content.Client/Overlays/StencilOverlay.Weather.cs index 29ed157a791..bc514548036 100644 --- a/Content.Client/Overlays/StencilOverlay.Weather.cs +++ b/Content.Client/Overlays/StencilOverlay.Weather.cs @@ -38,7 +38,7 @@ private void DrawWeather(in OverlayDrawArgs args, WeatherPrototype weatherProto, foreach (var tile in grid.Comp.GetTilesIntersecting(worldAABB)) { // Ignored tiles for stencil - if (_weather.CanWeatherAffect(grid, tile)) + if (_weather.CanWeatherAffect(grid.Owner, grid, tile)) { continue; } diff --git a/Content.Client/Weather/WeatherSystem.cs b/Content.Client/Weather/WeatherSystem.cs index b35483bba48..a0e8a44f40b 100644 --- a/Content.Client/Weather/WeatherSystem.cs +++ b/Content.Client/Weather/WeatherSystem.cs @@ -2,16 +2,11 @@ using Content.Shared.Weather; using Robust.Client.Audio; using Robust.Client.GameObjects; -using Robust.Client.Graphics; using Robust.Client.Player; -using Robust.Shared.Audio; using Robust.Shared.Audio.Systems; using Robust.Shared.GameStates; using Robust.Shared.Map; using Robust.Shared.Map.Components; -using Robust.Shared.Physics; -using Robust.Shared.Physics.Components; -using Robust.Shared.Physics.Systems; using Robust.Shared.Player; using AudioComponent = Robust.Shared.Audio.Components.AudioComponent; @@ -62,7 +57,7 @@ protected override void Run(EntityUid uid, WeatherData weather, WeatherPrototype if (TryComp(entXform.GridUid, out var grid)) { var gridId = entXform.GridUid.Value; - // Floodfill to the nearest tile and use that for audio. + // FloodFill to the nearest tile and use that for audio. var seed = _mapSystem.GetTileRef(gridId, grid, entXform.Coordinates); var frontier = new Queue(); frontier.Enqueue(seed); @@ -75,7 +70,7 @@ protected override void Run(EntityUid uid, WeatherData weather, WeatherPrototype if (!visited.Add(node.GridIndices)) continue; - if (!CanWeatherAffect(grid, node)) + if (!CanWeatherAffect(entXform.GridUid.Value, grid, node)) { // Add neighbors // TODO: Ideally we pick some deterministically random direction and use that @@ -107,7 +102,7 @@ protected override void Run(EntityUid uid, WeatherData weather, WeatherPrototype if (nearestNode != null) { var entPos = _transform.GetMapCoordinates(entXform); - var nodePosition = nearestNode.Value.ToMap(EntityManager, _transform).Position; + var nodePosition = _transform.ToMapCoordinates(nearestNode.Value).Position; var delta = nodePosition - entPos.Position; var distance = delta.Length(); occlusion = _audio.GetOcclusion(entPos, delta, distance); diff --git a/Content.Server/Weather/WeatherSystem.cs b/Content.Server/Weather/WeatherSystem.cs index bacdce2b347..c3af49944d9 100644 --- a/Content.Server/Weather/WeatherSystem.cs +++ b/Content.Server/Weather/WeatherSystem.cs @@ -1,17 +1,16 @@ -using System.Linq; using Content.Server.Administration; using Content.Shared.Administration; using Content.Shared.Weather; using Robust.Shared.Console; using Robust.Shared.GameStates; using Robust.Shared.Map; -using Robust.Shared.Map.Components; namespace Content.Server.Weather; public sealed class WeatherSystem : SharedWeatherSystem { [Dependency] private readonly IConsoleHost _console = default!; + [Dependency] private readonly SharedMapSystem _mapSystem = default!; public override void Initialize() { @@ -30,7 +29,7 @@ private void OnWeatherGetState(EntityUid uid, WeatherComponent component, ref Co } [AdminCommand(AdminFlags.Fun)] - private void WeatherTwo(IConsoleShell shell, string argstr, string[] args) + private void WeatherTwo(IConsoleShell shell, string argStr, string[] args) { if (args.Length < 2) { @@ -60,7 +59,8 @@ private void WeatherTwo(IConsoleShell shell, string argstr, string[] args) var maxTime = TimeSpan.MaxValue; // If it's already running then just fade out with how much time we're into the weather. - if (TryComp(MapManager.GetMapEntityId(mapId), out var weatherComp) && + if (_mapSystem.TryGetMap(mapId, out var mapUid) && + TryComp(mapUid, out var weatherComp) && weatherComp.Weather.TryGetValue(args[1], out var existing)) { maxTime = curTime - existing.StartTime; diff --git a/Content.Shared/Weather/SharedWeatherSystem.cs b/Content.Shared/Weather/SharedWeatherSystem.cs index 19671bd77b0..61419021247 100644 --- a/Content.Shared/Weather/SharedWeatherSystem.cs +++ b/Content.Shared/Weather/SharedWeatherSystem.cs @@ -1,9 +1,7 @@ using Content.Shared.Maps; -using Robust.Shared.Audio; using Robust.Shared.Audio.Systems; using Robust.Shared.Map; using Robust.Shared.Map.Components; -using Robust.Shared.Physics.Components; using Robust.Shared.Prototypes; using Robust.Shared.Serialization; using Robust.Shared.Timing; @@ -18,15 +16,14 @@ public abstract class SharedWeatherSystem : EntitySystem [Dependency] private readonly ITileDefinitionManager _tileDefManager = default!; [Dependency] private readonly MetaDataSystem _metadata = default!; [Dependency] private readonly SharedAudioSystem _audio = default!; + [Dependency] private readonly SharedMapSystem _mapSystem = default!; private EntityQuery _blockQuery; - private EntityQuery _physicsQuery; public override void Initialize() { base.Initialize(); _blockQuery = GetEntityQuery(); - _physicsQuery = GetEntityQuery(); SubscribeLocalEvent(OnWeatherUnpaused); } @@ -41,9 +38,7 @@ private void OnWeatherUnpaused(EntityUid uid, WeatherComponent component, ref En } } - public bool CanWeatherAffect( - MapGridComponent grid, - TileRef tileRef) + public bool CanWeatherAffect(EntityUid uid, MapGridComponent grid, TileRef tileRef) { if (tileRef.Tile.IsEmpty) return true; @@ -53,9 +48,9 @@ public bool CanWeatherAffect( if (!tileDef.Weather) return false; - var anchoredEnts = grid.GetAnchoredEntitiesEnumerator(tileRef.GridIndices); + var anchoredEntities = _mapSystem.GetAnchoredEntitiesEnumerator(uid, grid, tileRef.GridIndices); - while (anchoredEnts.MoveNext(out var ent)) + while (anchoredEntities.MoveNext(out var ent)) { if (_blockQuery.HasComponent(ent.Value)) return false; @@ -154,20 +149,22 @@ public override void Update(float frameTime) /// public void SetWeather(MapId mapId, WeatherPrototype? proto, TimeSpan? endTime) { - var mapUid = MapManager.GetMapEntityId(mapId); - var weatherComp = EnsureComp(mapUid); + if (!_mapSystem.TryGetMap(mapId, out var mapUid)) + return; + + var weatherComp = EnsureComp(mapUid.Value); foreach (var (eProto, weather) in weatherComp.Weather) { // Reset cooldown if it's an existing one. - if (eProto == proto?.ID) + if (proto == null || eProto == proto.ID) { weather.EndTime = endTime; if (weather.State == WeatherState.Ending) weather.State = WeatherState.Running; - Dirty(mapUid, weatherComp); + Dirty(mapUid.Value, weatherComp); continue; } @@ -177,12 +174,12 @@ public void SetWeather(MapId mapId, WeatherPrototype? proto, TimeSpan? endTime) if (weather.EndTime == null || weather.EndTime > end) { weather.EndTime = end; - Dirty(mapUid, weatherComp); + Dirty(mapUid.Value, weatherComp); } } if (proto != null) - StartWeather(mapUid, weatherComp, proto, endTime); + StartWeather(mapUid.Value, weatherComp, proto, endTime); } /// @@ -229,9 +226,9 @@ protected virtual bool SetState(EntityUid uid, WeatherState state, WeatherCompon [Serializable, NetSerializable] protected sealed class WeatherComponentState : ComponentState { - public Dictionary Weather; + public Dictionary, WeatherData> Weather; - public WeatherComponentState(Dictionary weather) + public WeatherComponentState(Dictionary, WeatherData> weather) { Weather = weather; } diff --git a/Content.Shared/Weather/WeatherComponent.cs b/Content.Shared/Weather/WeatherComponent.cs index df73109ac49..eaf901fb424 100644 --- a/Content.Shared/Weather/WeatherComponent.cs +++ b/Content.Shared/Weather/WeatherComponent.cs @@ -1,8 +1,7 @@ -using Robust.Shared.Audio; using Robust.Shared.GameStates; +using Robust.Shared.Prototypes; using Robust.Shared.Serialization; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; -using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.Dictionary; namespace Content.Shared.Weather; @@ -12,8 +11,8 @@ public sealed partial class WeatherComponent : Component /// /// Currently running weathers /// - [ViewVariables, DataField("weather", customTypeSerializer:typeof(PrototypeIdDictionarySerializer))] - public Dictionary Weather = new(); + [DataField] + public Dictionary, WeatherData> Weather = new(); public static readonly TimeSpan StartupTime = TimeSpan.FromSeconds(15); public static readonly TimeSpan ShutdownTime = TimeSpan.FromSeconds(15); @@ -29,19 +28,19 @@ public sealed partial class WeatherData /// /// When the weather started if relevant. /// - [ViewVariables, DataField("startTime", customTypeSerializer: typeof(TimeOffsetSerializer))] + [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] //TODO: Remove Custom serializer public TimeSpan StartTime = TimeSpan.Zero; /// /// When the applied weather will end. /// - [ViewVariables(VVAccess.ReadWrite), DataField("endTime", customTypeSerializer: typeof(TimeOffsetSerializer))] + [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] //TODO: Remove Custom serializer public TimeSpan? EndTime; [ViewVariables] public TimeSpan Duration => EndTime == null ? TimeSpan.MaxValue : EndTime.Value - StartTime; - [DataField("state")] + [DataField] public WeatherState State = WeatherState.Invalid; } From e5ef2a358c9ee7bee5eb9173a34bda3344917dfd Mon Sep 17 00:00:00 2001 From: Tayrtahn Date: Tue, 18 Jun 2024 06:59:37 -0400 Subject: [PATCH 006/101] Implement vital chef's hat functionality (#25950) * Implement crucial chef's hat functionality * Unified stopping code and added events. * Added documentation to events * Rerun tests * Made review changes, and fixed potential desync bug. * Update whitelist --- .../Systems/PilotedByClothingSystem.cs | 19 ++ .../Components/PilotedByClothingComponent.cs | 12 ++ .../Components/PilotedClothingComponent.cs | 38 ++++ .../EntitySystems/PilotedClothingSystem.cs | 169 ++++++++++++++++++ .../Entities/Clothing/Head/hats.yml | 4 + .../Prototypes/Entities/Mobs/NPCs/animals.yml | 2 + Resources/Prototypes/tags.yml | 4 + 7 files changed, 248 insertions(+) create mode 100644 Content.Client/Clothing/Systems/PilotedByClothingSystem.cs create mode 100644 Content.Shared/Clothing/Components/PilotedByClothingComponent.cs create mode 100644 Content.Shared/Clothing/Components/PilotedClothingComponent.cs create mode 100644 Content.Shared/Clothing/EntitySystems/PilotedClothingSystem.cs diff --git a/Content.Client/Clothing/Systems/PilotedByClothingSystem.cs b/Content.Client/Clothing/Systems/PilotedByClothingSystem.cs new file mode 100644 index 00000000000..c04cf0a60ba --- /dev/null +++ b/Content.Client/Clothing/Systems/PilotedByClothingSystem.cs @@ -0,0 +1,19 @@ +using Content.Shared.Clothing.Components; +using Robust.Client.Physics; + +namespace Content.Client.Clothing.Systems; + +public sealed partial class PilotedByClothingSystem : EntitySystem +{ + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnUpdatePredicted); + } + + private void OnUpdatePredicted(Entity entity, ref UpdateIsPredictedEvent args) + { + args.BlockPrediction = true; + } +} diff --git a/Content.Shared/Clothing/Components/PilotedByClothingComponent.cs b/Content.Shared/Clothing/Components/PilotedByClothingComponent.cs new file mode 100644 index 00000000000..cd4d0d62030 --- /dev/null +++ b/Content.Shared/Clothing/Components/PilotedByClothingComponent.cs @@ -0,0 +1,12 @@ +using Robust.Shared.GameStates; + +namespace Content.Shared.Clothing.Components; + +/// +/// Disables client-side physics prediction for this entity. +/// Without this, movement with is very rubberbandy. +/// +[RegisterComponent, NetworkedComponent] +public sealed partial class PilotedByClothingComponent : Component +{ +} diff --git a/Content.Shared/Clothing/Components/PilotedClothingComponent.cs b/Content.Shared/Clothing/Components/PilotedClothingComponent.cs new file mode 100644 index 00000000000..a349e4e485e --- /dev/null +++ b/Content.Shared/Clothing/Components/PilotedClothingComponent.cs @@ -0,0 +1,38 @@ +using Content.Shared.Whitelist; +using Robust.Shared.GameStates; + +namespace Content.Shared.Clothing.Components; + +/// +/// Allows an entity stored in this clothing item to pass inputs to the entity wearing it. +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +public sealed partial class PilotedClothingComponent : Component +{ + /// + /// Whitelist for entities that are allowed to act as pilots when inside this entity. + /// + [DataField] + public EntityWhitelist? PilotWhitelist; + + /// + /// Should movement input be relayed from the pilot to the target? + /// + [DataField] + public bool RelayMovement = true; + + + /// + /// Reference to the entity contained in the clothing and acting as pilot. + /// + [DataField, AutoNetworkedField] + public EntityUid? Pilot; + + /// + /// Reference to the entity wearing this clothing who will be controlled by the pilot. + /// + [DataField, AutoNetworkedField] + public EntityUid? Wearer; + + public bool IsActive => Pilot != null && Wearer != null; +} diff --git a/Content.Shared/Clothing/EntitySystems/PilotedClothingSystem.cs b/Content.Shared/Clothing/EntitySystems/PilotedClothingSystem.cs new file mode 100644 index 00000000000..49df7aee943 --- /dev/null +++ b/Content.Shared/Clothing/EntitySystems/PilotedClothingSystem.cs @@ -0,0 +1,169 @@ +using Content.Shared.Clothing.Components; +using Content.Shared.Inventory.Events; +using Content.Shared.Movement.Components; +using Content.Shared.Movement.Systems; +using Content.Shared.Storage; +using Content.Shared.Whitelist; +using Robust.Shared.Containers; +using Robust.Shared.Timing; + +namespace Content.Shared.Clothing.EntitySystems; + +public sealed partial class PilotedClothingSystem : EntitySystem +{ + [Dependency] private readonly IGameTiming _timing = default!; + [Dependency] private readonly SharedMoverController _moverController = default!; + [Dependency] private readonly EntityWhitelistSystem _whitelist = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnEntInserted); + SubscribeLocalEvent(OnEntRemoved); + SubscribeLocalEvent(OnEquipped); + SubscribeLocalEvent(OnUnequipped); + } + + private void OnEntInserted(Entity entity, ref EntInsertedIntoContainerMessage args) + { + // Make sure the entity was actually inserted into storage and not a different container. + if (!TryComp(entity, out StorageComponent? storage) || args.Container != storage.Container) + return; + + // Check potential pilot against whitelist, if one exists. + if (_whitelist.IsWhitelistFail(entity.Comp.PilotWhitelist, args.Entity)) + return; + + entity.Comp.Pilot = args.Entity; + Dirty(entity); + + // Attempt to setup control link, if Pilot and Wearer are both present. + StartPiloting(entity); + } + + private void OnEntRemoved(Entity entity, ref EntRemovedFromContainerMessage args) + { + // Make sure the removed entity is actually the pilot. + if (args.Entity != entity.Comp.Pilot) + return; + + StopPiloting(entity); + entity.Comp.Pilot = null; + Dirty(entity); + } + + private void OnEquipped(Entity entity, ref GotEquippedEvent args) + { + if (!TryComp(entity, out ClothingComponent? clothing)) + return; + + // Make sure the clothing item was equipped to the right slot, and not just held in a hand. + var isCorrectSlot = (clothing.Slots & args.SlotFlags) != Inventory.SlotFlags.NONE; + if (!isCorrectSlot) + return; + + entity.Comp.Wearer = args.Equipee; + Dirty(entity); + + // Attempt to setup control link, if Pilot and Wearer are both present. + StartPiloting(entity); + } + + private void OnUnequipped(Entity entity, ref GotUnequippedEvent args) + { + StopPiloting(entity); + + entity.Comp.Wearer = null; + Dirty(entity); + } + + /// + /// Attempts to establish movement/interaction relay connection(s) from Pilot to Wearer. + /// If either is missing, fails and returns false. + /// + private bool StartPiloting(Entity entity) + { + // Make sure we have both a Pilot and a Wearer + if (entity.Comp.Pilot == null || entity.Comp.Wearer == null) + return false; + + if (!_timing.IsFirstTimePredicted) + return false; + + var pilotEnt = entity.Comp.Pilot.Value; + var wearerEnt = entity.Comp.Wearer.Value; + + // Add component to block prediction of wearer + EnsureComp(wearerEnt); + + if (entity.Comp.RelayMovement) + { + // Establish movement input relay. + _moverController.SetRelay(pilotEnt, wearerEnt); + } + + var pilotEv = new StartedPilotingClothingEvent(entity, wearerEnt); + RaiseLocalEvent(pilotEnt, ref pilotEv); + + var wearerEv = new StartingBeingPilotedByClothing(entity, pilotEnt); + RaiseLocalEvent(wearerEnt, ref wearerEv); + + return true; + } + + /// + /// Removes components from the Pilot and Wearer to stop the control relay. + /// Returns false if a connection does not already exist. + /// + private bool StopPiloting(Entity entity) + { + if (entity.Comp.Pilot == null || entity.Comp.Wearer == null) + return false; + + // Clean up components on the Pilot + var pilotEnt = entity.Comp.Pilot.Value; + RemCompDeferred(pilotEnt); + + // Clean up components on the Wearer + var wearerEnt = entity.Comp.Wearer.Value; + RemCompDeferred(wearerEnt); + RemCompDeferred(wearerEnt); + + // Raise an event on the Pilot + var pilotEv = new StoppedPilotingClothingEvent(entity, wearerEnt); + RaiseLocalEvent(pilotEnt, ref pilotEv); + + // Raise an event on the Wearer + var wearerEv = new StoppedBeingPilotedByClothing(entity, pilotEnt); + RaiseLocalEvent(wearerEnt, ref wearerEv); + + return true; + } +} + +/// +/// Raised on the Pilot when they gain control of the Wearer. +/// +[ByRefEvent] +public record struct StartedPilotingClothingEvent(EntityUid Clothing, EntityUid Wearer); + +/// +/// Raised on the Pilot when they lose control of the Wearer, +/// due to the Pilot exiting the clothing or the clothing being unequipped by the Wearer. +/// +[ByRefEvent] +public record struct StoppedPilotingClothingEvent(EntityUid Clothing, EntityUid Wearer); + +/// +/// Raised on the Wearer when the Pilot gains control of them. +/// +[ByRefEvent] +public record struct StartingBeingPilotedByClothing(EntityUid Clothing, EntityUid Pilot); + +/// +/// Raised on the Wearer when the Pilot loses control of them +/// due to the Pilot exiting the clothing or the clothing being unequipped by the Wearer. +/// +[ByRefEvent] +public record struct StoppedBeingPilotedByClothing(EntityUid Clothing, EntityUid Pilot); diff --git a/Resources/Prototypes/Entities/Clothing/Head/hats.yml b/Resources/Prototypes/Entities/Clothing/Head/hats.yml index 8cdabb4e145..ca3ba080b76 100644 --- a/Resources/Prototypes/Entities/Clothing/Head/hats.yml +++ b/Resources/Prototypes/Entities/Clothing/Head/hats.yml @@ -250,6 +250,10 @@ - type: ContainerContainer containers: storagebase: !type:Container + - type: PilotedClothing + pilotWhitelist: + tags: + - ChefPilot - type: Tag tags: - ClothMade diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml b/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml index 9143589dcf2..93d24be5af8 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml @@ -1624,6 +1624,7 @@ tags: - Trash - VimPilot + - ChefPilot - Mouse - Meat - type: Respirator @@ -3176,6 +3177,7 @@ - type: Tag tags: - VimPilot + - ChefPilot - Trash - Hamster - Meat diff --git a/Resources/Prototypes/tags.yml b/Resources/Prototypes/tags.yml index 0857f601e2c..dee16b7414b 100644 --- a/Resources/Prototypes/tags.yml +++ b/Resources/Prototypes/tags.yml @@ -364,6 +364,10 @@ - type: Tag id: Chicken +# Allowed to control someone wearing a Chef's hat if inside their hat. +- type: Tag + id: ChefPilot + - type: Tag id: ChemDispensable # container that can go into the chem dispenser From af7e59965418588e2ad43925e3205005d7447bc5 Mon Sep 17 00:00:00 2001 From: PJBot Date: Tue, 18 Jun 2024 11:00:45 +0000 Subject: [PATCH 007/101] 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 cd3f48e51c7..511d725222e 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: UBlueberry - changes: - - message: Nanotransen is now recruitin' personnel that speak with a Southern drawl. - type: Add - id: 6268 - time: '2024-03-31T04:39:40.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/26543 - author: Tayrtahn changes: - message: You can no longer drink out of or put liquids into buckets worn on your @@ -3854,3 +3847,10 @@ id: 6767 time: '2024-06-17T23:09:19.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/29137 +- author: Tayrtahn + changes: + - message: Mice and hamsters inside chef's hats can now steer the hat's wearer. + type: Add + id: 6768 + time: '2024-06-18T10:59:37.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25950 From bd0631c45bac27de8aff0b0a8700ac4291267066 Mon Sep 17 00:00:00 2001 From: DrSmugleaf <10968691+DrSmugleaf@users.noreply.github.com> Date: Tue, 18 Jun 2024 05:00:29 -0700 Subject: [PATCH 008/101] Add cvar to disable round end pvs overrides (#29151) --- Content.Server/GameTicking/GameTicker.RoundFlow.cs | 3 ++- Content.Shared/CCVar/CCVars.cs | 8 ++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/Content.Server/GameTicking/GameTicker.RoundFlow.cs b/Content.Server/GameTicking/GameTicker.RoundFlow.cs index 98fcc644104..eed120dc4e8 100644 --- a/Content.Server/GameTicking/GameTicker.RoundFlow.cs +++ b/Content.Server/GameTicking/GameTicker.RoundFlow.cs @@ -358,6 +358,7 @@ public void ShowRoundEndScoreboard(string text = "") var listOfPlayerInfo = new List(); // Grab the great big book of all the Minds, we'll need them for this. var allMinds = EntityQueryEnumerator(); + var pvsOverride = _configurationManager.GetCVar(CCVars.RoundEndPVSOverrides); while (allMinds.MoveNext(out var mindId, out var mind)) { // TODO don't list redundant observer roles? @@ -388,7 +389,7 @@ public void ShowRoundEndScoreboard(string text = "") else if (mind.CurrentEntity != null && TryName(mind.CurrentEntity.Value, out var icName)) playerIcName = icName; - if (TryGetEntity(mind.OriginalOwnedEntity, out var entity)) + if (TryGetEntity(mind.OriginalOwnedEntity, out var entity) && pvsOverride) { _pvsOverride.AddGlobalOverride(GetNetEntity(entity.Value), recursive: true); } diff --git a/Content.Shared/CCVar/CCVars.cs b/Content.Shared/CCVar/CCVars.cs index 7cc1b341a97..26410db8464 100644 --- a/Content.Shared/CCVar/CCVars.cs +++ b/Content.Shared/CCVar/CCVars.cs @@ -432,6 +432,14 @@ public static readonly CVarDef public static readonly CVarDef RoundEndSoundCollection = CVarDef.Create("game.round_end_sound_collection", "RoundEnd", CVar.SERVERONLY); + /// + /// Whether or not to add every player as a global override to PVS at round end. + /// This will allow all players to see their clothing in the round screen player list screen, + /// but may cause lag during round end with very high player counts. + /// + public static readonly CVarDef RoundEndPVSOverrides = + CVarDef.Create("game.round_end_pvs_overrides", true, CVar.SERVERONLY); + /* * Discord */ From 47653f359d729a7e2cb37031504b96c97c730bc5 Mon Sep 17 00:00:00 2001 From: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> Date: Tue, 18 Jun 2024 22:07:35 +1000 Subject: [PATCH 009/101] Update submodule to 226.1.0 (#29159) --- RobustToolbox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RobustToolbox b/RobustToolbox index a3a8912f428..bf8054b1813 160000 --- a/RobustToolbox +++ b/RobustToolbox @@ -1 +1 @@ -Subproject commit a3a8912f4280efe701958fcd00079fffcfc4efee +Subproject commit bf8054b181392ec9a7eb9f4fea94f66837ed4a71 From 65821c96f49186238726ad69231a35b0ea508f62 Mon Sep 17 00:00:00 2001 From: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> Date: Tue, 18 Jun 2024 22:11:36 +1000 Subject: [PATCH 010/101] Fix conveyor mispredicts (#28157) * Fix conveyor mispredicts Instead of tracking active conveyors we instead track the conveyed entities. This also handles things like stacking conveyors more gracely. * Fix ActiveConveyor * Fix lerping --- .../Physics/Controllers/ConveyorController.cs | 2 - .../Conveyor/ActiveConveyorComponent.cs | 12 -- Content.Shared/Conveyor/ConveyedComponent.cs | 13 ++ Content.Shared/Conveyor/ConveyorComponent.cs | 3 - .../Controllers/SharedConveyorController.cs | 168 +++++++++++------- Resources/Maps/origin.yml | 1 - .../Entities/Structures/conveyor.yml | 8 +- 7 files changed, 117 insertions(+), 90 deletions(-) delete mode 100644 Content.Shared/Conveyor/ActiveConveyorComponent.cs create mode 100644 Content.Shared/Conveyor/ConveyedComponent.cs diff --git a/Content.Server/Physics/Controllers/ConveyorController.cs b/Content.Server/Physics/Controllers/ConveyorController.cs index b3508025cb9..db4307f6de5 100644 --- a/Content.Server/Physics/Controllers/ConveyorController.cs +++ b/Content.Server/Physics/Controllers/ConveyorController.cs @@ -55,8 +55,6 @@ private void OnConveyorShutdown(EntityUid uid, ConveyorComponent component, Comp if (MetaData(uid).EntityLifeStage >= EntityLifeStage.Terminating) return; - RemComp(uid); - if (!TryComp(uid, out var physics)) return; diff --git a/Content.Shared/Conveyor/ActiveConveyorComponent.cs b/Content.Shared/Conveyor/ActiveConveyorComponent.cs deleted file mode 100644 index 1c94be97642..00000000000 --- a/Content.Shared/Conveyor/ActiveConveyorComponent.cs +++ /dev/null @@ -1,12 +0,0 @@ -using Robust.Shared.GameStates; - -namespace Content.Shared.Conveyor; - -/// -/// Used to track which conveyors are relevant in case there's a lot of them. -/// -[RegisterComponent] -public sealed partial class ActiveConveyorComponent : Component -{ - -} diff --git a/Content.Shared/Conveyor/ConveyedComponent.cs b/Content.Shared/Conveyor/ConveyedComponent.cs new file mode 100644 index 00000000000..25189d2182a --- /dev/null +++ b/Content.Shared/Conveyor/ConveyedComponent.cs @@ -0,0 +1,13 @@ +using Robust.Shared.GameStates; + +namespace Content.Shared.Conveyor; + +/// +/// Indicates this entity is currently being conveyed. +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +public sealed partial class ConveyedComponent : Component +{ + [ViewVariables, AutoNetworkedField] + public List Colliding = new(); +} diff --git a/Content.Shared/Conveyor/ConveyorComponent.cs b/Content.Shared/Conveyor/ConveyorComponent.cs index 6c95d68c982..797fefa5855 100644 --- a/Content.Shared/Conveyor/ConveyorComponent.cs +++ b/Content.Shared/Conveyor/ConveyorComponent.cs @@ -39,9 +39,6 @@ public sealed partial class ConveyorComponent : Component [DataField] public ProtoId OffPort = "Off"; - - [ViewVariables] - public readonly HashSet Intersecting = new(); } [Serializable, NetSerializable] diff --git a/Content.Shared/Physics/Controllers/SharedConveyorController.cs b/Content.Shared/Physics/Controllers/SharedConveyorController.cs index e3b22d84319..abcd2bc4a21 100644 --- a/Content.Shared/Physics/Controllers/SharedConveyorController.cs +++ b/Content.Shared/Physics/Controllers/SharedConveyorController.cs @@ -1,7 +1,9 @@ using System.Numerics; using Content.Shared.Conveyor; using Content.Shared.Gravity; +using Content.Shared.Magic; using Content.Shared.Movement.Systems; +using Robust.Shared.Collections; using Robust.Shared.Map; using Robust.Shared.Map.Components; using Robust.Shared.Physics; @@ -9,6 +11,7 @@ using Robust.Shared.Physics.Controllers; using Robust.Shared.Physics.Events; using Robust.Shared.Physics.Systems; +using Robust.Shared.Utility; namespace Content.Shared.Physics.Controllers; @@ -16,15 +19,23 @@ public abstract class SharedConveyorController : VirtualController { [Dependency] protected readonly IMapManager MapManager = default!; [Dependency] protected readonly EntityLookupSystem Lookup = default!; + [Dependency] private readonly SharedMapSystem _maps = default!; [Dependency] protected readonly SharedPhysicsSystem Physics = default!; [Dependency] private readonly SharedGravitySystem _gravity = default!; protected const string ConveyorFixture = "conveyor"; - private static readonly Vector2 _expansion = new Vector2(0.1f, 0.1f); + private EntityQuery _gridQuery; + private EntityQuery _xformQuery; + + private ValueList _ents = new(); + private HashSet> _conveyors = new(); public override void Initialize() { + _gridQuery = GetEntityQuery(); + _xformQuery = GetEntityQuery(); + UpdatesAfter.Add(typeof(SharedMoverController)); SubscribeLocalEvent(OnConveyorStartCollide); @@ -37,74 +48,125 @@ private void OnConveyorStartCollide(EntityUid uid, ConveyorComponent component, { var otherUid = args.OtherEntity; - if (args.OtherBody.BodyType == BodyType.Static || component.State == ConveyorState.Off) + if (!args.OtherFixture.Hard || args.OtherBody.BodyType == BodyType.Static || component.State == ConveyorState.Off) + return; + + var conveyed = EnsureComp(otherUid); + + if (conveyed.Colliding.Contains(uid)) return; - component.Intersecting.Add(otherUid); - EnsureComp(uid); + conveyed.Colliding.Add(uid); + Dirty(otherUid, conveyed); } - private void OnConveyorEndCollide(EntityUid uid, ConveyorComponent component, ref EndCollideEvent args) + private void OnConveyorEndCollide(Entity ent, ref EndCollideEvent args) { - component.Intersecting.Remove(args.OtherEntity); + if (!TryComp(args.OtherEntity, out ConveyedComponent? conveyed)) + return; - if (component.Intersecting.Count == 0) - RemComp(uid); + if (!conveyed.Colliding.Remove(ent.Owner)) + return; + + Dirty(args.OtherEntity, conveyed); } public override void UpdateBeforeSolve(bool prediction, float frameTime) { base.UpdateBeforeSolve(prediction, frameTime); - var conveyed = new HashSet(); - // Don't use it directly in EntityQuery because we may be able to save getcomponents. - var xformQuery = GetEntityQuery(); - var bodyQuery = GetEntityQuery(); - var query = EntityQueryEnumerator(); + var query = EntityQueryEnumerator(); + _ents.Clear(); - while (query.MoveNext(out var uid, out var _, out var comp)) + while (query.MoveNext(out var uid, out var comp, out var xform, out var physics)) { - Convey(uid, comp, xformQuery, bodyQuery, conveyed, frameTime, prediction); + if (TryConvey((uid, comp, physics, xform), prediction, frameTime)) + continue; + + _ents.Add(uid); + } + + foreach (var ent in _ents) + { + RemComp(ent); } } - private void Convey(EntityUid uid, ConveyorComponent comp, EntityQuery xformQuery, EntityQuery bodyQuery, HashSet conveyed, float frameTime, bool prediction) + private bool TryConvey(Entity entity, bool prediction, float frameTime) { - // Use an event for conveyors to know what needs to run - if (!CanRun(comp)) - return; + var physics = entity.Comp2; + var xform = entity.Comp3; + var contacting = entity.Comp1.Colliding.Count > 0; - var speed = comp.Speed; + if (!contacting) + return false; - if (speed <= 0f || !xformQuery.TryGetComponent(uid, out var xform) || xform.GridUid == null) - return; + // Client moment + if (!physics.Predict && prediction) + return true; + + if (physics.BodyType == BodyType.Static) + return false; + + if (!_gridQuery.TryComp(xform.GridUid, out var grid)) + return true; + + var gridTile = _maps.TileIndicesFor(xform.GridUid.Value, grid, xform.Coordinates); + _conveyors.Clear(); - var conveyorPos = xform.LocalPosition; - var conveyorRot = xform.LocalRotation; + // Check for any conveyors on the attached tile. + Lookup.GetLocalEntitiesIntersecting(xform.GridUid.Value, gridTile, _conveyors); + DebugTools.Assert(_conveyors.Count <= 1); - conveyorRot += comp.Angle; + // No more conveyors. + if (_conveyors.Count == 0) + return true; + + if (physics.BodyStatus == BodyStatus.InAir || + _gravity.IsWeightless(entity, physics, xform)) + { + return true; + } + + Entity bestConveyor = default; + var bestSpeed = 0f; + + foreach (var conveyor in _conveyors) + { + if (conveyor.Comp.Speed > bestSpeed && CanRun(conveyor)) + { + bestSpeed = conveyor.Comp.Speed; + bestConveyor = conveyor; + } + } + + if (bestSpeed == 0f || bestConveyor == default) + return true; + + var comp = bestConveyor.Comp!; + var conveyorXform = _xformQuery.GetComponent(bestConveyor.Owner); + var conveyorPos = conveyorXform.LocalPosition; + var conveyorRot = conveyorXform.LocalRotation; + + conveyorRot += bestConveyor.Comp!.Angle; if (comp.State == ConveyorState.Reverse) conveyorRot += MathF.PI; var direction = conveyorRot.ToWorldVec(); - foreach (var (entity, transform, body) in GetEntitiesToMove(comp, xform, xformQuery, bodyQuery)) - { - if (!conveyed.Add(entity) || prediction && !body.Predict) - continue; + var localPos = xform.LocalPosition; + var itemRelative = conveyorPos - localPos; - var localPos = transform.LocalPosition; - var itemRelative = conveyorPos - localPos; + localPos += Convey(direction, bestSpeed, frameTime, itemRelative); - localPos += Convey(direction, speed, frameTime, itemRelative); - transform.LocalPosition = localPos; + TransformSystem.SetLocalPosition(entity, localPos, xform); - // Force it awake for collisionwake reasons. - Physics.SetAwake((entity, body), true); - Physics.SetSleepTime(body, 0f); - } - Dirty(uid, comp); + // Force it awake for collisionwake reasons. + Physics.SetAwake((entity, physics), true); + Physics.SetSleepTime(physics, 0f); + + return true; } private static Vector2 Convey(Vector2 direction, float speed, float frameTime, Vector2 itemRelative) @@ -140,36 +202,6 @@ private static Vector2 Convey(Vector2 direction, float speed, float frameTime, V } } - private IEnumerable<(EntityUid, TransformComponent, PhysicsComponent)> GetEntitiesToMove( - ConveyorComponent comp, - TransformComponent xform, - EntityQuery xformQuery, - EntityQuery bodyQuery) - { - // Check if the thing's centre overlaps the grid tile. - var grid = Comp(xform.GridUid!.Value); - var tile = grid.GetTileRef(xform.Coordinates); - var conveyorBounds = Lookup.GetLocalBounds(tile, grid.TileSize); - - foreach (var entity in comp.Intersecting) - { - if (!xformQuery.TryGetComponent(entity, out var entityXform) || entityXform.ParentUid != xform.GridUid!.Value) - continue; - - if (!bodyQuery.TryGetComponent(entity, out var physics) || physics.BodyType == BodyType.Static || physics.BodyStatus == BodyStatus.InAir || _gravity.IsWeightless(entity, physics, entityXform)) - continue; - - // Yes there's still going to be the occasional rounding issue where it stops getting conveyed - // When you fix the corner issue that will fix this anyway. - var gridAABB = new Box2(entityXform.LocalPosition - _expansion, entityXform.LocalPosition + _expansion); - - if (!conveyorBounds.Intersects(gridAABB)) - continue; - - yield return (entity, entityXform, physics); - } - } - public bool CanRun(ConveyorComponent component) { return component.State != ConveyorState.Off && component.Powered; diff --git a/Resources/Maps/origin.yml b/Resources/Maps/origin.yml index dcd961e34ea..376719da61c 100644 --- a/Resources/Maps/origin.yml +++ b/Resources/Maps/origin.yml @@ -81416,7 +81416,6 @@ entities: - type: DeviceLinkSink links: - 26152 - - type: ActiveConveyor - uid: 12943 components: - type: Transform diff --git a/Resources/Prototypes/Entities/Structures/conveyor.yml b/Resources/Prototypes/Entities/Structures/conveyor.yml index 4dc879b0f6a..d82370ba0d6 100644 --- a/Resources/Prototypes/Entities/Structures/conveyor.yml +++ b/Resources/Prototypes/Entities/Structures/conveyor.yml @@ -24,10 +24,10 @@ conveyor: shape: !type:PolygonShape vertices: - - -0.55,-0.55 - - 0.55,-0.55 - - 0.55,0.55 - - -0.55,0.55 + - -0.49,-0.49 + - 0.49,-0.49 + - 0.49,0.49 + - -0.49,0.49 layer: - Impassable - MidImpassable From 92159edba3053f331cbe991ec32719221443bfc6 Mon Sep 17 00:00:00 2001 From: PJBot Date: Tue, 18 Jun 2024 12:12:43 +0000 Subject: [PATCH 011/101] 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 511d725222e..023f6ba0df4 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,12 +1,4 @@ Entries: -- author: Tayrtahn - changes: - - message: You can no longer drink out of or put liquids into buckets worn on your - head. - type: Fix - id: 6269 - time: '2024-03-31T04:40:22.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/24412 - author: DrTeaspoon changes: - message: Hypopen no longer shows chemical contents when examined, when not held @@ -3854,3 +3846,10 @@ id: 6768 time: '2024-06-18T10:59:37.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25950 +- author: metalgearsloth + changes: + - message: Fix conveyors mispredicting movement. + type: Fix + id: 6769 + time: '2024-06-18T12:11:37.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/28157 From b0b76a113319f73297f3736f3e4d958d2a073abf Mon Sep 17 00:00:00 2001 From: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> Date: Tue, 18 Jun 2024 23:27:34 +1000 Subject: [PATCH 012/101] Replace StationRandomTransform (#29149) * Revert "Rotate and Offset station CCVar nuke (#26175)" This reverts commit 44b20f60ff178813ebbc5b449229b0bbba81f649. # Conflicts: # Content.Server/Station/Systems/StationSystem.cs # Resources/Prototypes/Maps/europa.yml * Fix * Review --- .../GameTicking/GameTicker.RoundFlow.cs | 6 +++ Content.Server/Maps/GameMapPrototype.cs | 11 ++++- .../StationRandomTransformComponent.cs | 16 ------- .../Station/Systems/StationSystem.cs | 47 ++----------------- .../Prototypes/Entities/Stations/base.yml | 6 --- .../Entities/Stations/nanotrasen.yml | 1 - Resources/Prototypes/Maps/europa.yml | 5 +- Resources/Prototypes/Maps/train.yml | 4 +- 8 files changed, 23 insertions(+), 73 deletions(-) delete mode 100644 Content.Server/Station/Components/StationRandomTransformComponent.cs diff --git a/Content.Server/GameTicking/GameTicker.RoundFlow.cs b/Content.Server/GameTicking/GameTicker.RoundFlow.cs index eed120dc4e8..d67b8d96e35 100644 --- a/Content.Server/GameTicking/GameTicker.RoundFlow.cs +++ b/Content.Server/GameTicking/GameTicker.RoundFlow.cs @@ -160,6 +160,12 @@ public IReadOnlyList LoadGameMap(GameMapPrototype map, MapId targetMa // whereas the command can also be used on an existing map. var loadOpts = loadOptions ?? new MapLoadOptions(); + if (map.MaxRandomOffset != 0f) + loadOpts.Offset = _robustRandom.NextVector2(map.MaxRandomOffset); + + if (map.RandomRotation) + loadOpts.Rotation = _robustRandom.NextAngle(); + var ev = new PreGameMapLoad(targetMapId, map, loadOpts); RaiseLocalEvent(ev); diff --git a/Content.Server/Maps/GameMapPrototype.cs b/Content.Server/Maps/GameMapPrototype.cs index bd15194495e..5942a9930eb 100644 --- a/Content.Server/Maps/GameMapPrototype.cs +++ b/Content.Server/Maps/GameMapPrototype.cs @@ -3,6 +3,7 @@ using Robust.Shared.Prototypes; using Robust.Shared.Utility; using System.Diagnostics; +using System.Numerics; namespace Content.Server.Maps; @@ -21,16 +22,22 @@ public sealed partial class GameMapPrototype : IPrototype [IdDataField] public string ID { get; private set; } = default!; + [DataField] + public float MaxRandomOffset = 1000f; + + [DataField] + public bool RandomRotation = true; + /// /// Name of the map to use in generic messages, like the map vote. /// - [DataField("mapName", required: true)] + [DataField(required: true)] public string MapName { get; private set; } = default!; /// /// Relative directory path to the given map, i.e. `/Maps/saltern.yml` /// - [DataField("mapPath", required: true)] + [DataField(required: true)] public ResPath MapPath { get; private set; } = default!; [DataField("stations", required: true)] diff --git a/Content.Server/Station/Components/StationRandomTransformComponent.cs b/Content.Server/Station/Components/StationRandomTransformComponent.cs deleted file mode 100644 index ea0fc5f2696..00000000000 --- a/Content.Server/Station/Components/StationRandomTransformComponent.cs +++ /dev/null @@ -1,16 +0,0 @@ -using Content.Server.Station.Systems; - -namespace Content.Server.Station.Components; - -/// -/// Stores station parameters that can be randomized by the roundstart -/// -[RegisterComponent, Access(typeof(StationSystem))] -public sealed partial class StationRandomTransformComponent : Component -{ - [DataField] - public float? MaxStationOffset = 100.0f; - - [DataField] - public bool EnableStationRotation = true; -} diff --git a/Content.Server/Station/Systems/StationSystem.cs b/Content.Server/Station/Systems/StationSystem.cs index 88e419ae39a..84e44b6469c 100644 --- a/Content.Server/Station/Systems/StationSystem.cs +++ b/Content.Server/Station/Systems/StationSystem.cs @@ -1,10 +1,9 @@ using System.Linq; -using System.Numerics; using Content.Server.Chat.Systems; using Content.Server.GameTicking; using Content.Server.Station.Components; using Content.Server.Station.Events; -using Content.Shared.Fax; +using Content.Shared.CCVar; using Content.Shared.Station; using JetBrains.Annotations; using Robust.Server.GameObjects; @@ -28,10 +27,12 @@ namespace Content.Server.Station.Systems; [PublicAPI] public sealed class StationSystem : EntitySystem { + [Dependency] private readonly IConfigurationManager _cfgManager = default!; [Dependency] private readonly ILogManager _logManager = default!; [Dependency] private readonly IPlayerManager _player = default!; [Dependency] private readonly IRobustRandom _random = default!; [Dependency] private readonly ChatSystem _chatSystem = default!; + [Dependency] private readonly GameTicker _ticker = default!; [Dependency] private readonly SharedTransformSystem _transform = default!; [Dependency] private readonly MetaDataSystem _metaData = default!; [Dependency] private readonly MapSystem _map = default!; @@ -282,51 +283,11 @@ public EntityUid InitializeNewStation(StationConfig stationConfig, IEnumerable(station); name ??= MetaData(station).EntityName; - var entry = gridIds ?? Array.Empty(); - - foreach (var grid in entry) + foreach (var grid in gridIds ?? Array.Empty()) { AddGridToStation(station, grid, null, data, name); } - if (TryComp(station, out var random)) - { - Angle? rotation = null; - Vector2? offset = null; - - if (random.MaxStationOffset != null) - offset = _random.NextVector2(-random.MaxStationOffset.Value, random.MaxStationOffset.Value); - - if (random.EnableStationRotation) - rotation = _random.NextAngle(); - - foreach (var grid in entry) - { - //planetary maps give an error when trying to change from position or rotation. - //This is still the case, but it will be irrelevant after the https://github.com/space-wizards/space-station-14/pull/26510 - if (rotation != null && offset != null) - { - var pos = _transform.GetWorldPosition(grid); - _transform.SetWorldPositionRotation(grid, pos + offset.Value, rotation.Value); - continue; - } - if (rotation != null) - { - _transform.SetWorldRotation(grid, rotation.Value); - continue; - } - if (offset != null) - { - var pos = _transform.GetWorldPosition(grid); - _transform.SetWorldPosition(grid, pos + offset.Value); - continue; - } - } - } - - if (LifeStage(station) < EntityLifeStage.MapInitialized) - throw new Exception($"Station must be man-initialized"); - var ev = new StationPostInitEvent((station, data)); RaiseLocalEvent(station, ref ev, true); diff --git a/Resources/Prototypes/Entities/Stations/base.yml b/Resources/Prototypes/Entities/Stations/base.yml index 6a1abdfbe3d..8a0d6c40030 100644 --- a/Resources/Prototypes/Entities/Stations/base.yml +++ b/Resources/Prototypes/Entities/Stations/base.yml @@ -4,12 +4,6 @@ components: - type: StationData -- type: entity - id: BaseRandomStation - abstract: true - components: - - type: StationRandomTransform - - type: entity id: BaseStationCargo abstract: true diff --git a/Resources/Prototypes/Entities/Stations/nanotrasen.yml b/Resources/Prototypes/Entities/Stations/nanotrasen.yml index 7e650d536f2..ab885b03e53 100644 --- a/Resources/Prototypes/Entities/Stations/nanotrasen.yml +++ b/Resources/Prototypes/Entities/Stations/nanotrasen.yml @@ -25,7 +25,6 @@ - BaseStationSiliconLawCrewsimov - BaseStationAllEventsEligible - BaseStationNanotrasen - - BaseRandomStation noSpawn: true components: - type: Transform diff --git a/Resources/Prototypes/Maps/europa.yml b/Resources/Prototypes/Maps/europa.yml index 412e1b46569..7197165ce1f 100644 --- a/Resources/Prototypes/Maps/europa.yml +++ b/Resources/Prototypes/Maps/europa.yml @@ -2,6 +2,8 @@ id: Europa mapName: 'Europa' mapPath: /Maps/europa.yml + maxRandomOffset: 0 + randomRotation: false minPlayers: 0 maxPlayers: 40 stations: @@ -10,9 +12,6 @@ components: - type: StationBiome biome: Snow - - type: StationRandomTransform - enableStationRotation: false - maxStationOffset: null - type: StationNameSetup mapNameTemplate: '{0} Europa {1}' nameGenerator: diff --git a/Resources/Prototypes/Maps/train.yml b/Resources/Prototypes/Maps/train.yml index 7f24fcdd677..a93c4558885 100644 --- a/Resources/Prototypes/Maps/train.yml +++ b/Resources/Prototypes/Maps/train.yml @@ -2,14 +2,14 @@ id: Train mapName: 'Train' mapPath: /Maps/train.yml + maxRandomOffset: 0 + randomRotation: false minPlayers: 10 maxPlayers: 50 stations: Train: stationProto: StandardNanotrasenStation components: - - type: StationRandomTransform - enableStationRotation: false - type: StationNameSetup mapNameTemplate: 'Train "Sentipode" {0}-{1}' nameGenerator: From e49a0eb3b64c63aed6c42101e30bacabf90c5b54 Mon Sep 17 00:00:00 2001 From: lzk <124214523+lzk228@users.noreply.github.com> Date: Tue, 18 Jun 2024 16:02:05 +0200 Subject: [PATCH 013/101] Add warning cones to engivend (#29085) Add cones to engivend --- .../Prototypes/Catalog/VendingMachines/Inventories/engivend.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/engivend.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/engivend.yml index c91eb1ef2ed..9757b14e58e 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/engivend.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/engivend.yml @@ -8,3 +8,4 @@ PowerCellMedium: 5 ClothingHandsGlovesColorYellow: 6 BoxInflatable: 2 + ClothingHeadHatCone: 4 From cffa35692ae84c7928d2c34881f9c9b3191aefbb Mon Sep 17 00:00:00 2001 From: PJBot Date: Tue, 18 Jun 2024 14:03:12 +0000 Subject: [PATCH 014/101] 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 023f6ba0df4..cc85491196c 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,12 +1,4 @@ Entries: -- author: DrTeaspoon - changes: - - message: Hypopen no longer shows chemical contents when examined, when not held - by the examinee. - type: Fix - id: 6270 - time: '2024-03-31T04:59:36.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/26453 - author: lzk228 changes: - message: Hairflower was removed. @@ -3853,3 +3845,10 @@ id: 6769 time: '2024-06-18T12:11:37.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/28157 +- author: lzk228 + changes: + - message: Warning cones added to the Engivend. + type: Add + id: 6770 + time: '2024-06-18T14:02:05.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/29085 From d60829f1ce07661aa3725ca2c23080b566275a4e Mon Sep 17 00:00:00 2001 From: Errant <35878406+Errant-4@users.noreply.github.com> Date: Tue, 18 Jun 2024 16:10:18 +0200 Subject: [PATCH 015/101] arachnid inventory layout fix (#29165) arachnid inventory layout fixC --- .../InventoryTemplates/arachnid_inventory_template.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Resources/Prototypes/InventoryTemplates/arachnid_inventory_template.yml b/Resources/Prototypes/InventoryTemplates/arachnid_inventory_template.yml index a9c7352ed82..e3ac371ebde 100644 --- a/Resources/Prototypes/InventoryTemplates/arachnid_inventory_template.yml +++ b/Resources/Prototypes/InventoryTemplates/arachnid_inventory_template.yml @@ -70,7 +70,7 @@ slotGroup: SecondHotbar stripTime: 6 uiWindowPos: 3,1 - strippingWindowPos: 2,3 + strippingWindowPos: 1,5 displayName: Belt - name: back slotTexture: back @@ -79,7 +79,7 @@ slotGroup: SecondHotbar stripTime: 6 uiWindowPos: 3,0 - strippingWindowPos: 0,3 + strippingWindowPos: 0,5 displayName: Back - name: pocket4 @@ -89,7 +89,7 @@ slotGroup: MainHotbar stripTime: 3 uiWindowPos: 2,4 - strippingWindowPos: 1,5 + strippingWindowPos: 2,3 displayName: Pocket 4 - name: pocket3 slotTexture: web @@ -98,7 +98,7 @@ slotGroup: MainHotbar stripTime: 3 uiWindowPos: 0,4 - strippingWindowPos: 0,5 + strippingWindowPos: 0,3 displayName: Pocket 3 - name: outerClothing slotTexture: suit From db30b5e0408aaab17bcd4d724f629d220a36ba9b Mon Sep 17 00:00:00 2001 From: PJBot Date: Tue, 18 Jun 2024 14:11:25 +0000 Subject: [PATCH 016/101] Automatic changelog update --- Resources/Changelog/Changelog.yml | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index cc85491196c..6777355711f 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,14 +1,4 @@ Entries: -- author: lzk228 - changes: - - message: Hairflower was removed. - type: Remove - - message: Now you can wear poppy (and other flowers) on your head instead of crafting - hairflower with it. - type: Tweak - id: 6271 - time: '2024-03-31T05:33:23.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/25475 - author: EmoGarbage404 changes: - message: Borgs, Emitters, and APEs can no longer have their panels opened while @@ -3852,3 +3842,11 @@ id: 6770 time: '2024-06-18T14:02:05.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/29085 +- author: Errant + changes: + - message: The strip interface layout of arachnids is now consistent with other + species. + type: Tweak + id: 6771 + time: '2024-06-18T14:10:18.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/29165 From ee2c115e5b6cd0e0e8126bd81166c0fcb23a7b9e Mon Sep 17 00:00:00 2001 From: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com> Date: Wed, 19 Jun 2024 02:30:41 +1200 Subject: [PATCH 017/101] Turn interaction related attempt events into structs (#29168) * Turn InteractionAttemptEvent into a struct event * readonly * GettingInteractedWithAttemptEvent * ConsciousAttemptEvent --- Content.Client/Interaction/DragDropSystem.cs | 2 +- .../ReplaySpectatorSystem.Blockers.cs | 7 +++- .../ActionBlocker/ActionBlockerSystem.cs | 6 ++-- .../Administration/SharedAdminFrozenSystem.cs | 8 ++++- Content.Shared/Bed/Sleep/SleepingSystem.cs | 2 +- Content.Shared/Cuffs/SharedCuffableSystem.cs | 8 ++++- Content.Shared/Ghost/SharedGhostSystem.cs | 8 ++++- .../Events/InteractionAttemptEvent.cs | 34 ++++++++----------- .../SharedInteractionSystem.Blocking.cs | 8 ++++- .../Systems/MobStateSystem.Subscribers.cs | 13 ++++++- .../Puppet/SharedVentriloquistPuppetSystem.cs | 10 ++++-- Content.Shared/Stunnable/SharedStunSystem.cs | 7 ++-- .../SubFloor/SharedSubFloorHideSystem.cs | 4 +-- 13 files changed, 80 insertions(+), 37 deletions(-) diff --git a/Content.Client/Interaction/DragDropSystem.cs b/Content.Client/Interaction/DragDropSystem.cs index 8baa4d15fe4..d249766bbcc 100644 --- a/Content.Client/Interaction/DragDropSystem.cs +++ b/Content.Client/Interaction/DragDropSystem.cs @@ -495,7 +495,7 @@ private void RemoveHighlights() // CanInteract() doesn't support checking a second "target" entity. // Doing so manually: var ev = new GettingInteractedWithAttemptEvent(user, dragged); - RaiseLocalEvent(dragged, ev, true); + RaiseLocalEvent(dragged, ref ev); if (ev.Cancelled) return false; diff --git a/Content.Client/Replay/Spectator/ReplaySpectatorSystem.Blockers.cs b/Content.Client/Replay/Spectator/ReplaySpectatorSystem.Blockers.cs index 2fa862f3df7..99d85350b5e 100644 --- a/Content.Client/Replay/Spectator/ReplaySpectatorSystem.Blockers.cs +++ b/Content.Client/Replay/Spectator/ReplaySpectatorSystem.Blockers.cs @@ -17,7 +17,7 @@ private void InitializeBlockers() SubscribeLocalEvent(OnAttempt); SubscribeLocalEvent(OnAttempt); SubscribeLocalEvent(OnAttempt); - SubscribeLocalEvent(OnAttempt); + SubscribeLocalEvent(OnInteractAttempt); SubscribeLocalEvent(OnAttempt); SubscribeLocalEvent(OnAttempt); SubscribeLocalEvent(OnAttempt); @@ -27,6 +27,11 @@ private void InitializeBlockers() SubscribeLocalEvent(OnPullAttempt); } + private void OnInteractAttempt(Entity ent, ref InteractionAttemptEvent args) + { + args.Cancelled = true; + } + private void OnAttempt(EntityUid uid, ReplaySpectatorComponent component, CancellableEntityEventArgs args) { args.Cancel(); diff --git a/Content.Shared/ActionBlocker/ActionBlockerSystem.cs b/Content.Shared/ActionBlocker/ActionBlockerSystem.cs index f1c77fda43b..005c7dc78ec 100644 --- a/Content.Shared/ActionBlocker/ActionBlockerSystem.cs +++ b/Content.Shared/ActionBlocker/ActionBlockerSystem.cs @@ -70,7 +70,7 @@ public bool CanInteract(EntityUid user, EntityUid? target) return false; var ev = new InteractionAttemptEvent(user, target); - RaiseLocalEvent(user, ev); + RaiseLocalEvent(user, ref ev); if (ev.Cancelled) return false; @@ -79,7 +79,7 @@ public bool CanInteract(EntityUid user, EntityUid? target) return true; var targetEv = new GettingInteractedWithAttemptEvent(user, target); - RaiseLocalEvent(target.Value, targetEv); + RaiseLocalEvent(target.Value, ref targetEv); return !targetEv.Cancelled; } @@ -110,7 +110,7 @@ public bool CanUseHeldEntity(EntityUid user, EntityUid used) public bool CanConsciouslyPerformAction(EntityUid user) { var ev = new ConsciousAttemptEvent(user); - RaiseLocalEvent(user, ev); + RaiseLocalEvent(user, ref ev); return !ev.Cancelled; } diff --git a/Content.Shared/Administration/SharedAdminFrozenSystem.cs b/Content.Shared/Administration/SharedAdminFrozenSystem.cs index 2fa22e00052..259df2bdf2a 100644 --- a/Content.Shared/Administration/SharedAdminFrozenSystem.cs +++ b/Content.Shared/Administration/SharedAdminFrozenSystem.cs @@ -11,6 +11,7 @@ namespace Content.Shared.Administration; +// TODO deduplicate with BlockMovementComponent public abstract class SharedAdminFrozenSystem : EntitySystem { [Dependency] private readonly ActionBlockerSystem _blocker = default!; @@ -23,7 +24,7 @@ public override void Initialize() SubscribeLocalEvent(OnAttempt); SubscribeLocalEvent(OnAttempt); SubscribeLocalEvent(OnAttempt); - SubscribeLocalEvent(OnAttempt); + SubscribeLocalEvent(OnInteractAttempt); SubscribeLocalEvent(OnStartup); SubscribeLocalEvent(UpdateCanMove); SubscribeLocalEvent(OnUpdateCanMove); @@ -34,6 +35,11 @@ public override void Initialize() SubscribeLocalEvent(OnSpeakAttempt); } + private void OnInteractAttempt(Entity ent, ref InteractionAttemptEvent args) + { + args.Cancelled = true; + } + private void OnSpeakAttempt(EntityUid uid, AdminFrozenComponent component, SpeakAttemptEvent args) { if (!component.Muted) diff --git a/Content.Shared/Bed/Sleep/SleepingSystem.cs b/Content.Shared/Bed/Sleep/SleepingSystem.cs index aac3e7bb18c..6008e301cfe 100644 --- a/Content.Shared/Bed/Sleep/SleepingSystem.cs +++ b/Content.Shared/Bed/Sleep/SleepingSystem.cs @@ -153,7 +153,7 @@ private void OnSlip(Entity ent, ref SlipAttemptEvent args) private void OnConsciousAttempt(Entity ent, ref ConsciousAttemptEvent args) { - args.Cancel(); + args.Cancelled = true; } private void OnExamined(Entity ent, ref ExaminedEvent args) diff --git a/Content.Shared/Cuffs/SharedCuffableSystem.cs b/Content.Shared/Cuffs/SharedCuffableSystem.cs index 0e506f938e6..be169deb0e5 100644 --- a/Content.Shared/Cuffs/SharedCuffableSystem.cs +++ b/Content.Shared/Cuffs/SharedCuffableSystem.cs @@ -79,7 +79,7 @@ public override void Initialize() SubscribeLocalEvent(CheckAct); SubscribeLocalEvent(CheckAct); SubscribeLocalEvent(CheckAct); - SubscribeLocalEvent(CheckAct); + SubscribeLocalEvent(CheckInteract); SubscribeLocalEvent(OnCuffAfterInteract); SubscribeLocalEvent(OnCuffMeleeHit); @@ -87,6 +87,12 @@ public override void Initialize() SubscribeLocalEvent(OnCuffVirtualItemDeleted); } + private void CheckInteract(Entity ent, ref InteractionAttemptEvent args) + { + if (!ent.Comp.CanStillInteract) + args.Cancelled = true; + } + private void OnUncuffAttempt(ref UncuffAttemptEvent args) { if (args.Cancelled) diff --git a/Content.Shared/Ghost/SharedGhostSystem.cs b/Content.Shared/Ghost/SharedGhostSystem.cs index ad8b86f7dda..6e62bee1310 100644 --- a/Content.Shared/Ghost/SharedGhostSystem.cs +++ b/Content.Shared/Ghost/SharedGhostSystem.cs @@ -19,12 +19,18 @@ public override void Initialize() { base.Initialize(); SubscribeLocalEvent(OnAttempt); - SubscribeLocalEvent(OnAttempt); + SubscribeLocalEvent(OnAttemptInteract); SubscribeLocalEvent(OnAttempt); SubscribeLocalEvent(OnAttempt); SubscribeLocalEvent(OnAttempt); } + private void OnAttemptInteract(Entity ent, ref InteractionAttemptEvent args) + { + if (!ent.Comp.CanGhostInteract) + args.Cancelled = true; + } + private void OnAttempt(EntityUid uid, GhostComponent component, CancellableEntityEventArgs args) { if (!component.CanGhostInteract) diff --git a/Content.Shared/Interaction/Events/InteractionAttemptEvent.cs b/Content.Shared/Interaction/Events/InteractionAttemptEvent.cs index 0024811c369..a04c0536354 100644 --- a/Content.Shared/Interaction/Events/InteractionAttemptEvent.cs +++ b/Content.Shared/Interaction/Events/InteractionAttemptEvent.cs @@ -3,39 +3,33 @@ /// /// Event raised directed at a user to see if they can perform a generic interaction. /// - public sealed class InteractionAttemptEvent : CancellableEntityEventArgs + [ByRefEvent] + public struct InteractionAttemptEvent(EntityUid uid, EntityUid? target) { - public InteractionAttemptEvent(EntityUid uid, EntityUid? target) - { - Uid = uid; - Target = target; - } - - public EntityUid Uid { get; } - public EntityUid? Target { get; } + public bool Cancelled; + public readonly EntityUid Uid = uid; + public readonly EntityUid? Target = target; } /// /// Raised to determine whether an entity is conscious to perform an action. /// - public sealed class ConsciousAttemptEvent(EntityUid Uid) : CancellableEntityEventArgs + [ByRefEvent] + public struct ConsciousAttemptEvent(EntityUid uid) { - public EntityUid Uid { get; } = Uid; + public bool Cancelled; + public readonly EntityUid Uid = uid; } /// /// Event raised directed at the target entity of an interaction to see if the user is allowed to perform some /// generic interaction. /// - public sealed class GettingInteractedWithAttemptEvent : CancellableEntityEventArgs + [ByRefEvent] + public struct GettingInteractedWithAttemptEvent(EntityUid uid, EntityUid? target) { - public GettingInteractedWithAttemptEvent(EntityUid uid, EntityUid? target) - { - Uid = uid; - Target = target; - } - - public EntityUid Uid { get; } - public EntityUid? Target { get; } + public bool Cancelled; + public readonly EntityUid Uid = uid; + public readonly EntityUid? Target = target; } } diff --git a/Content.Shared/Interaction/SharedInteractionSystem.Blocking.cs b/Content.Shared/Interaction/SharedInteractionSystem.Blocking.cs index 9a84789adfc..a682bf98159 100644 --- a/Content.Shared/Interaction/SharedInteractionSystem.Blocking.cs +++ b/Content.Shared/Interaction/SharedInteractionSystem.Blocking.cs @@ -6,6 +6,7 @@ namespace Content.Shared.Interaction; +// TODO deduplicate with AdminFrozenComponent /// /// Handles , which prevents various /// kinds of movement and interactions when attached to an entity. @@ -16,7 +17,7 @@ public void InitializeBlocking() { SubscribeLocalEvent(OnMoveAttempt); SubscribeLocalEvent(CancelEvent); - SubscribeLocalEvent(CancelEvent); + SubscribeLocalEvent(CancelInteractEvent); SubscribeLocalEvent(CancelEvent); SubscribeLocalEvent(CancelEvent); SubscribeLocalEvent(CancelEvent); @@ -25,6 +26,11 @@ public void InitializeBlocking() SubscribeLocalEvent(OnBlockingShutdown); } + private void CancelInteractEvent(Entity ent, ref InteractionAttemptEvent args) + { + args.Cancelled = true; + } + private void OnMoveAttempt(EntityUid uid, BlockMovementComponent component, UpdateCanMoveEvent args) { if (component.LifeStage > ComponentLifeStage.Running) diff --git a/Content.Shared/Mobs/Systems/MobStateSystem.Subscribers.cs b/Content.Shared/Mobs/Systems/MobStateSystem.Subscribers.cs index 08b351e61e8..155cfede015 100644 --- a/Content.Shared/Mobs/Systems/MobStateSystem.Subscribers.cs +++ b/Content.Shared/Mobs/Systems/MobStateSystem.Subscribers.cs @@ -31,7 +31,7 @@ private void SubscribeEvents() SubscribeLocalEvent(CheckAct); SubscribeLocalEvent(CheckAct); SubscribeLocalEvent(CheckAct); - SubscribeLocalEvent(CheckAct); + SubscribeLocalEvent(CheckConcious); SubscribeLocalEvent(CheckAct); SubscribeLocalEvent(OnSpeakAttempt); SubscribeLocalEvent(OnEquipAttempt); @@ -48,6 +48,17 @@ private void SubscribeEvents() SubscribeLocalEvent(OnAttemptPacifiedAttack); } + private void CheckConcious(Entity ent, ref ConsciousAttemptEvent args) + { + switch (ent.Comp.CurrentState) + { + case MobState.Dead: + case MobState.Critical: + args.Cancelled = true; + break; + } + } + private void OnStateExitSubscribers(EntityUid target, MobStateComponent component, MobState state) { switch (state) diff --git a/Content.Shared/Puppet/SharedVentriloquistPuppetSystem.cs b/Content.Shared/Puppet/SharedVentriloquistPuppetSystem.cs index 430c2b1b17d..e3fa21ed377 100644 --- a/Content.Shared/Puppet/SharedVentriloquistPuppetSystem.cs +++ b/Content.Shared/Puppet/SharedVentriloquistPuppetSystem.cs @@ -7,6 +7,7 @@ namespace Content.Shared.Puppet; +// TODO deduplicate with BlockMovementComponent public abstract class SharedVentriloquistPuppetSystem : EntitySystem { [Dependency] private readonly ActionBlockerSystem _blocker = default!; @@ -15,7 +16,7 @@ public override void Initialize() { base.Initialize(); SubscribeLocalEvent(Cancel); - SubscribeLocalEvent(Cancel); + SubscribeLocalEvent(CancelInteract); SubscribeLocalEvent(Cancel); SubscribeLocalEvent(Cancel); SubscribeLocalEvent(Cancel); @@ -24,6 +25,11 @@ public override void Initialize() SubscribeLocalEvent(OnStartup); } + private void CancelInteract(Entity ent, ref InteractionAttemptEvent args) + { + args.Cancelled = true; + } + private void OnStartup(EntityUid uid, VentriloquistPuppetComponent component, ComponentStartup args) { _blocker.UpdateCanMove(uid); @@ -33,4 +39,4 @@ private void Cancel(EntityUid uid, VentriloquistPuppetComponent component, T { args.Cancel(); } -} \ No newline at end of file +} diff --git a/Content.Shared/Stunnable/SharedStunSystem.cs b/Content.Shared/Stunnable/SharedStunSystem.cs index 9190427d321..092da8fe5ab 100644 --- a/Content.Shared/Stunnable/SharedStunSystem.cs +++ b/Content.Shared/Stunnable/SharedStunSystem.cs @@ -54,7 +54,7 @@ public override void Initialize() // Attempt event subscriptions. SubscribeLocalEvent(OnAttempt); SubscribeLocalEvent(OnMoveAttempt); - SubscribeLocalEvent(OnAttempt); + SubscribeLocalEvent(OnAttemptInteract); SubscribeLocalEvent(OnAttempt); SubscribeLocalEvent(OnAttempt); SubscribeLocalEvent(OnAttempt); @@ -65,7 +65,10 @@ public override void Initialize() SubscribeLocalEvent(OnMobStateChanged); } - + private void OnAttemptInteract(Entity ent, ref InteractionAttemptEvent args) + { + args.Cancelled = true; + } private void OnMobStateChanged(EntityUid uid, MobStateComponent component, MobStateChangedEvent args) { diff --git a/Content.Shared/SubFloor/SharedSubFloorHideSystem.cs b/Content.Shared/SubFloor/SharedSubFloorHideSystem.cs index ba78ff651f5..cebc84ecb93 100644 --- a/Content.Shared/SubFloor/SharedSubFloorHideSystem.cs +++ b/Content.Shared/SubFloor/SharedSubFloorHideSystem.cs @@ -45,11 +45,11 @@ private void OnAttackAttempt(EntityUid uid, SubFloorHideComponent component, ref args.Cancelled = true; } - private void OnInteractionAttempt(EntityUid uid, SubFloorHideComponent component, GettingInteractedWithAttemptEvent args) + private void OnInteractionAttempt(EntityUid uid, SubFloorHideComponent component, ref GettingInteractedWithAttemptEvent args) { // No interactions with entities hidden under floor tiles. if (component.BlockInteractions && component.IsUnderCover) - args.Cancel(); + args.Cancelled = true; } private void OnSubFloorStarted(EntityUid uid, SubFloorHideComponent component, ComponentStartup _) From 801d405919837760f7034ae5ced51e9577ec0d54 Mon Sep 17 00:00:00 2001 From: IProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com> Date: Tue, 18 Jun 2024 11:04:15 -0400 Subject: [PATCH 018/101] Add the most anticipated gun in the game. Foam Force. (#29103) * Foam Force * make it available somewhere * add clumsyproof and nuke dev item * reorganize * oopsy files * Strap! * woopsie layering * fix grammar to rerun tests for rogue unrelated test fail. * cleanup * I eepy layer forgetti spaghetti * For real last necessary commit * Oops I broke the law! feexed * Decided to just change it to the same source as the poster source in our repo for consistency. --- .../Prototypes/Catalog/Fills/Crates/cargo.yml | 12 ++++++ .../Weapons/Guns/Ammunition/Magazines/toy.yml | 12 ++++++ .../Guns/Ammunition/Projectiles/toy.yml | 36 +++++++++++++----- .../Objects/Weapons/Guns/Rifles/rifles.yml | 30 +++++++++++++++ .../Objects/Weapons/Throwable/clusterbang.yml | 19 +++++++++ .../Weapons/Grenades/foamdart.rsi/icon.png | Bin 0 -> 494 bytes .../Weapons/Grenades/foamdart.rsi/meta.json | 17 +++++++++ .../Weapons/Grenades/foamdart.rsi/primed.png | Bin 0 -> 377 bytes .../Guns/Rifles/foam_rifle.rsi/bolt-open.png | Bin 0 -> 323 bytes .../foam_rifle.rsi/equipped-BACKPACK.png | Bin 0 -> 775 bytes .../foam_rifle.rsi/equipped-SUITSTORAGE.png | Bin 0 -> 775 bytes .../Guns/Rifles/foam_rifle.rsi/icon.png | Bin 0 -> 312 bytes .../Guns/Rifles/foam_rifle.rsi/meta.json | 25 ++++++++++++ .../foam_rifle_inhand_64x.rsi/inhand-left.png | Bin 0 -> 824 bytes .../inhand-right.png | Bin 0 -> 876 bytes .../foam_rifle_inhand_64x.rsi/meta.json | 27 +++++++++++++ .../wielded-inhand-left.png | Bin 0 -> 726 bytes .../wielded-inhand-right.png | Bin 0 -> 731 bytes .../Weapons/Guns/Shotguns/pump.rsi/meta.json | 2 +- 19 files changed, 170 insertions(+), 10 deletions(-) create mode 100644 Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/toy.yml create mode 100644 Resources/Textures/Objects/Weapons/Grenades/foamdart.rsi/icon.png create mode 100644 Resources/Textures/Objects/Weapons/Grenades/foamdart.rsi/meta.json create mode 100644 Resources/Textures/Objects/Weapons/Grenades/foamdart.rsi/primed.png create mode 100644 Resources/Textures/Objects/Weapons/Guns/Rifles/foam_rifle.rsi/bolt-open.png create mode 100644 Resources/Textures/Objects/Weapons/Guns/Rifles/foam_rifle.rsi/equipped-BACKPACK.png create mode 100644 Resources/Textures/Objects/Weapons/Guns/Rifles/foam_rifle.rsi/equipped-SUITSTORAGE.png create mode 100644 Resources/Textures/Objects/Weapons/Guns/Rifles/foam_rifle.rsi/icon.png create mode 100644 Resources/Textures/Objects/Weapons/Guns/Rifles/foam_rifle.rsi/meta.json create mode 100644 Resources/Textures/Objects/Weapons/Guns/Rifles/foam_rifle_inhand_64x.rsi/inhand-left.png create mode 100644 Resources/Textures/Objects/Weapons/Guns/Rifles/foam_rifle_inhand_64x.rsi/inhand-right.png create mode 100644 Resources/Textures/Objects/Weapons/Guns/Rifles/foam_rifle_inhand_64x.rsi/meta.json create mode 100644 Resources/Textures/Objects/Weapons/Guns/Rifles/foam_rifle_inhand_64x.rsi/wielded-inhand-left.png create mode 100644 Resources/Textures/Objects/Weapons/Guns/Rifles/foam_rifle_inhand_64x.rsi/wielded-inhand-right.png diff --git a/Resources/Prototypes/Catalog/Fills/Crates/cargo.yml b/Resources/Prototypes/Catalog/Fills/Crates/cargo.yml index b9d45f0f960..7ef8a8262d6 100644 --- a/Resources/Prototypes/Catalog/Fills/Crates/cargo.yml +++ b/Resources/Prototypes/Catalog/Fills/Crates/cargo.yml @@ -158,6 +158,9 @@ - id: WeaponTurretXeno prob: 0.01 orGroup: Weapons + - id: WeaponRifleFoam + prob: 0.03 + orGroup: Weapons #clothing - id: ClothingUniformJumpsuitFamilyGuy prob: 0.05 @@ -385,3 +388,12 @@ - id: WeakKudzu prob: 0.01 orGroup: NotUseful + - id: MagazineFoamBox + prob: 0.001 + orGroup: NotUseful + - id: BoxDonkSoftBox + prob: 0.008 + orGroup: NotUseful + - id: GrenadeFoamDart + prob: 0.001 + orGroup: NotUseful \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/toy.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/toy.yml new file mode 100644 index 00000000000..babbc2648f7 --- /dev/null +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/toy.yml @@ -0,0 +1,12 @@ +- type: entity + parent: MagazineLightRifleBox # It goes in a saw, its funny. + id: MagazineFoamBox + name: ammunition box (foam) + components: + - type: BallisticAmmoProvider + mayTransfer: true + whitelist: + tags: + - BulletFoam + proto: BulletFoam + capacity: 100 \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/toy.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/toy.yml index 34a39c1583e..9b6c288e378 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/toy.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/toy.yml @@ -4,12 +4,30 @@ name: foam dart parent: BaseItem components: - - type: Tag - tags: - - BulletFoam - - Trash - - type: Ammo - - type: Sprite - sprite: Objects/Fun/toys.rsi - layers: - - state: foamdart + - type: Fixtures + fixtures: + fix1: + shape: !type:PolygonShape + vertices: + - -0.05,-0.15 + - -0.05,0.25 + - 0.05,-0.15 + - 0.05,0.25 + density: 20 + mask: + - ItemMask + restitution: 0.3 + friction: 0.2 + - type: Tag + tags: + - BulletFoam + - Trash + - type: Ammo + - type: Sprite + sprite: Objects/Fun/toys.rsi + layers: + - state: foamdart + - type: EmbeddableProjectile + removalTime: .2 + - type: ThrowingAngle + angle: 180 diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Rifles/rifles.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Rifles/rifles.yml index c034ac5749a..9300367cdec 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Rifles/rifles.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Rifles/rifles.yml @@ -186,3 +186,33 @@ steps: 1 zeroVisible: true - type: Appearance + +- type: entity + name: Foam Force Astro Ace + parent: [BaseWeaponShotgun, BaseGunWieldable] + id: WeaponRifleFoam + description: A premium foam rifle of the highest quality. Its plastic feels rugged, and its mechanisms sturdy. + components: + - type: Sprite + sprite: Objects/Weapons/Guns/Rifles/foam_rifle.rsi + - type: Clothing + sprite: Objects/Weapons/Guns/Rifles/foam_rifle.rsi + - type: Item + sprite: Objects/Weapons/Guns/Rifles/foam_rifle_inhand_64x.rsi + - type: BallisticAmmoProvider + whitelist: + tags: + - BulletFoam + capacity: 10 + proto: BulletFoam + - type: GunRequiresWield #remove when inaccuracy on spreads is fixed + - type: Gun + fireRate: 2 + selectedMode: SemiAuto + availableModes: + - SemiAuto + soundGunshot: + path: /Audio/Effects/thunk.ogg + soundEmpty: + path: /Audio/Weapons/Guns/Empty/empty.ogg + clumsyProof: true diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Throwable/clusterbang.yml b/Resources/Prototypes/Entities/Objects/Weapons/Throwable/clusterbang.yml index 36d4c947fcd..35174ba34d2 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Throwable/clusterbang.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Throwable/clusterbang.yml @@ -241,3 +241,22 @@ - type: ContainerContainer containers: cluster-payload: !type:Container + +- type: entity + parent: GrenadeShrapnel + id: GrenadeFoamDart + name: foam dart grenade + description: Releases a bothersome spray of foam darts that cause severe welching. + components: + - type: Sprite + sprite: Objects/Weapons/Grenades/foamdart.rsi + layers: + - state: icon + map: ["Base"] + - state: primed + map: ["enum.TriggerVisualLayers.Base"] + - type: ClusterGrenade + fillPrototype: BulletFoam + maxGrenadesCount: 30 + grenadeType: enum.GrenadeType.Throw + velocity: 70 diff --git a/Resources/Textures/Objects/Weapons/Grenades/foamdart.rsi/icon.png b/Resources/Textures/Objects/Weapons/Grenades/foamdart.rsi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b986e22665025ac32e1b356e2ee065be89e10e02 GIT binary patch literal 494 zcmV-P;C~7X28J6qE(l5?a{+`)CnY%8-lWDao9~b$Tmn8E)9Kk$5}6A4 z@b0Y>jNO^xQ!lTOi;$5(6h1OTpa&(tR+EwS?1_do!zivVB!V4Sp_ zl4t{8m;@*|rYypDt?zZAb*+MSszckdywbUO1L^=={5w(;hz&~AVbYBc6<`72v&X*- zp8&$jB7Hw&m<2|=>`iN>wCHbu2ajZ^Il%e`a0x^uDnj@Ti1vfLeq3;F0bc@7yuWI^>m@n| kl7LbbNHe)WE|3fS0@S6TEuG1U_5c6?07*qoM6N<$f{w(`;s5{u literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Weapons/Grenades/foamdart.rsi/meta.json b/Resources/Textures/Objects/Weapons/Grenades/foamdart.rsi/meta.json new file mode 100644 index 00000000000..ba5198513b6 --- /dev/null +++ b/Resources/Textures/Objects/Weapons/Grenades/foamdart.rsi/meta.json @@ -0,0 +1,17 @@ +{ + "version": 1, + "license": "CC-BY-NC-SA-3.0", + "copyright": "Taken from goonstation at https://github.com/goonstation/goonstation/pull/13630", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "primed" + } + ] +} diff --git a/Resources/Textures/Objects/Weapons/Grenades/foamdart.rsi/primed.png b/Resources/Textures/Objects/Weapons/Grenades/foamdart.rsi/primed.png new file mode 100644 index 0000000000000000000000000000000000000000..0d8b9b7a97b190d00b8bdd138d7630cc406ca724 GIT binary patch literal 377 zcmV-<0fzpGP)Vez{#Ec|3S35dm$s; z9RRXi%?`mP*AWzjz~|Qt6a%sxzzPlek1rS)_$3fxzsU#%k{tlDXq_hmgV=TmALIxS z=#^t&C?>-ZBslA%lyyJgVhL;7P?N z2AX6;WJl=AU51Mxhez=v1_qiIL@-AbLyKZ;a-^C^RypvSg6fwl4xlC&b-<_tMjZeE X&*OEHeFfz000000NkvXXu0mjflfjdZ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Weapons/Guns/Rifles/foam_rifle.rsi/bolt-open.png b/Resources/Textures/Objects/Weapons/Guns/Rifles/foam_rifle.rsi/bolt-open.png new file mode 100644 index 0000000000000000000000000000000000000000..7a11eab654ed59feab71fa8d4d40d2e697945c7a GIT binary patch literal 323 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=hEVFmidiIEF+VPEL?uU7R4&(-deB zbkNPb?LQ9?^eoA++T`@#o|&2X@cpIYnw$O{_Gg*h8ghDVuc$=8p z2IOxL-mZNAPs0WA`%caYr*+=`XR7&eH)+k$cEz%9x767r4gJ^(1;g5==hq#6slI;S zV;c}wwx}@3ni0iTDeLVl)nj0I)MK1h5U!?nk6~p|aC#D^^bZ}w@+o}k@@&l98^(FuP zbL9=o5eqmSl+rMX!@lO%;R8VMU~<`1LI1pjHmhgvGcwJ%+zx60z1|?jz#wtH;N7dN S>T|%rVeoYIb6Mw<&;$TnYlFf7 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Weapons/Guns/Rifles/foam_rifle.rsi/equipped-BACKPACK.png b/Resources/Textures/Objects/Weapons/Guns/Rifles/foam_rifle.rsi/equipped-BACKPACK.png new file mode 100644 index 0000000000000000000000000000000000000000..ec34a1b9ea107466407b7cb7164ca1dc253f967f GIT binary patch literal 775 zcmV+i1Ni)jP)LYaOh!Vm>`mhcrz5#_A*M`g8RgR-V_SAc|ks=B?`wpT6SR*5L&m zp<#m?M@{t1E_!Ac%i27GmIN-IYiJxbNB;JL0nx}50HE3KquK7GXLg|}5v(jNv7m_8 zln8oe*V16ub>$Y|+kg*{6Jb1kX&{+Q;`hl3D*OAAA4T)eni8=@fB$6y0FI5nL*qZv zfMF<#!T=x^jrz(2d)xt_sv7_>cHat(JCUyI5&*n+4bhG zc+&V-F8;}TNZD+bxhdYY1PuOJ;sVsTv-_!WVDHD7cmQx)yz2(o+1!Ox>o~hdt#dv- zZi^=ff*=TjAP9mWh$|@O)0ZAI2enS2_W_IQ9QYUIRAp>S&cYU8!(Heye z;0KU?MzlsD1MY=m0Dw#;LYaOh!Vm>`mhcrz5#_A*M`g8RgR-V_SAc|ks=B?`wpT6SR*5L&m zp<#m?M@{t1E_!Ac%i27GmIN-IYiJxbNB;JL0nx}50HE3KquK7GXLg|}5v(jNv7m_8 zln8oe*V16ub>$Y|+kg*{6Jb1kX&{+Q;`hl3D*OAAA4T)eni8=@fB$6y0FI5nL*qZv zfMF<#!T=x^jrz(2d)xt_sv7_>cHat(JCUyI5&*n+4bhG zc+&V-F8;}TNZD+bxhdYY1PuOJ;sVsTv-_!WVDHD7cmQx)yz2(o+1!Ox>o~hdt#dv- zZi^=ff*=TjAP9mWh$|@O)0ZAI2enS2_W_IQ9QYUIRAp>S&cYU8!(Heye z;0KU?MzlsD1MY=m0Dw#;yHn+k4AL!JHL6e)t|>GX%5dLr8PYI_y4qA_K&MQF6nh*UwQ%%+%)q3 zy?^IEo#qY!>#igH@81XfFlfHW=)*H}Tjvgsk}I1GfS`k8WAavkn+a?{FuS9>hrL$v z-|hUg1RIc>G{qj4GT3!b)NNeatbCCtWTVWx2KDoCMt}ZxORc$~vtZiN6AY??bw9qe zHv+*y^|xBe^X?qrDLr%l;-wt0Ke^l(O&J)Zmgl~U57wOp3+M~`?As0!$3D8R z;}taO)jSkulyd&T!tS^yPD^738Hp-m0Id-z-74f=rcm8;U zp8NXYaPQSQ)^~Q;{%881l32IoRI%-!#}QTEP5-{mxSkT%9#o^7E5D;!-uBS>GQo%#qG)e1UNc&yw*ZCQ$IvJmSE;f<%WRG=gSpI6uDz~#9jsZc1a{uoA>%4mS6_6~y zu{Y@Ad@T;IHH`Cw|ApNQSJip(<9Wp5k7s^;kpJ~9_4t&yXJ4OPF7Fq7z$w>O|2<{r zm#n9k-fu1A+EM)}wxUbUSn7OBI^W{gCAKH~w=cWAYL?&XtgEFrw=XObnfdm6Z2sIs z@-nW=gznY7n61+2_xt&^o*c`0|3tpApR0SVwC`tjZ}Mr6gjhx%ec|U~wf{G1$i%75 zQfch^H^ntUOx%C*N1x??KmQhN)KqA8dpuKEItnG2v2hMOW-Fap=G$hyQNr^2A%1g? z+=+9t<#MB+7jQLv&}2BYoPlFLQ-t4-k6X9YPFVZleblL?7bCRXe|)>C_4}6A@0DNt z&qPYsDF@}3t4}^$Brqj}llzyz-l!_UCu?{AN?W3$vGS4sRqNBw_QZTy{#`e1x^8~* zSMk4@%YMI(Jz_2uH!poNbLH|-)7RImf9zj&V6n#K>-x8EtzQ3oYm_-_O6m>iE2$yh zZnB?vVh}$)&^Sn7O35wz_)O)OHic`RnVQekFAKMQbkVkk_2Kc}6SK_ciXWL&^y7L^ zesS>M#H6Fydf5$A4sXxRo~@~{^h1BL_5N%FrX?c#*3RFo*}&88&zNFU^Nn%Zlj~2u gJ=i}3IdmrMvUiBi+Ig#Y))tVkr>mdKI;Vst0EzE-z5oCK literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Weapons/Guns/Rifles/foam_rifle_inhand_64x.rsi/inhand-right.png b/Resources/Textures/Objects/Weapons/Guns/Rifles/foam_rifle_inhand_64x.rsi/inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..570f8be130ba975ad5fb6cd555d53ae03b5d2178 GIT binary patch literal 876 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7xzrU^e!2aSW-r_4e*YZ)Hc3;~(Rj z7^kyv3h^|#u4y^l*m_n>?$OPNjPE?I9&`{)9?{if;Z~^{BV=R*B~- zNjR*&+x?AsinnW3!+)Kx>FwS7zQ4X5a6CKXbYZ0r7v{ffyuUsYrR9kbA^cK#%WeZ|MT?g+Y84vJvrQxXP3w9OrL}jC0IGkmUpMfA3bdJv-~5Q>&GJ@=RO$5ur4a= zvf>o@tfIh}G>=8a;mqU&4fAXE4pw>3+4sx*wL9b~@Jnw&jMlGW<1n4`{CYAP4{iFs zy;G1Z`*8hD=F{Sp%O5{UUa>7|%I4($9HEvtMqn6}?)h?h00Sy!yXxN+F3mL4e*xXyJ!{OJC5ii{piz=XAc-5~4fi?kYwg dhth%F{}|3J$g<))TBZ&X_jL7hS?83{1OOy$h}8f9 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Weapons/Guns/Rifles/foam_rifle_inhand_64x.rsi/meta.json b/Resources/Textures/Objects/Weapons/Guns/Rifles/foam_rifle_inhand_64x.rsi/meta.json new file mode 100644 index 00000000000..b89b33c08ff --- /dev/null +++ b/Resources/Textures/Objects/Weapons/Guns/Rifles/foam_rifle_inhand_64x.rsi/meta.json @@ -0,0 +1,27 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from at commit https://github.com/tgstation/tgstation/commit/f01de25493e2bd2706ef9b0303cb0d7b5e3e471b sprite created from foam force poster by IProduceWidgets (github)", + "size": { + "x": 64, + "y": 64 + }, + "states": [ + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "wielded-inhand-left", + "directions": 4 + }, + { + "name": "wielded-inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Objects/Weapons/Guns/Rifles/foam_rifle_inhand_64x.rsi/wielded-inhand-left.png b/Resources/Textures/Objects/Weapons/Guns/Rifles/foam_rifle_inhand_64x.rsi/wielded-inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..3526954b4e2d7eea3d1b3eee9d0eca653dc1e9b1 GIT binary patch literal 726 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7xzrV4Cac;uunK>+RkB-qM8<$3Ob7 zacz}SvDCO5l%YA}lJq7K5iZ%1l{=(%eeXYY$#C7l62Tln;~S129OlX}<+dM?JY=ad z>A?2OGv(!GP4WKaTeE*!OkF|E{O7-I?w|hV0kj7TXgI!N)^yF>6B9arOfgGY_4DHs z6T$CJhhI-^t>1lo^7(bw%J&>ulbe)!-SqI0(jBUw6W8z7Z;v+Wo&E0n?cX2Y-K@FO zxGVEyWX+HA<+JmiJkQ?Qqmuv3tp3K1BEK)y`&BE$Kd#sP#`GfgN$v6jr57&V4nJM> z&L;G1{{4MwanpsGPjau9c66V=Z%%Zz)fDc?&6DQz>%0ovYYCNhwjZA#EbZ42 z$WvCFzx}(K|D-t~UV(R0Cr^E{XU-L;lihS;H!Rnt#r7^p zE@d=nI`{V3^*`IP>Y~-f8>iiqjr@IM)3&8ryVr5bbEZ$r7h-+dB6VM|97wKeNX?~u*FB_YQEZk)Mnz&WqDCWVvF}% z-z~{sU%c8gv@F(G+tncFj#kyImrNhl{hDl~v3=GQ6h9Vd1<@+^x)fn7azTA`trtFiCkH^pNUR~ z1mA47tF(R+RkB*;0uz$3LED z^^VGLT@&DCePf}B&doa^cS%RnBw&_<)tv+by+VOot~cN&%X0~q&<4gTi{rO^; z=ccBri;;S%|7x`Eyx#xy_P@$!-UYe){1=s-PhNd#_xZou>V7Lc{`+@--7Px}7O`ZN z72>%|CtJxE=Rbb(?nuF`poir@+(TZioKj&?WjlAqp84mBxO6ycd>bCW+12U#yZ;MY z;@)%7Q!o2|*7@iVx_s%ojS>4MzV$Kt_59!tmD)drn`W-Qx#H`jgeCfSwteegwl9VdFo+?VCti9=Y3XJ-V&(Lsbfz2We`ak}eK+%(^53bRU(cEQxmiE` z%Y8DlPyeJ{zr6ikv8ii69Fg^4l1abryZzhR?G0bPIUdZ4c_*>^$*IgfdDhQ47G=eA z4PS0Ox7Xl^>mdKI;Vst0AXB9zyJUM literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Weapons/Guns/Shotguns/pump.rsi/meta.json b/Resources/Textures/Objects/Weapons/Guns/Shotguns/pump.rsi/meta.json index 3add3a471b6..3e793381d0f 100644 --- a/Resources/Textures/Objects/Weapons/Guns/Shotguns/pump.rsi/meta.json +++ b/Resources/Textures/Objects/Weapons/Guns/Shotguns/pump.rsi/meta.json @@ -22,4 +22,4 @@ "directions": 4 } ] -} +} \ No newline at end of file From 3358aef40f2b5525ec15e6ce01533b4e8c2ddfc9 Mon Sep 17 00:00:00 2001 From: PJBot Date: Tue, 18 Jun 2024 15:05:22 +0000 Subject: [PATCH 019/101] Automatic changelog update --- Resources/Changelog/Changelog.yml | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 6777355711f..4790f603a07 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,12 +1,4 @@ Entries: -- author: EmoGarbage404 - changes: - - message: Borgs, Emitters, and APEs can no longer have their panels opened while - locked. APEs and Emitters additionally cannot be unanchored either. - type: Add - id: 6272 - time: '2024-03-31T06:34:17.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/26600 - author: lzk228 changes: - message: Flower crown and wreath were combined. Now you can wear wreath both on @@ -3850,3 +3842,12 @@ id: 6771 time: '2024-06-18T14:10:18.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/29165 +- author: IProduceWidgets + changes: + - message: Foam Force rifle to cargo lottery! + type: Add + - message: Foam darts now stick to things they hit! + type: Tweak + id: 6772 + time: '2024-06-18T15:04:15.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/29103 From dabf3d1521fc077df00256cbb04414632ff59010 Mon Sep 17 00:00:00 2001 From: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> Date: Wed, 19 Jun 2024 07:47:19 +1000 Subject: [PATCH 020/101] Fix material storage going BRRT (#29167) If the volume hits 0 we just remove it. --- Content.Client/Lathe/UI/LatheMenu.xaml.cs | 3 --- .../Materials/SharedMaterialStorageSystem.cs | 12 ++++++++++-- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/Content.Client/Lathe/UI/LatheMenu.xaml.cs b/Content.Client/Lathe/UI/LatheMenu.xaml.cs index 9e15f8239e5..40f553fcd66 100644 --- a/Content.Client/Lathe/UI/LatheMenu.xaml.cs +++ b/Content.Client/Lathe/UI/LatheMenu.xaml.cs @@ -78,9 +78,6 @@ public LatheMenu(LatheBoundUserInterface owner) /// public void PopulateRecipes() { - if (!_entityManager.TryGetComponent(_owner, out var component)) - return; - var recipesToShow = new List(); foreach (var recipe in Recipes) { diff --git a/Content.Shared/Materials/SharedMaterialStorageSystem.cs b/Content.Shared/Materials/SharedMaterialStorageSystem.cs index a27e0fb9cf0..dc4858fd745 100644 --- a/Content.Shared/Materials/SharedMaterialStorageSystem.cs +++ b/Content.Shared/Materials/SharedMaterialStorageSystem.cs @@ -1,11 +1,13 @@ using System.Linq; using Content.Shared.Interaction; using Content.Shared.Interaction.Components; +using Content.Shared.Mobs; using Content.Shared.Stacks; using Content.Shared.Whitelist; using JetBrains.Annotations; using Robust.Shared.Prototypes; using Robust.Shared.Timing; +using Robust.Shared.Utility; namespace Content.Shared.Materials; @@ -166,8 +168,14 @@ public bool TryChangeMaterialAmount(EntityUid uid, string materialId, int volume return false; if (!CanChangeMaterialAmount(uid, materialId, volume, component)) return false; - component.Storage.TryAdd(materialId, 0); - component.Storage[materialId] += volume; + + var existing = component.Storage.GetOrNew(materialId); + existing += volume; + + if (existing == 0) + component.Storage.Remove(materialId); + else + component.Storage[materialId] = existing; var ev = new MaterialAmountChangedEvent(); RaiseLocalEvent(uid, ref ev); From 0b98ce83f0218841fc9b0afce97cccd00013b601 Mon Sep 17 00:00:00 2001 From: PJBot Date: Tue, 18 Jun 2024 21:48:25 +0000 Subject: [PATCH 021/101] 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 4790f603a07..41c3e8c8835 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,12 +1,4 @@ Entries: -- author: lzk228 - changes: - - message: Flower crown and wreath were combined. Now you can wear wreath both on - head and on neck. - type: Tweak - id: 6273 - time: '2024-03-31T08:52:52.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/26605 - author: Ubaser changes: - message: Throwing knives now additionally do armour piercing damage. @@ -3851,3 +3843,10 @@ id: 6772 time: '2024-06-18T15:04:15.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/29103 +- author: metalgearsloth + changes: + - message: Fix lathe materials sometimes flickering. + type: Fix + id: 6773 + time: '2024-06-18T21:47:19.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/29167 From 707f1f4981ce1e0bdc6c8356351f25d370c84a70 Mon Sep 17 00:00:00 2001 From: osjarw <62134478+osjarw@users.noreply.github.com> Date: Wed, 19 Jun 2024 03:20:57 +0300 Subject: [PATCH 022/101] Fix air alarms (#29172) Broken by #28272 --- Content.Server/Atmos/Monitor/Systems/AtmosAlarmableSystem.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Content.Server/Atmos/Monitor/Systems/AtmosAlarmableSystem.cs b/Content.Server/Atmos/Monitor/Systems/AtmosAlarmableSystem.cs index 2875d4a3d5d..1b3b11068c5 100644 --- a/Content.Server/Atmos/Monitor/Systems/AtmosAlarmableSystem.cs +++ b/Content.Server/Atmos/Monitor/Systems/AtmosAlarmableSystem.cs @@ -11,6 +11,7 @@ using Robust.Server.Audio; using Robust.Server.GameObjects; using Robust.Shared.Audio; +using Robust.Shared.Prototypes; using Robust.Shared.Utility; namespace Content.Server.Atmos.Monitor.Systems; @@ -86,7 +87,7 @@ private void OnPacketRecv(EntityUid uid, AtmosAlarmableComponent component, Devi return; if (!args.Data.TryGetValue(DeviceNetworkConstants.Command, out string? cmd) - || !args.Data.TryGetValue(AlertSource, out HashSet? sourceTags)) + || !args.Data.TryGetValue(AlertSource, out HashSet>? sourceTags)) { return; } From baa683648908dccb4004fb6a0bb250f27e101957 Mon Sep 17 00:00:00 2001 From: PJBot Date: Wed, 19 Jun 2024 00:22:03 +0000 Subject: [PATCH 023/101] 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 41c3e8c8835..5349a890801 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: Ubaser - changes: - - message: Throwing knives now additionally do armour piercing damage. - type: Tweak - id: 6274 - time: '2024-03-31T11:48:36.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/26380 - author: graevy changes: - message: clicking the brig timer button will now cancel its countdown @@ -3850,3 +3843,10 @@ id: 6773 time: '2024-06-18T21:47:19.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/29167 +- author: osjarw + changes: + - message: Fix air alarms not alarming air. + type: Fix + id: 6774 + time: '2024-06-19T00:20:57.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/29172 From 9b2f9ce05f7efc5ad57c45b8dd4295902ff08c72 Mon Sep 17 00:00:00 2001 From: Errant <35878406+Errant-4@users.noreply.github.com> Date: Wed, 19 Jun 2024 02:26:46 +0200 Subject: [PATCH 024/101] Hidden loadout groups (#29170) * loadout hiding * department of redundancy department --- Content.Client/Lobby/UI/Loadouts/LoadoutWindow.xaml.cs | 3 +++ .../Preferences/Loadouts/LoadoutGroupPrototype.cs | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/Content.Client/Lobby/UI/Loadouts/LoadoutWindow.xaml.cs b/Content.Client/Lobby/UI/Loadouts/LoadoutWindow.xaml.cs index 2737eef1f1a..d029eb1223d 100644 --- a/Content.Client/Lobby/UI/Loadouts/LoadoutWindow.xaml.cs +++ b/Content.Client/Lobby/UI/Loadouts/LoadoutWindow.xaml.cs @@ -29,6 +29,9 @@ public LoadoutWindow(HumanoidCharacterProfile profile, RoleLoadout loadout, Role if (!protoManager.TryIndex(group, out var groupProto)) continue; + if (groupProto.Hidden) + continue; + var container = new LoadoutGroupContainer(profile, loadout, protoManager.Index(group), session, collection); LoadoutGroupsContainer.AddTab(container, Loc.GetString(groupProto.Name)); _groups.Add(container); diff --git a/Content.Shared/Preferences/Loadouts/LoadoutGroupPrototype.cs b/Content.Shared/Preferences/Loadouts/LoadoutGroupPrototype.cs index 1d41f8dd7f9..0c787e965f1 100644 --- a/Content.Shared/Preferences/Loadouts/LoadoutGroupPrototype.cs +++ b/Content.Shared/Preferences/Loadouts/LoadoutGroupPrototype.cs @@ -29,6 +29,12 @@ public sealed partial class LoadoutGroupPrototype : IPrototype [DataField] public int MaxLimit = 1; + /// + /// Hides the loadout group from the player. + /// + [DataField] + public bool Hidden; + [DataField(required: true)] public List> Loadouts = new(); } From 81136648da5561eb8d04eb5e74f1103b6f6b8ebb Mon Sep 17 00:00:00 2001 From: Vasilis Date: Wed, 19 Jun 2024 03:27:12 +0300 Subject: [PATCH 025/101] Upgrade rsi-diff's changed files action | Make it only return rsi and png changes (#29185) It was brought up to me in https://github.com/space-wizards/space-station-14/pull/29179#issuecomment-2177140740 (and from a dm from them) that space bars can cause issues with the rsi bot. Upon investigation its case we use "space-delimited" on the "get changes files" check. Which returns ALL changed files. Even if the change has nothing to do with png's or rsi's (example a downstream merging upstream) --- .github/workflows/rsi-diff.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/rsi-diff.yml b/.github/workflows/rsi-diff.yml index 1f122526d73..98cc97e9221 100644 --- a/.github/workflows/rsi-diff.yml +++ b/.github/workflows/rsi-diff.yml @@ -15,9 +15,12 @@ jobs: - name: Get changed files id: files - uses: Ana06/get-changed-files@v1.2 + uses: Ana06/get-changed-files@v2.3.0 with: format: 'space-delimited' + filter: | + **.rsi + **.png - name: Diff changed RSIs id: diff From 0910983c4b538caf1445b56ca74bb4082de484f3 Mon Sep 17 00:00:00 2001 From: deltanedas <39013340+deltanedas@users.noreply.github.com> Date: Wed, 19 Jun 2024 00:29:06 +0000 Subject: [PATCH 026/101] unhardcode thief MaxSelectedSets (#29175) * unhardcode thief MaxSelectedSets * we do a little copy paste :trollface: * :trollface: --------- Co-authored-by: deltanedas <@deltanedas:kde.org> --- Content.Client/Thief/ThiefBackpackMenu.xaml | 2 +- Content.Client/Thief/ThiefBackpackMenu.xaml.cs | 1 + .../Thief/Components/ThiefUndeterminedBackpackComponent.cs | 6 ++++++ .../Thief/Systems/ThiefUndeterminedBackpackSystem.cs | 5 ++--- Resources/Locale/en-US/thief/backpack.ftl | 5 ++++- 5 files changed, 14 insertions(+), 5 deletions(-) diff --git a/Content.Client/Thief/ThiefBackpackMenu.xaml b/Content.Client/Thief/ThiefBackpackMenu.xaml index c1739eb321d..e46f18d4ed5 100644 --- a/Content.Client/Thief/ThiefBackpackMenu.xaml +++ b/Content.Client/Thief/ThiefBackpackMenu.xaml @@ -5,7 +5,7 @@ MinSize="700 700"> - public static readonly CVarDef - MeteorSwarmMinTime = CVarDef.Create("events.meteor_swarm_min_time", 7.5f, CVar.ARCHIVE | CVar.SERVERONLY); + MeteorSwarmMinTime = CVarDef.Create("events.meteor_swarm_min_time", 12.5f, CVar.ARCHIVE | CVar.SERVERONLY); /// /// Maximum time between meteor swarms in minutes. /// public static readonly CVarDef - MeteorSwarmMaxTime = CVarDef.Create("events.meteor_swarm_max_time", 12.5f, CVar.ARCHIVE | CVar.SERVERONLY); + MeteorSwarmMaxTime = CVarDef.Create("events.meteor_swarm_max_time", 17.5f, CVar.ARCHIVE | CVar.SERVERONLY); /* * Game From bb6215142dc749db9fe7a6addd296f4c203faec3 Mon Sep 17 00:00:00 2001 From: PJBot Date: Wed, 19 Jun 2024 01:58:06 +0000 Subject: [PATCH 029/101] 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 5349a890801..540a2404bdd 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: graevy - changes: - - message: clicking the brig timer button will now cancel its countdown - type: Tweak - id: 6275 - time: '2024-03-31T20:44:02.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/26557 - author: lzk228 changes: - message: Briefcases was added to CuraDrobe and LawDrobe. @@ -3850,3 +3843,10 @@ id: 6774 time: '2024-06-19T00:20:57.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/29172 +- author: EmoGarbage404 + changes: + - message: Slightly decreased meteor frequency. + type: Tweak + id: 6775 + time: '2024-06-19T01:57:00.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/29194 From 4cf60f805e87775f6dc6151310fa61ccee4ff710 Mon Sep 17 00:00:00 2001 From: Flareguy <78941145+Flareguy@users.noreply.github.com> Date: Tue, 18 Jun 2024 21:04:03 -0500 Subject: [PATCH 030/101] Security Resprite (#29082) * security resprite * hos cap fix * i forgor * further fixes * my furniture is broken * fedora update --- .../VendingMachines/Inventories/detdrobe.yml | 3 +- .../Entities/Clothing/Head/hats.yml | 4 +- .../Entities/Clothing/OuterClothing/coats.yml | 36 +++++++------- .../Entities/Clothing/Uniforms/jumpskirts.yml | 44 ++++++++++++++++++ .../Entities/Clothing/Uniforms/jumpsuits.yml | 36 ++++++++++++++ .../equipped-HELMET-hamster.png | Bin 570 -> 0 bytes .../Hats/brownfedora.rsi/equipped-HELMET.png | Bin 516 -> 283 bytes .../Head/Hats/brownfedora.rsi/icon.png | Bin 315 -> 273 bytes .../Head/Hats/brownfedora.rsi/inhand-left.png | Bin 465 -> 267 bytes .../Hats/brownfedora.rsi/inhand-right.png | Bin 435 -> 266 bytes .../Head/Hats/brownfedora.rsi/meta.json | 6 +-- .../Hats/greyfedora.rsi/equipped-HELMET.png | Bin 382 -> 283 bytes .../Head/Hats/greyfedora.rsi/icon.png | Bin 287 -> 273 bytes .../Head/Hats/greyfedora.rsi/inhand-left.png | Bin 371 -> 267 bytes .../Head/Hats/greyfedora.rsi/inhand-right.png | Bin 365 -> 267 bytes .../Head/Hats/greyfedora.rsi/meta.json | 2 +- .../hoshat.rsi/equipped-HELMET-hamster.png | Bin 609 -> 0 bytes .../Head/Hats/hoshat.rsi/equipped-HELMET.png | Bin 660 -> 505 bytes .../Clothing/Head/Hats/hoshat.rsi/icon.png | Bin 336 -> 365 bytes .../Head/Hats/hoshat.rsi/inhand-left.png | Bin 657 -> 315 bytes .../Head/Hats/hoshat.rsi/inhand-right.png | Bin 651 -> 310 bytes .../Clothing/Head/Hats/hoshat.rsi/meta.json | 6 +-- .../light_riot.rsi/equipped-HELMET-vox.png | Bin 924 -> 1033 bytes .../light_riot.rsi/equipped-HELMET.png | Bin 827 -> 861 bytes .../Helmets/light_riot.rsi/inhand-left.png | Bin 708 -> 570 bytes .../Helmets/light_riot.rsi/inhand-right.png | Bin 707 -> 566 bytes .../Head/Helmets/light_riot.rsi/meta.json | 2 +- .../security.rsi/equipped-HELMET-vox.png | Bin 956 -> 832 bytes .../Helmets/security.rsi/equipped-HELMET.png | Bin 880 -> 787 bytes .../Head/Helmets/security.rsi/inhand-left.png | Bin 653 -> 387 bytes .../Helmets/security.rsi/inhand-right.png | Bin 639 -> 380 bytes .../security.rsi/light-equipped-HELMET.png | Bin 952 -> 0 bytes .../security.rsi/lighton-equipped-HELMET.png | Bin 1070 -> 0 bytes .../Head/Helmets/security.rsi/meta.json | 10 +--- .../Helmets/swat.rsi/equipped-HELMET-vox.png | Bin 727 -> 785 bytes .../Head/Helmets/swat.rsi/equipped-HELMET.png | Bin 688 -> 712 bytes .../Head/Helmets/swat.rsi/inhand-left.png | Bin 649 -> 387 bytes .../Head/Helmets/swat.rsi/inhand-right.png | Bin 845 -> 380 bytes .../Clothing/Head/Helmets/swat.rsi/meta.json | 2 +- .../equipped-HELMET-vox.png | Bin 847 -> 853 bytes .../swat_syndicate.rsi/inhand-left.png | Bin 658 -> 573 bytes .../swat_syndicate.rsi/inhand-right.png | Bin 666 -> 558 bytes .../Head/Helmets/swat_syndicate.rsi/meta.json | 2 +- .../equipped-OUTERCLOTHING-vox.png | Bin 0 -> 603 bytes .../detective.rsi/equipped-OUTERCLOTHING.png | Bin 1212 -> 580 bytes .../Coats/detective.rsi/icon.png | Bin 511 -> 372 bytes .../Coats/detective.rsi/inhand-left.png | Bin 473 -> 493 bytes .../Coats/detective.rsi/inhand-right.png | Bin 463 -> 512 bytes .../Coats/detective.rsi/meta.json | 8 +++- .../equipped-OUTERCLOTHING-vox.png | Bin 0 -> 584 bytes .../equipped-OUTERCLOTHING.png | Bin 0 -> 542 bytes .../Coats/detective_grey.rsi/icon.png | Bin 0 -> 293 bytes .../Coats/detective_grey.rsi/inhand-left.png | Bin 0 -> 372 bytes .../Coats/detective_grey.rsi/inhand-right.png | Bin 0 -> 364 bytes .../Coats/detective_grey.rsi/meta.json | 30 ++++++++++++ .../equipped-OUTERCLOTHING-vox.png | Bin 637 -> 739 bytes .../equipped-OUTERCLOTHING.png | Bin 1200 -> 657 bytes .../Coats/hos_trenchcoat.rsi/icon.png | Bin 498 -> 328 bytes .../Coats/hos_trenchcoat.rsi/inhand-left.png | Bin 705 -> 369 bytes .../Coats/hos_trenchcoat.rsi/inhand-right.png | Bin 693 -> 373 bytes .../Coats/hos_trenchcoat.rsi/meta.json | 2 +- .../insp_coat.rsi/equipped-OUTERCLOTHING.png | Bin 972 -> 0 bytes .../Coats/insp_coat.rsi/icon.png | Bin 435 -> 0 bytes .../Coats/insp_coat.rsi/inhand-left.png | Bin 543 -> 0 bytes .../Coats/insp_coat.rsi/inhand-right.png | Bin 540 -> 0 bytes .../Coats/insp_coat.rsi/meta.json | 26 ----------- .../warden.rsi/equipped-OUTERCLOTHING-vox.png | Bin 1780 -> 849 bytes .../warden.rsi/equipped-OUTERCLOTHING.png | Bin 1610 -> 842 bytes .../OuterClothing/Coats/warden.rsi/icon.png | Bin 428 -> 354 bytes .../Coats/warden.rsi/inhand-left.png | Bin 6829 -> 2058 bytes .../Coats/warden.rsi/inhand-right.png | Bin 6857 -> 2066 bytes .../OuterClothing/Coats/warden.rsi/meta.json | 2 +- .../equipped-OUTERCLOTHING-vox.png | Bin 475 -> 503 bytes .../detvest.rsi/equipped-OUTERCLOTHING.png | Bin 799 -> 762 bytes .../OuterClothing/Vests/detvest.rsi/icon.png | Bin 282 -> 496 bytes .../Vests/detvest.rsi/inhand-left.png | Bin 306 -> 383 bytes .../Vests/detvest.rsi/inhand-right.png | Bin 339 -> 387 bytes .../OuterClothing/Vests/detvest.rsi/meta.json | 2 +- .../hos.rsi/equipped-INNERCLOTHING-monkey.png | Bin 20659 -> 0 bytes .../hos.rsi/equipped-INNERCLOTHING.png | Bin 1234 -> 636 bytes .../Uniforms/Jumpskirt/hos.rsi/icon.png | Bin 282 -> 363 bytes .../Jumpskirt/hos.rsi/inhand-left.png | Bin 403 -> 0 bytes .../Jumpskirt/hos.rsi/inhand-right.png | Bin 410 -> 0 bytes .../Uniforms/Jumpskirt/hos.rsi/meta.json | 14 +----- .../equipped-INNERCLOTHING-monkey.png | Bin 7655 -> 0 bytes .../security.rsi/equipped-INNERCLOTHING.png | Bin 636 -> 637 bytes .../Uniforms/Jumpskirt/security.rsi/icon.png | Bin 338 -> 367 bytes .../Jumpskirt/security.rsi/inhand-left.png | Bin 358 -> 0 bytes .../Jumpskirt/security.rsi/inhand-right.png | Bin 362 -> 0 bytes .../Uniforms/Jumpskirt/security.rsi/meta.json | 14 +----- .../equipped-INNERCLOTHING-monkey.png | Bin 21144 -> 0 bytes .../warden.rsi/equipped-INNERCLOTHING.png | Bin 1209 -> 628 bytes .../Uniforms/Jumpskirt/warden.rsi/icon.png | Bin 531 -> 364 bytes .../Jumpskirt/warden.rsi/inhand-left.png | Bin 395 -> 0 bytes .../Jumpskirt/warden.rsi/inhand-right.png | Bin 402 -> 0 bytes .../Uniforms/Jumpskirt/warden.rsi/meta.json | 14 +----- .../hos.rsi/equipped-INNERCLOTHING-monkey.png | Bin 21053 -> 0 bytes .../hos.rsi/equipped-INNERCLOTHING.png | Bin 1432 -> 667 bytes .../Uniforms/Jumpsuit/hos.rsi/icon.png | Bin 234 -> 353 bytes .../Uniforms/Jumpsuit/hos.rsi/inhand-left.png | Bin 403 -> 0 bytes .../Jumpsuit/hos.rsi/inhand-right.png | Bin 410 -> 0 bytes .../Uniforms/Jumpsuit/hos.rsi/meta.json | 10 ++-- .../Jumpsuit/hos.rsi/overlay-inhand-left.png | Bin 0 -> 346 bytes .../Jumpsuit/hos.rsi/overlay-inhand-right.png | Bin 0 -> 355 bytes .../equipped-INNERCLOTHING-monkey.png | Bin 20638 -> 0 bytes .../security.rsi/equipped-INNERCLOTHING.png | Bin 663 -> 666 bytes .../Uniforms/Jumpsuit/security.rsi/icon.png | Bin 323 -> 336 bytes .../Jumpsuit/security.rsi/inhand-left.png | Bin 358 -> 0 bytes .../Jumpsuit/security.rsi/inhand-right.png | Bin 362 -> 0 bytes .../Uniforms/Jumpsuit/security.rsi/meta.json | 10 ++-- .../security.rsi/overlay-inhand-left.png | Bin 0 -> 283 bytes .../security.rsi/overlay-inhand-right.png | Bin 0 -> 282 bytes .../equipped-INNERCLOTHING-monkey.png | Bin 20831 -> 0 bytes .../warden.rsi/equipped-INNERCLOTHING.png | Bin 1412 -> 661 bytes .../Uniforms/Jumpsuit/warden.rsi/icon.png | Bin 432 -> 349 bytes .../Jumpsuit/warden.rsi/inhand-left.png | Bin 395 -> 0 bytes .../Jumpsuit/warden.rsi/inhand-right.png | Bin 402 -> 0 bytes .../Uniforms/Jumpsuit/warden.rsi/meta.json | 10 ++-- .../warden.rsi/overlay-inhand-left.png | Bin 0 -> 338 bytes .../warden.rsi/overlay-inhand-right.png | Bin 0 -> 341 bytes Resources/migration.yml | 3 ++ 121 files changed, 161 insertions(+), 137 deletions(-) delete mode 100644 Resources/Textures/Clothing/Head/Hats/brownfedora.rsi/equipped-HELMET-hamster.png delete mode 100644 Resources/Textures/Clothing/Head/Hats/hoshat.rsi/equipped-HELMET-hamster.png delete mode 100644 Resources/Textures/Clothing/Head/Helmets/security.rsi/light-equipped-HELMET.png delete mode 100644 Resources/Textures/Clothing/Head/Helmets/security.rsi/lighton-equipped-HELMET.png create mode 100644 Resources/Textures/Clothing/OuterClothing/Coats/detective.rsi/equipped-OUTERCLOTHING-vox.png create mode 100644 Resources/Textures/Clothing/OuterClothing/Coats/detective_grey.rsi/equipped-OUTERCLOTHING-vox.png create mode 100644 Resources/Textures/Clothing/OuterClothing/Coats/detective_grey.rsi/equipped-OUTERCLOTHING.png create mode 100644 Resources/Textures/Clothing/OuterClothing/Coats/detective_grey.rsi/icon.png create mode 100644 Resources/Textures/Clothing/OuterClothing/Coats/detective_grey.rsi/inhand-left.png create mode 100644 Resources/Textures/Clothing/OuterClothing/Coats/detective_grey.rsi/inhand-right.png create mode 100644 Resources/Textures/Clothing/OuterClothing/Coats/detective_grey.rsi/meta.json delete mode 100644 Resources/Textures/Clothing/OuterClothing/Coats/insp_coat.rsi/equipped-OUTERCLOTHING.png delete mode 100644 Resources/Textures/Clothing/OuterClothing/Coats/insp_coat.rsi/icon.png delete mode 100644 Resources/Textures/Clothing/OuterClothing/Coats/insp_coat.rsi/inhand-left.png delete mode 100644 Resources/Textures/Clothing/OuterClothing/Coats/insp_coat.rsi/inhand-right.png delete mode 100644 Resources/Textures/Clothing/OuterClothing/Coats/insp_coat.rsi/meta.json delete mode 100644 Resources/Textures/Clothing/Uniforms/Jumpskirt/hos.rsi/equipped-INNERCLOTHING-monkey.png delete mode 100644 Resources/Textures/Clothing/Uniforms/Jumpskirt/hos.rsi/inhand-left.png delete mode 100644 Resources/Textures/Clothing/Uniforms/Jumpskirt/hos.rsi/inhand-right.png delete mode 100644 Resources/Textures/Clothing/Uniforms/Jumpskirt/security.rsi/equipped-INNERCLOTHING-monkey.png delete mode 100644 Resources/Textures/Clothing/Uniforms/Jumpskirt/security.rsi/inhand-left.png delete mode 100644 Resources/Textures/Clothing/Uniforms/Jumpskirt/security.rsi/inhand-right.png delete mode 100644 Resources/Textures/Clothing/Uniforms/Jumpskirt/warden.rsi/equipped-INNERCLOTHING-monkey.png delete mode 100644 Resources/Textures/Clothing/Uniforms/Jumpskirt/warden.rsi/inhand-left.png delete mode 100644 Resources/Textures/Clothing/Uniforms/Jumpskirt/warden.rsi/inhand-right.png delete mode 100644 Resources/Textures/Clothing/Uniforms/Jumpsuit/hos.rsi/equipped-INNERCLOTHING-monkey.png delete mode 100644 Resources/Textures/Clothing/Uniforms/Jumpsuit/hos.rsi/inhand-left.png delete mode 100644 Resources/Textures/Clothing/Uniforms/Jumpsuit/hos.rsi/inhand-right.png create mode 100644 Resources/Textures/Clothing/Uniforms/Jumpsuit/hos.rsi/overlay-inhand-left.png create mode 100644 Resources/Textures/Clothing/Uniforms/Jumpsuit/hos.rsi/overlay-inhand-right.png delete mode 100644 Resources/Textures/Clothing/Uniforms/Jumpsuit/security.rsi/equipped-INNERCLOTHING-monkey.png delete mode 100644 Resources/Textures/Clothing/Uniforms/Jumpsuit/security.rsi/inhand-left.png delete mode 100644 Resources/Textures/Clothing/Uniforms/Jumpsuit/security.rsi/inhand-right.png create mode 100644 Resources/Textures/Clothing/Uniforms/Jumpsuit/security.rsi/overlay-inhand-left.png create mode 100644 Resources/Textures/Clothing/Uniforms/Jumpsuit/security.rsi/overlay-inhand-right.png delete mode 100644 Resources/Textures/Clothing/Uniforms/Jumpsuit/warden.rsi/equipped-INNERCLOTHING-monkey.png delete mode 100644 Resources/Textures/Clothing/Uniforms/Jumpsuit/warden.rsi/inhand-left.png delete mode 100644 Resources/Textures/Clothing/Uniforms/Jumpsuit/warden.rsi/inhand-right.png create mode 100644 Resources/Textures/Clothing/Uniforms/Jumpsuit/warden.rsi/overlay-inhand-left.png create mode 100644 Resources/Textures/Clothing/Uniforms/Jumpsuit/warden.rsi/overlay-inhand-right.png diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/detdrobe.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/detdrobe.yml index 91e45c83916..a67ed9397b3 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/detdrobe.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/detdrobe.yml @@ -4,7 +4,8 @@ ClothingUniformJumpsuitDetective: 2 ClothingUniformJumpskirtDetective: 2 ClothingShoesColorBrown: 2 - ClothingOuterCoatDetectiveLoadout: 2 + ClothingOuterCoatDetectiveLoadout: 1 + ClothingOuterCoatDetectiveLoadoutGrey: 1 ClothingHeadHatFedoraBrown: 2 ClothingUniformJumpsuitDetectiveGrey: 2 ClothingUniformJumpskirtDetectiveGrey: 2 diff --git a/Resources/Prototypes/Entities/Clothing/Head/hats.yml b/Resources/Prototypes/Entities/Clothing/Head/hats.yml index ca3ba080b76..462b1cb8895 100644 --- a/Resources/Prototypes/Entities/Clothing/Head/hats.yml +++ b/Resources/Prototypes/Entities/Clothing/Head/hats.yml @@ -317,8 +317,8 @@ - type: entity parent: ClothingHeadBase id: ClothingHeadHatHoshat - name: head of security's hat - description: "There's a new sheriff in station." + name: head of security cap + description: The robust standard-issue cap of the Head of Security. For showing the officers who's in charge. components: - type: Sprite sprite: Clothing/Head/Hats/hoshat.rsi diff --git a/Resources/Prototypes/Entities/Clothing/OuterClothing/coats.yml b/Resources/Prototypes/Entities/Clothing/OuterClothing/coats.yml index b5b969551c7..fa937c1ccc6 100644 --- a/Resources/Prototypes/Entities/Clothing/OuterClothing/coats.yml +++ b/Resources/Prototypes/Entities/Clothing/OuterClothing/coats.yml @@ -10,10 +10,10 @@ sprite: Clothing/OuterClothing/Coats/bomber.rsi - type: entity - parent: [ClothingOuterStorageBase, AllowSuitStorageClothing] + parent: [ClothingOuterStorageBase, AllowSuitStorageClothing, ClothingOuterArmorBasic] id: ClothingOuterCoatDetective name: detective trenchcoat - description: A rugged canvas trenchcoat, designed and created by TX Fabrication Corp. Wearing it makes you feel for the plight of the Tibetans. + description: An 18th-century multi-purpose trenchcoat. Someone who wears this means serious business. components: - type: Sprite sprite: Clothing/OuterClothing/Coats/detective.rsi @@ -23,13 +23,20 @@ contents: - id: SmokingPipeFilledTobacco - id: FlippoEngravedLighter - - type: Armor #same as regular sec armor - modifiers: - coefficients: - Blunt: 0.70 - Slash: 0.70 - Piercing: 0.70 - Heat: 0.80 + - type: ExplosionResistance + damageCoefficient: 1 #its a coat. it doesnt do shit + +- type: entity + parent: [ClothingOuterCoatDetectiveLoadout] + id: ClothingOuterCoatDetectiveLoadoutGrey + name: noir trenchcoat + description: Ah, your trusty coat. There's a few tears here and there, giving it a more timely look. Or at least, that's what you told yourself when you found out gettin' it repaired would set you back 200 speos. + components: + - type: Sprite + sprite: Clothing/OuterClothing/Coats/detective_grey.rsi + - type: Clothing + sprite: Clothing/OuterClothing/Coats/detective_grey.rsi + - type: entity parent: ClothingOuterCoatDetective @@ -93,17 +100,6 @@ - type: Clothing sprite: Clothing/OuterClothing/Coats/hos_trenchcoat.rsi -- type: entity - parent: ClothingOuterStorageBase - id: ClothingOuterCoatInspector - name: inspector's coat - description: A strict inspector's coat for being intimidating during inspections. - components: - - type: Sprite - sprite: Clothing/OuterClothing/Coats/insp_coat.rsi - - type: Clothing - sprite: Clothing/OuterClothing/Coats/insp_coat.rsi - - type: entity parent: ClothingOuterStorageToggleableBase id: ClothingOuterCoatJensen diff --git a/Resources/Prototypes/Entities/Clothing/Uniforms/jumpskirts.yml b/Resources/Prototypes/Entities/Clothing/Uniforms/jumpskirts.yml index ea7b4ea0aab..5ef711556b5 100644 --- a/Resources/Prototypes/Entities/Clothing/Uniforms/jumpskirts.yml +++ b/Resources/Prototypes/Entities/Clothing/Uniforms/jumpskirts.yml @@ -184,6 +184,20 @@ sprite: Clothing/Uniforms/Jumpskirt/hos.rsi - type: Clothing sprite: Clothing/Uniforms/Jumpskirt/hos.rsi + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#C12D30" + sprite: Clothing/Uniforms/Jumpskirt/color.rsi + - state: overlay-inhand-left + sprite: Clothing/Uniforms/Jumpsuit/hos.rsi + right: + - state: inhand-right + color: "#C12D30" + sprite: Clothing/Uniforms/Jumpskirt/color.rsi + - state: overlay-inhand-right + sprite: Clothing/Uniforms/Jumpsuit/hos.rsi - type: entity parent: ClothingUniformSkirtBase @@ -377,6 +391,21 @@ sprite: Clothing/Uniforms/Jumpskirt/security.rsi - type: Clothing sprite: Clothing/Uniforms/Jumpskirt/security.rsi + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#C12D30" + sprite: Clothing/Uniforms/Jumpskirt/color.rsi + - state: overlay-inhand-left + sprite: Clothing/Uniforms/Jumpsuit/security.rsi + right: + - state: inhand-right + color: "#C12D30" + sprite: Clothing/Uniforms/Jumpskirt/color.rsi + - state: overlay-inhand-right + sprite: Clothing/Uniforms/Jumpsuit/security.rsi + - type: entity parent: ClothingUniformSkirtBase @@ -388,6 +417,21 @@ sprite: Clothing/Uniforms/Jumpskirt/warden.rsi - type: Clothing sprite: Clothing/Uniforms/Jumpskirt/warden.rsi + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#C12D30" + sprite: Clothing/Uniforms/Jumpskirt/color.rsi + - state: overlay-inhand-left + sprite: Clothing/Uniforms/Jumpsuit/warden.rsi + right: + - state: inhand-right + color: "#C12D30" + sprite: Clothing/Uniforms/Jumpskirt/color.rsi + - state: overlay-inhand-right + sprite: Clothing/Uniforms/Jumpsuit/warden.rsi + - type: entity parent: ClothingUniformSkirtBase diff --git a/Resources/Prototypes/Entities/Clothing/Uniforms/jumpsuits.yml b/Resources/Prototypes/Entities/Clothing/Uniforms/jumpsuits.yml index a7135305150..a5e57a608d9 100644 --- a/Resources/Prototypes/Entities/Clothing/Uniforms/jumpsuits.yml +++ b/Resources/Prototypes/Entities/Clothing/Uniforms/jumpsuits.yml @@ -340,6 +340,18 @@ sprite: Clothing/Uniforms/Jumpsuit/hos.rsi - type: Clothing sprite: Clothing/Uniforms/Jumpsuit/hos.rsi + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#C12D30" + sprite: Clothing/Uniforms/Jumpsuit/color.rsi + - state: overlay-inhand-left + right: + - state: inhand-right + color: "#C12D30" + sprite: Clothing/Uniforms/Jumpsuit/color.rsi + - state: overlay-inhand-right - type: entity parent: ClothingUniformBase @@ -588,6 +600,18 @@ sprite: Clothing/Uniforms/Jumpsuit/security.rsi - type: Clothing sprite: Clothing/Uniforms/Jumpsuit/security.rsi + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#C12D30" + sprite: Clothing/Uniforms/Jumpsuit/color.rsi + - state: overlay-inhand-left + right: + - state: inhand-right + color: "#C12D30" + sprite: Clothing/Uniforms/Jumpsuit/color.rsi + - state: overlay-inhand-right - type: entity parent: ClothingUniformBase @@ -621,6 +645,18 @@ sprite: Clothing/Uniforms/Jumpsuit/warden.rsi - type: Clothing sprite: Clothing/Uniforms/Jumpsuit/warden.rsi + - type: Item + inhandVisuals: + left: + - state: inhand-left + color: "#C12D30" + sprite: Clothing/Uniforms/Jumpsuit/color.rsi + - state: overlay-inhand-left + right: + - state: inhand-right + color: "#C12D30" + sprite: Clothing/Uniforms/Jumpsuit/color.rsi + - state: overlay-inhand-right - type: entity parent: ClothingUniformBase diff --git a/Resources/Textures/Clothing/Head/Hats/brownfedora.rsi/equipped-HELMET-hamster.png b/Resources/Textures/Clothing/Head/Hats/brownfedora.rsi/equipped-HELMET-hamster.png deleted file mode 100644 index ca8f4f241114cb7135cfe6dcb527e2ef72b8006d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 570 zcmV-A0>%A_P)E(?i5P|_TEg%%YU@*w{H@ZccgD`#kqRC_ue4gNfrUm!{ zI6m0P+2z^C5+zAelx0~~{Pz~$X|20V=U2Dh=ki`SPXO=kL`Veq0^sEF;rQ#VuKX%< zNeI0P-T=zcuM;g5;0wU5V#HtNPrcmv~(f?T4b&CMFOlirKJ-I&?0N4 zFA`wIDJ`9UNIarhXiUHKU)=nQ%(U3w2gu3~J&==wIej)(wshppy%TLw+ z4S)~AuhI-4bS}U_5CLEpcu;}A>aYUO2xwgew{P8mgmhmK06zHX_Ch{9OeyInbaJt) zo`mXr0y{rCx}hx1XnfhHv%62xSwux4cQ*F501&%F+WL?HZNjnlM*?DZNLwEgpiMaT z{zyRV4r%K{0<;Oo-X95w-63s#NPsrs*!v>^u{)%#uk{J|2E(DcL00t7ng9R*07*qo IM6N<$f`o4a)&Kwi diff --git a/Resources/Textures/Clothing/Head/Hats/brownfedora.rsi/equipped-HELMET.png b/Resources/Textures/Clothing/Head/Hats/brownfedora.rsi/equipped-HELMET.png index 36056a0e4effd66116a4fb7938e522d61b217ee4..3eadec710e68b337eee1a8e7f66017c708a91c3f 100644 GIT binary patch delta 267 zcmZo+nawmovYwfNfno0U#y3EUu{g-xiDBJ2nU_EgOS+@4BLl<6e(pbstUx|bfKP~P zxPxkKoRx*91W@3g!QF!(btOT5!TJ3`31=5EbxddW?m#0A z&R{*#7Ha2LR;qN^NS>|wL0X&S12&iCxyp?!4osX4EJ6+PTut2*_XKa>P}W>8G2xf} zk9R7pim%xt9Z&pn3=@!G%yTHXVJGClpfZ8MLxIsk~djv*CsZ)a`vVs;d0GoQM2fq~U&T`N`Ty_#_m}RR zxx;q9n&$KUJLj4I{Vg{?Zcjahqb60GwR5%co ze5cNlp?uM`XN?Tmy@kJ78Siw~N6ltuT4Q?btvE}8dRDF+$A)VX+v5dr>R8#?w^RAR z%DFBKk_)yU_%~~=%y#+d>+^4xv$);oU(o!E;m^TZflG`Pu~o)%e}!3fHN3N~61u-t zeL}Xo!u2|*5Qf?>nk{y$JLOsz{%v?Si!U$p_#^>Qhgb5;p8XbRcvhyer;(v^ifMKO z!`ZhU70ir6n%UPF7-!v{_<@Z{CFt53MkbT($`5&2JeI79WM;|8b3Y`_F~K8pGaJW+ oJAEzY0typ1rS#3!GdB6nIz;$o%_%_O49jH5OL;2TltOn{%BWPhwZ%6?nUEouq%lh9AjT0&X?|(z5El<84RATelF{r5}E+pBV2C) delta 299 zcmV+`0o4AH0=oi`8Gi-<0047(dh`GQ0Rl-xK~z{rV`La$z&OD6GmJW5Gz3ONU^E2C z3V}pFi~qO^u=$%#kYpxFib0lwEH~9vh1>t^Vt6~i z*x2}gvWFJd=!b;@C{+5hmncOr8$k{b5fNcfP=8Q>JL18E2XOYAH*er< zsyLt~#p^%FM<5_ACd6?1@n3?Ldm4&^)g$X`nX?V2NAZRLu0)3|4$yN0Obww#NiYgP zp&%tLOjNrCIUT?>5XzDS9RM;2J3`31=5EbxddW?8}rEgcQ`gCu#u7BjT zdzLB>Wx~Brh%P=7Qd@U|^~(>dhq3eSfAxF2=M_UuXZ`K!S1$W~7nH~`OyG#@Kg@Vd zTjymnvx?KT#{~^v>$$vtJz(gZ@YO;lVeg?yb`}mwDYks<5$iWB;pfAm9-=(JXU@Ct zNqH^F-(Kxwo) i##m;7=jQ&MdECrpj{MVER|6x9!PC{xWt~$(69WK~tjr|< diff --git a/Resources/Textures/Clothing/Head/Hats/brownfedora.rsi/inhand-right.png b/Resources/Textures/Clothing/Head/Hats/brownfedora.rsi/inhand-right.png index ef3574b017a37ec7f90c1deb9ed5a1e3bac4ed4e..b1bf119a2820acc47e9dc361e1c6097edd9cf938 100644 GIT binary patch delta 249 zcmdnY+{H9OvYwfNfno0U#y3EUu{g-xiDBJ2nU_EgOS+@4BLl<6e(pbstUx|bfKP~P zxPxkKoRx*91W@3g!QF!(btOT5!TJ3`31=5EbxddW?XnZx4 z`B3?`5KFG^wmDywMDx#`xOsGLt;Pa|00+he4NMyrFUZgFFDn1zDX{mLe^AXI&kvb% qj7??x?K=FHS!b@VW@MG-IOFG3t#2#S6Sf@a1_n=8KbLh*2~7a0iB|vs literal 435 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7T#lEV660XaSW-5dpqkO=OG6H*Xv>; zB3~vMy-|2@P>w}0fj3T9Nu9s!fv#+Xn;sX}EvFQ|i3{=yI<5a0)UQ{xuK!;@+17{c z+z%-U`~8a6SOT|1d4q0(48uL99L8-8h3q$&jxj#aJs_5m-FUSq z?&|sP$Ak0Fa9wum)TR>GK!?c_ zQg3$O`o)mD%bqXTT0`Ia*H8$cy0^{ecoD?#H&&`)UO-N*io&+TFMiKff56#e Ynd>;^*d$(HTrhaL`njxgN@!vL0Py6gfdBvi diff --git a/Resources/Textures/Clothing/Head/Hats/brownfedora.rsi/meta.json b/Resources/Textures/Clothing/Head/Hats/brownfedora.rsi/meta.json index ade65863af2..6154f16eddc 100644 --- a/Resources/Textures/Clothing/Head/Hats/brownfedora.rsi/meta.json +++ b/Resources/Textures/Clothing/Head/Hats/brownfedora.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 and modified by Flareguy for SS14. icon state made by Flareguy for Space Station 14", "size": { "x": 32, "y": 32 @@ -14,10 +14,6 @@ "name": "equipped-HELMET", "directions": 4 }, - { - "name": "equipped-HELMET-hamster", - "directions": 4 - }, { "name": "inhand-left", "directions": 4 diff --git a/Resources/Textures/Clothing/Head/Hats/greyfedora.rsi/equipped-HELMET.png b/Resources/Textures/Clothing/Head/Hats/greyfedora.rsi/equipped-HELMET.png index 20554f5f2a728026670328dc4f708fd171607aea..64f9a1bd80cdd7bf9bc8cb483d3800c9dfc088dc 100644 GIT binary patch delta 267 zcmeyzG@EIHWIZzj1H;_yjcNS%G|>0G|+7 z3k!?X)YQ6)GN6F|JG}ysx{@Hj;Q#;sGdO6i`~u{27I;J!GcfQS0%1l`4X*~EV27uR zV@QPi+i3^+8Web(+yDHx_jVRema} J%Q~loCIF#VUg-b; literal 382 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7T#lEV086#aSW-L^LCbDR*Qp#oBd(4 zE+1?54{9r&{7l?GxG08xu-c{+HS3fr3)AkjW9+-{XK$PI|KprQ?*Ca5Y_`VwTNuth zWYApt_WAppPiDo-?qt$js(Wn3wp`Qmn~xQS-2Z;H-etwla`qp;{`}bd9K3)3>G?l4^NRm16rK=t%Za1QQ0v%=b+7$mr<|~~e_huQQs=Jl{m*WuH&dNC zCN0^uZhf@W>s?-xmSt*{$$FjnUPqdpFlT<|zopr0Al%> ARsaA1 diff --git a/Resources/Textures/Clothing/Head/Hats/greyfedora.rsi/icon.png b/Resources/Textures/Clothing/Head/Hats/greyfedora.rsi/icon.png index 634dbe744c98a49795538b37bf80b4d05a90534d..95153962eaefbfb887836b6179875d722c088b0d 100644 GIT binary patch delta 256 zcmbQwG?8h7WIZzj1B1(wu46!ou{g-xiDBJ2nU_EgOS+@4BLl<6e(pbstUx}0fKQ04 zg@r|GYHDO;WL-rWP;7Tnw-}IOEeY}q{tpBUzqj!P0|ht>JR*x382Ao?FyoGi*>8b@ zRh}-6Ar}5`FK}`lP~c%XAoK74*}F28*H~EXA2=;EY|eFhJc(V2SK#fwc>>)zX;WQz z6m(+$O#SNnATvo!h3|%=D0c=2bIcK@H8;gCewxY^a&gN)&Lt=2Fl;+8`HJH;>30V> z$vU@>w59FYvhpqy!mWsax24DaNU;xDdp5hQ& VLG@}Gr~m)}00>D%PDHLkV1fo)bjkn# diff --git a/Resources/Textures/Clothing/Head/Hats/greyfedora.rsi/inhand-left.png b/Resources/Textures/Clothing/Head/Hats/greyfedora.rsi/inhand-left.png index 88f5e5ef93d3b8a40c0e80dd987827c2ff49a31e..c6986385b62a41ed02a3e31b42977b8f056f7a25 100644 GIT binary patch delta 250 zcmey&)Xg+OvYwfNfno0U#y3EUu{g-xiDBJ2nU_EgOS+@4BLl<6e(pbstUx|bfKQ04 zg@r|GYHD3Y8Bjp~on8S*T}hB%@c;k+8631$egX113p^r=85sBufiR<}hF1enu)@>D zF(ktM?KDHa0|p$-3;+B-KQ;8qlm|S4#oJGqvo`xl=6)3BRACVEVBizY@jSV4r+Y=L z#G;z;T?f{;zyCY=X+S2EbjqhR%g~BljVwY85T$*hYqsV(``2c%H{X-J@$?QK+Y)Pm ngS&X2u%#TT-_Xj!&Y_f-&!g{r%l}?F&=Cxtu6{1-oD!M4|g%pQw}!#pE{LjXk=PO9)AwSh61?|KF17#g9*x0@0HI00000z_WRY{ere_6ST2j zUDr|duW8!I*Jc5P5T^6bz3cC_$rcD9Ox}AP4hQvpudeIVG=I(A&w8Xjb_*mA;OG16 z=8C<4d@erk(fZf`-lD3{%&+Raa*|Y*rG{aUB=vo-V|$t;U0u!C`nC8KNYh5X2*A1l zYXo53fHeZJZonD=ST_Iw00000u(xDaOk0V)d0M(TdisBal3kAO<#Jvi_M$YaHz0&C zIp^fPm-k*(Ra`|6P-Jrk{5Lls-JU&IIs>xU0`n?6=Ojr*QT$DhjN>RtI<}{2&34El zfRqCfm$Etowm<;Z4Ok-p>jtb5fOP}b2*A1lYrpG6Z^(O`Hzoi8002ovPDHLkV1j>u Br4#@F diff --git a/Resources/Textures/Clothing/Head/Hats/greyfedora.rsi/inhand-right.png b/Resources/Textures/Clothing/Head/Hats/greyfedora.rsi/inhand-right.png index 8c68945d834d9a9b54a958648d1ab0bdaf0ac6a0..15f87384784c3f4263e271c580bbadb6dadbedb9 100644 GIT binary patch delta 250 zcmaFM)Xg+OvYwfNfno0U#y3EUu{g-xiDBJ2nU_EgOS+@4BLl<6e(pbstUx|bfKQ04 zg@r|GYHD3Y8Bjp~on8S*T}hB%@c;k+8631$egX113p^r=85sBufiR<}hF1enu)@>D zF(ktM?KDTe0}3203;+B-|5mG4M#Qta*w|W}ca3nq!Z%?q4F-__20r1MNk5eXjjyg^ zd}w~#f3KDQa;Gz9jXY6>?q{yWsRTGME@)tKU}SyZa`2YL`y*NVR66|H>pPx%JH7s8 rYs6yrr7>LT^to4uQ#C9c63Un}oAjMaFWhqjI)cH|)z4*}Q$iB};@Vc5 delta 349 zcmV-j0iynk0__5j8Gi-<0063Kaozv`0W?WOK~#90?b<<#gD@Bc;MdZP60-dd;6k_!h=_=Yh=^!wcHaA0C#dUs zkszt&=HD+9BVR8IaL&d1&)mG5|IY%Pb5TUlwrv!V>`M3~|9{gOaQXRudGPV;w0qpQ zwl(0>{D)yw|#Ok00000NkvXXu0mjf&|9J$ diff --git a/Resources/Textures/Clothing/Head/Hats/greyfedora.rsi/meta.json b/Resources/Textures/Clothing/Head/Hats/greyfedora.rsi/meta.json index a470e009443..cb460f5efa7 100644 --- a/Resources/Textures/Clothing/Head/Hats/greyfedora.rsi/meta.json +++ b/Resources/Textures/Clothing/Head/Hats/greyfedora.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 and modified by Flareguy for space station 14. icon state made by Flareguy for Space Station 14", "size": { "x": 32, "y": 32 diff --git a/Resources/Textures/Clothing/Head/Hats/hoshat.rsi/equipped-HELMET-hamster.png b/Resources/Textures/Clothing/Head/Hats/hoshat.rsi/equipped-HELMET-hamster.png deleted file mode 100644 index 8b7692f0ff32762b9837c70bd618691ce32f6b28..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 609 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7T#lEU{dpRaSW-5dpk?fpV?8Mb-UPQ znR!x)3BPYVK(*Y3}+a%{SNdo9A}8!ZF_KEuix>#{ccy|r##*$ac0J^ zgO1KN@5@#%dCxXKZ~6Dozib?w9Q*1br(OP4`1K|OoBH>>>g?-#_t@>e7dg+Y!REYr z%GdVQ8(+uE_?!$D{dK(6dT&nn`$ChhMI3F`uPw}0?hlx-@9l|SB04e+tl}3Q-6|Ao z*kyO;`TE=H&)Ljv{qNuCB;=rD3vA`U%6UGf5ImuQT4O*ZOo_Skx(Kb6jeY z!rj-OA59l4F_3R?HD*%W<;d`=nd@`j_auv+GI^7g(kut|Hx@D`U955VYx&J^#clg( zc?Jw;@0a-Hur)aAF13BuFlE)rlSgF^ESz>puGqor>XRo)d=CP=Gy5$SmSzbP0l+eV$002^e4C(*? diff --git a/Resources/Textures/Clothing/Head/Hats/hoshat.rsi/equipped-HELMET.png b/Resources/Textures/Clothing/Head/Hats/hoshat.rsi/equipped-HELMET.png index f980e7b3ecc83b595894fbdb3e7fb6c363d32ddf..d897247c6ae512c1c7b64791719d2bf70745942b 100644 GIT binary patch delta 480 zcmbQj`jdHray{%fz z=IcLKbeF}yZT$B;Y<>tz%;PUOYjghjk6m$#PwiOy`MNRZJ*G7~4$s=KnQ7Yf>8Us8 zi&xmrU3Bcpw%zYfr@lU?8d2MQtiAT<1KkIo3wG>2ux_SUAY^>ui0pfRN&hUzxM|m`kpf^DQX;#Isua^@o2KTd!6A+0WeZxWZw@{yV7`_T7?G z_Yci@uUb$Rd;b6N#S>LLUluH%%kEdJJz1@+#crl6Q-K1jNlf7!F^53;m&V5*OFKM2 z=zCv_LFBNOOQ6Z;rL86*dn<*WT-wfez$9szgS+!9?*_+^mGM>#%im8sKG}q!zgs!U zms6ngX0o8_fya+JB7&J*lD%Bu!^9c3Vu4IHdVL+Hstzh?{jO7RX*n{J zVb|j2dqZm#t+b6lZ<;c%c<-!oE(Y^{>0^%HTW@G@*zxn^J>`a5_t&4^a5?V8*Oz6t zzWNodW61b?MZ2K-e(PfIf~d>irreox=s`jKmFW)GzkH54Wi`{3(?HXs%2tqRg|q7x z=OZ@d;>RW5(28ciYVIi_teXmb{qH<-2bk(UXw8?uH#F+B=ffP{S|LA7EgXQ{io6tt^?O{JkDn_D28?)UM+NB iVwOj?79)imK1Nn0$$;DOJMIEg8-u5-pUXO@geCwDsU^w) diff --git a/Resources/Textures/Clothing/Head/Hats/hoshat.rsi/icon.png b/Resources/Textures/Clothing/Head/Hats/hoshat.rsi/icon.png index e441011bcf4b482eb9fcfa85e57ecbfee32a360a..5c93734fe8a6fc6bb23b3f9e3b03e6882866f781 100644 GIT binary patch delta 339 zcmV-Z0j&Pe0__5jBYyx1a7bBm000ie000ie0hKEb8vp8xI2geEl9mUaS*ggZ9%J;#)=4eOVam# z-v2dyp+)>S6o3Ly01Dv004&S8ywljWUHA%sX`0+z*L7%`mVc@TK>*+Pxz2T6VF)1r z*3>YJm*y;3p4D$53?T#%HcR%eASk7L^*rxRp9?@7tobMPPXG$xTU}<=8sHz%sgy8n zZPD+Zu~-%{UN^8hoVakf-*J830CCgg7BKU{s2T1yz&fQ9j!d6mqL=wfdIWS%F`Kie zHtM}P9LI@7(M$<^2Y?M%cq6zOAtcGi=2?bM3IMlRh#?-~kn#9s01}92d5K=q{{ktq lJOOeG1)u;FfCBhAz!fr;T+SO4CcOXv002ovPDHLkV1g}4k1_xN delta 310 zcmV-60m=UD0?-1GBYy!FNklVAuBJ> z@c7|Fcv15H<42M`M6w2u<$4ANU`r3o_{N|g{uAy1kYh-71lbOlQFxF+L*10&#?8|V z;dOdoN6^&)Am76PEEH(&fa@C={#(WKGr*z%f? z!D)gX1rgD4K`*32l0tw;Gf7f5>VVM@7!85Z5Eu=C0S^HH2`X_RYFiqs00000NkvXX Iu0mjf0B1mj^#A|> diff --git a/Resources/Textures/Clothing/Head/Hats/hoshat.rsi/inhand-left.png b/Resources/Textures/Clothing/Head/Hats/hoshat.rsi/inhand-left.png index d0213d0eab33d1fe655199c1ee1bf71f380738f3..78a51140c60e47d0273ef2716682b931ccad237f 100644 GIT binary patch delta 299 zcmbQpx|?Z&WIZzj1H;_yjcNS%G|s0G|+7 zJv}{FSJ&X+V4#4EjLhM~hi8k4fpn(&`vEDAk|4j}{}8}%uX%4IP>i#{BeIx*f$uN~ zGak=hkpdK);pyTS65;-K+Qxdm!v-8KoN7=1|F=+0Yj|SgA{!O@U98)=&P#3nkM;lu zM+ZjMgY{fb&fH3JoABE$CHVW=dnYxP^9k^9x{00vGCaaLA gd<6^ZeeoUgCxdf;b%)f=1-g>K)78&qol`;+06BJV$p8QV delta 643 zcmV-}0(||u0+9uf8Gi-<0063Kaozv`0$52zK~#8N?OHug!$1smSC%U5s2ebaE=Y(a z`~db&h_$e>g2c$m1aw9G0saAGL5MC@7CyF$ou~^EQ<1N@Iz>q?R~+c|d`mx)ytAL5 zbHj53JYNmZ^9Lb76yP}n(gL0fKwg5<0@4DWGaxPCxd7x8kbf4C7Vw+_X#vj#Ag6$| z0Cx)n&E_~AjTEu?9Y5)}&0g7ObzB=9)4i+;z#zkRTkUz@`-F|om-_xb99of}>kRxb#G()SIj!SpUL z;ly#w+Oli}Q0AC`&H}ZD?MYCCGs|i6r>B5vvw6JEE~$A;vMeScz_p5T$14ipX4Ex2 zQGja|0lMi2_`!7jL#ch)zLsg$guyv1E35cRdSz~06 zU)}U;F*I=xRN2SlD(rNZ6mR52oBYQt$!rAZejXX6$zV{M0xpkXe6Tl}K_E-MiUC_2 z0nfLfs(g=w5wtM4?fvq(09)D9{Y6tG|E2(ve_lefR3;B6J4BHs8=t{B0@E;tj?LBr zG}MIPcmn9lwkk!cpwp$wECOOw*_VxgS*2|I9FdSEI9GW;(`sdVI7fgjVW#_q024!t de%*Tod;=8P22i9poGJhS002ovPDHLkV1fZ7Ai)3t diff --git a/Resources/Textures/Clothing/Head/Hats/hoshat.rsi/inhand-right.png b/Resources/Textures/Clothing/Head/Hats/hoshat.rsi/inhand-right.png index 36d4c7032f20a1fcf53df46feaecbacac15dc357..aa51e2962bd1f56c2d4aeb59683217fca8de07a0 100644 GIT binary patch delta 294 zcmeBX-NrOQvYwfNfno0U#y3EUu{g-xiDBJ2nU_EgOS+@4BLl<6e(pbstU$g*fKQ04 zo}Qkot7~v@Fi=27M&|J0!?VT2Ksr*St3pD8^af5n0T@z;_sg z8IR|$NC65?_H=O!iEw{A&9R>EumTT@?B*-~{}(>th?>ArcGY=x*7HdU*ODy~H}WrR zU}|ULnqw~%6JP0m{m@#MCkB_5vn3A21{~4!JSgx^)S)(H!CIxZ51W^+$lCN@#P9kY zM@CjYRuK!4fCqnOJc!Df_v7kq>t%}-86)2KG$nXAM9L&`xjQp0c>Dh79bG9Qd9m^v gM}q@C)HdGa+}V=*YlURECD4Hkp00i_>zopr0DqEh{Qv*} delta 637 zcmV-@0)qXv0*eKZ8Gi-<0063Kaozv`0#ZptK~#8N?OHug!!QtaCnT1r?5GU; z8Qyh-Hob03q5WbE=Z72$)QV-dcDXOY-F^5ow^A#og& zyF*X`*!?Qp*?$34*~2F2J}giGF0=w=JKUU$>Hc=!prBq{x{Y%kL=sf?ioBjA3CZpQ z)*uM7J3z-?guC<(z|D9WW(*RPy?Ri*`Rn2)=V9A#7bd_qOT@qe%aY%@-+9xH%aM{MI^1=wbs zT0K?(wT=|w!Q8Tqc)qa$^!&Z;kQC~DKCfjFz3Eu45dms|iuvJV_$5|$-dmd+fUxuU z@He6dg+x)*2=^?NH~JwxJcYO%(&O9vkvO?(XWj^E`u)B<19abXMmZM&2%^pe#yoe7 zI;-$>mv-hNdKlJ#wRvEM@Ja&o!3oUX)wuxxWpZ$$PE2pg29*R9`M#{HAW@hyF>zb# z0~=5iCs?E%eulT^QJA`?k^p!ZGk3k1p23?s{9g~%WPdFJn*89RJ<9|vTE|S|bzTAA XrzYY-Ed9#900000NkvXXu0mjfH)$>9 diff --git a/Resources/Textures/Clothing/Head/Hats/hoshat.rsi/meta.json b/Resources/Textures/Clothing/Head/Hats/hoshat.rsi/meta.json index 9a2a8389628..214d5b0e9ef 100644 --- a/Resources/Textures/Clothing/Head/Hats/hoshat.rsi/meta.json +++ b/Resources/Textures/Clothing/Head/Hats/hoshat.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Taken from cev-eris at commit https://github.com/discordia-space/CEV-Eris/commit/a75dee2e6d236612dbd403dd5f8687ca930c01f1", + "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/d90c7e5de6f6d94596c164da78dbc8d3cd35bb99. Inhands made by Flareguy using equipped-HELMET state", "size": { "x": 32, "y": 32 @@ -14,10 +14,6 @@ "name": "equipped-HELMET", "directions": 4 }, - { - "name": "equipped-HELMET-hamster", - "directions": 4 - }, { "name": "inhand-left", "directions": 4 diff --git a/Resources/Textures/Clothing/Head/Helmets/light_riot.rsi/equipped-HELMET-vox.png b/Resources/Textures/Clothing/Head/Helmets/light_riot.rsi/equipped-HELMET-vox.png index 952b32f3a1a34d817f78106edf11be43b7b9f696..1f6b8adcebab1802edc5ea9f3fef09437b0131f7 100644 GIT binary patch delta 974 zcmV;<12O!Z2Z;!fNq@os01m?nl72iSz4%fOQBu7|??ItZ&|gtvJ=KdZr7uz9inSqvNJ)t6uf${#$xKs{ zZNI0P^j$7C=qC@}tMZ$KhcyHaaSXhlZ#`{lM|ipZnwz zaU10y;AsPuynm_#<9&9pJzY-M*T-Y?^CEcef;fNWa+_>ccwRq$(fYZ+kEUgBxX(PU z3rj%x$5ZzE{jzm~SS&{G0)KI_=bO}I@*D*f7=2~&&eShn|4NeXd{}7k|lSXJ;o(B@cA{YfVn9uhrF6 zajNMOmO+nf7K!QK_^#`v$j!~o=zoEIC8hB_zCudc__jw}>+9=c@!NOtb#B%rZ&oBG zI-CUpf%w(icjE2gzPBh*rWHPuC8HQmPhG7_nVHk#C7=~e-qW@78J>W*+Lxaf4$q_|GMPgxLLH;Pj`~H3^2L=aSk)SphB*{v&=c{6Wk0wrDh}RWnE5iZF|LYD zFDngH;wY_5g5VDZ4&nSjD~xuLH9;TMA4g-E#xVLc8c?N8^t8g@O661-Ml=TPWCqAf wbKjkOs~8!EVHk#C7=~dOhG7_nVYVQ|Z^T~S1SvFKEC2ui07*qoM6N<$f(Fmkj{pDw delta 864 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 Xcj44J#SYPz00000NkvXXu0mjfj$rer delta 672 zcmV;R0$=^Q1jGf9Fn*ne)fUtp`yl zJL}1VXX)Qy{ssLnx`XbpbwdW?1WPw5!+-&yp$rz!g_Zbvc|F9&{)|obc5CqYTuPtv z{(9Q?O-LVr5JCtcgb+dqA>==!NbOC8FU(*fr)g2R7X)y>xqriB#f;3@g!Zm0cdmcj zkli6Om?)RaFikUxIgSGu5MxQ0)SiXy0l+lPux&`pBMD0~JL`Y*obzbnj^luHj+~}} z8BD~sXG~a@1MtOtY1nx51g-Z60DzNbGy3d7Wedmk-Pra; zUB{2}a}-OZp?|ols_1wgin-%8Io$W{s5R# zgD`{4C7@q_Fes`cn6U<7P^KP>GlPk0wK^70QiCumQ)j@vyBlMRyS=^+RaF6mg%n>; zPw}PIntyp+nc4z3AK$_A%8RJ>;CR1opB#k6822|fQ}vmtEigg}e*QvnO-FG}kE&6U z)(~VW0iD{1!MCEhzlY_ORV=Tp0stC~M&c_$rnbPKkMDMD&N)6EeFgxu+uu{2XPHYt zW3O%lz|qcIcx~^}hj^y00sv6DRT2Q=7r*$cA{m5`#qb;3gyRzg;pG z%Sl8*RCr$P+P_c2Koke?gM|=B!{W$-tkpOe+>{vOjEjpS3;qL|YV`kb7B(af{+MVm zL}f)n(*MGc4qADat5Q7RY71@S_mdFrTCVSL_h7kW000000Dk}g00469nr7$od0TWN zi}Dmr?$0^P2A0d^SWLpGSve=gy9*6iN~cB7jjqRS5~k%Wod6o36?a|bMD6Exn{Djv z^ZQZdHRptQccFo~%>qj#-M16N?&pWidM$&!bUM0kqt$?ehp^GM&nX|M4-UkErblYGL*Hvc%R)#No z*wN0Ra31jC}#H3ft6U T13hy9015yANkvXXu0mjfO%d|1 delta 671 zcmV;Q0$}~N1j7Z8Fn_g(%AR8 zlujmL-fLzuG!Gzz5JCtcgb+dq*)U4zoA5qZor!{`$>xjM41e~i9qv2-DrK;5<$%t2E>^KYc zizOg|0=Yb{zwy}_{KfBLHk0j1ZNOp)002eFWn%q<>$)hFN&paA_5Hc;x^Ad{C@RL7 z;GDx~?c>g)haCVV0Pa!upwsUiLRHn|$KjggrdTYB$$w-L8&y(!Y#+etUJ|0_1|Ppl zrX+5Ju6UJ9$^E^{|83(FKnNj(5JCtcgb+dqAsZ##Kl*bDD1b;2MTXuJEc$Lx3KmcV z3J*LPDx&bEdM}VvKoQh#w=+>h5tQlooEU|^c4TrUFvX5YR887ra)O0@>qr?%4X z_W=M~+dJ6W-huh{4G;)^-2JfB0j^r=Dd4a2Uu#nV00KYo@zv|j?FaXxbw!zQ=`~<9 z`uzKGS9>Y)`Fti5aH)+@l4`9g0KgeJN|rW4gcy*`_7kaC-_6f$T8RJv002ovPDHLk FV1jk%Mi&48 diff --git a/Resources/Textures/Clothing/Head/Helmets/light_riot.rsi/meta.json b/Resources/Textures/Clothing/Head/Helmets/light_riot.rsi/meta.json index abfed0635af..292dc9c9939 100644 --- a/Resources/Textures/Clothing/Head/Helmets/light_riot.rsi/meta.json +++ b/Resources/Textures/Clothing/Head/Helmets/light_riot.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Taken from TGstation github https://github.com/tgstation/tgstation/commit/fed2ddeb54d0fb8bb97cb0a899a088b7d7423bbb. Vox state by Flareguy for SS14", + "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/d90c7e5de6f6d94596c164da78dbc8d3cd35bb99 and modified by Flareguy for SS14", "size": { "x": 32, "y": 32 diff --git a/Resources/Textures/Clothing/Head/Helmets/security.rsi/equipped-HELMET-vox.png b/Resources/Textures/Clothing/Head/Helmets/security.rsi/equipped-HELMET-vox.png index 703d927ecfeac2e12f93febd13612df3f9aacf11..47a6bfb145fc646fbcd7a39d6b676832281a8b94 100644 GIT binary patch delta 771 zcmV+e1N{8F2fzl9Nq@os01m58%eQurJ`6ozzAW?V>RuAqp*qG=?@L1SyaZI8jVsLcYy*|A89lidipv?;L+CB5R-iT z^6kf!#H}j7Jb&S&_U-2T7f&CeIUja+T{l4KTTQT{lGoDLIRe%dXI?+QxAFwzxH;yW z_ql=^x7BV_vfr!KNx?S0j_B&oy;ADa_ix*4p7+>AjXf9)s9i3XCmN|#iu!y$AGLLk zfEH>Jv$&|=Dc4tHLzV0__&WA;b3W|Mc2<&JCy%(k0DpF8JT0_{z|mO50FK5Y25>YMF@U2W7>c7C9Q-Q! zyc^li`}?ln3?cV7Hvae`+v#Pj?FTXWY&HvizaJuz2sE2b?g99;w@1+}BUIuKHaDq_ zD9wJq4}XP1!L|vu9>V1DhYB~=*2n-WZN8-Zd3;QlmQGE;;M$Tt&=` ziF`f}^?KdWnZJm5JU-0ja#XkOyoG)UPJ@%e7zhNQQmJ@qKr)#e_If?4du_HhI5{lb zbRDn9cMZ2E`rjlj2!bF8f*=TjAP9mW2*M=?;5WC0bavwI3t<2N002ovPDHLkV1n9a BYn1>1 delta 896 zcmX@WwugO!XZ>LY2EN0L$MaXDFfcF&db&7)VBD019dI$xki=g`!vi#uJu zF;^(nN%ZIZ5OA~Wl0Q)JDXYm%$lpa=U*k}cN`Z0D=lA>m-;!**yX|t|hQF$3v(w9- zfBpO0YO{6jvLaE_IHoUE{OfA6D?V6GelVt(}pKUZ(Rts#+l ztx)Fq$DI#OR5&HDd2dYA>^jd7!F`~+-qz+y*@bwi8Pkr}S{Y7GvQk`Y$sp3mn%l6; z`xo=_ox5u4RsYu&h5Yi<>(x1Z<KlKC;mgr* zmi3wkCO%bCZFW_6Twd&c`}FDf&C3s7+5C8Ceq23&f$5BWFR!O-Rd8O4wi*XEpy+kKXgjb=&Uu#(4$rt@xHvoLA>}{pIZ7Cx`D_3TGZx^prw85kH?(j9#r85lP9bN@+X1@buyJR*x382Ao@Fyrz3 z6)6l1Oe;KH978JN-p;z8CFLk`%)eUkSd+raB}y$D7`xxPD(XrwHJRW0#`z|6{(=j~ zIi7Gu#ne8q{YdH!$ZT2W0UEl-mg5*XVm9*Opq*}cEHkJV&6@{@3ViF zrGI{|(~-vZVaBecN|!9xoiX!lBcm59H|)QD{leR_x#ylb<^20>ec+dOM%?PF3X@OH zFq7-|&E6W-*&?ud|64JK&uh>6UQSQW;plt({Mi9vyFY7%lAHhhvRZOE)40t?O;{o( zcILkGyC0lAcTQ*i`TE)a!UQB-&sEzlZa&DcPgef^{rhFy2@H!ba@f`UEc9^Z=DW8q zD`j)!d&UJt9DxNNJ8~Jc|BC$h@$04aE44!!JidpI&YL$^S4!@4`n}3+fjf%l>q_?v zf6aJhfA{uc<%lzhR&$+p z-`&Q2aGPF3_w!#iQf}h%^=%7R-nv&>`l#vj;}=IiJQAE<&N62nV@^j`xa{rolP9}& z-cocJ2F&(ydG-RR&p`0#b8F`9=X>wj^uJ);c<`lSM^~rv*)-vjUw`*q zXTNXMb@b7ixb?H`*b{yWl(3!Mm}t+@6zcbsrP}RzqVJr|$2e65UDnv$OaFagCi{YV fZX$z<>wx{oG}}K(hfSvgQ!|67tDnm{r-UW|B!*vt literal 880 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=`BfniB`&GO$wiq3C7Jno3=9=> zRF7M8H5dr69HPtd8V=luBm*h+M-(#=(s($)y_eF@#z*j7tiUnJ$4Q+ zrA6+zF3@gn)A?6NkCm{IzRq^q=<%Fh#xYHC$V|VP82z zRCYx4SEHM?zZep7TU9*!KRps{m|{6a>*K@M{pW8#-?yi}ST&We)#%2Vg}*!}?Gp8P ze=UsT;`dw3+os?9`ug+h+UL95)bev#m!9hVuHw0HO8pP!`~Mj)cSrty{{H>kyWduR zT(__{fTK}I`tXcfwqlC=neH(%?4JBK`;*J`|IAHH4DZx^kJtL`%Wh(>(5uL8IzLf@ zVLM}962l#~9i5B?(htCLs87jXlGQ_3jJ2|1S8~uxN(zX*Gj1*5s`4g`8_I z{(co)&yYEJxY zT2@(cFB3bvgJ`6d{`KeO-PNnVe!imoAb6R5 z1^g#YI|LI(@O>_%)r2R7=#&**XOTD0g7Jmba4!caDO|^o3Gh`hxP1s#{2*G9X-au)Ep90 z8hCOu$HPRmq@%)rCy6XM;Ni&CGoNEgr>}2wyQ9Y1_51FB*e&MY{kpG2??s>glFeJ! zZen1$#J_592-C~Zb}McNgMB?4g&f2-ENFNzhgHCLX@+L-owWhmn3%Ti{G6kc%EwtU z@A-|l0ci^!aB6xqPHYm9(EQ3_7_Z7us3X56rsmvv0a zIak|#X__9r+H~!ogYgx>IafgtfH8(J48a&f5Cl7es>A-d7!`nXu6*A|p68HKLI?pV zCGtFn@B0UXD1!&EVGp1-5sasR5CTO}{MX-TG>)>*^BkV%0YDXe*S8nnilQikYyoK94Ej|&?sZ4U1|WpMYPG6dwAVZDS{4Gq`>u`-_F0a1~-HLs3;07mrL!rt=b0+heHJbp6B7}^)LMRxvs|c z)eaom2Uw8;C1tGv@NngBqF};`6xhaOy@7QC%;$5X#TM2H&}=r1zPGFsz%(Slxg9t+ Ze*q^j_*BnNfOG%=002ovPDHLkV1mldA^-pY diff --git a/Resources/Textures/Clothing/Head/Helmets/security.rsi/inhand-right.png b/Resources/Textures/Clothing/Head/Helmets/security.rsi/inhand-right.png index a8bbe3dfac724962184b35855c0656ca85fddea8..ff0b6b723b7d5bd2c7a454f9f40f101f5292c467 100644 GIT binary patch delta 364 zcmey*@`q`HWIZzj1H;_yjcNS%G|&0G|+7 z6C)!{P0h^AOiy=rI~yA}7Z+)1>GTOp)YQ}@#3hxL)PM?YC%;$#qps5<_Cgh zk=EbL?n>jG0SJO12!bF8f*=Tj=o;F7zppjGWHM<)NLA|Uzkg{)hPr$z>a;8?&h~kp zr(Ir7GrUKCZUtDD6&r>D(=@>tgK3&D45M(+Hu7HmH`#}ET}K#(h@uFbb3{>uFbtvV zdh4AajR%m@51`Zuxh=pshY%t+c)#CoT<|3b!w`eP000u>Wq%Pl2R#1z{Zuyi`u=WF zTj2#Mnm9?>#DAu?fDl3&IR-F(n9q{-`u=Y5+7Gk|&N+_9V{&oMOYcpsfbX|oV6UIG zAM;rZ0FL7%ZO`*G_wi?|-vPewYt!j8mTlQz)F(+fz+OLV+m#(Vj+@-*IF1GY+m#(J zH*V`ch2yV7WOe$!uWeU$;p7!Yf>~oarG2>Yp z351p#x3mDE?KBn%E;p`rI2@F7LZhMZXf#r88+87^06E~=0&B`&GO$wiq3C7Jno3=9=> zRF4~SH9H8fUZ{F5BEOdR;tfA#?L_Xq%@1DitZ2Ne7-#Pq_dSc}vGv)G;6>}7B+cjU z`S)>2!R=RE$5t<1khJ@k{ZVmo1Ffl#Me?^DF8kVbC~IfK#o!yCio6&XFO_;MBe>kf z-ac8@;?|F~JPZs>e?46sLn`LHopmHTPgFiciFT;pk%=np2;V-)@qtM3zV4E8J8wK%3qZA=aQ%Z|05=UhGPg)ISSJj=WWNBPEnL*s5U*U*| zxiiNw$@hBG3%$L-JS7dtDoYLl9#p|Ry%%vz5R0@ z@AdzTdmq<*{Cj-6>Gbzj@#bmDDLp{H1!!&Vcbyu~n9khrHKly&o`vWBGfw4Uc;-3# zajaUr`BdHt4U60+e!+Z(tqfUv7_Ts`_{bK(z2KO%gKmQq0l}5Ib__S}_BhP_sC|~b z$IZDVQQYh7f{-+8lhEof>pq^XY3R(|64LqJMt;K#n}(&|M4n#^OK0)<6y!DAhC##B zS)$BPig)hg>FXFSPnPc24?nNJbXF-wsteU1Ty_*Lv{=3&Two+5yupvCZgPQyBTWQuRq>pSk@0Ta}Ghr&Z47 zFwC7(|FbghT7JBpZS0mromEgPGk4bF zv}VDiTL#A~r%f(xuRi|w(T3WNP~W`$EJy#w?_FFMc)V64>Do0p^UqAT*R}0>{NpD> z7UPu)<`t{~k9ik}IrN%0L@}7&!!P*x1@8~`{byI~H+}Au3CxNNp00i_>zopr0HUz1 A3;+NC diff --git a/Resources/Textures/Clothing/Head/Helmets/security.rsi/lighton-equipped-HELMET.png b/Resources/Textures/Clothing/Head/Helmets/security.rsi/lighton-equipped-HELMET.png deleted file mode 100644 index 634828f1b3e5a55cb53440f2b3d2c414d8ec4c7b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1070 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=l~o}TB`&GO$wiq3C7Jno3=9=> zRFCiGYH{FUy-@W@RD5mhx5U|Ll99_U)C=^eJz!32`nT`symwcAl`mTPxgb=OQYWL2p)_rw$W4MUgY1W=;hvppj<&w}}b&*$a zqkjqW5>q)RHa-^v1_tH=PZ!6KiaBp**=FB%kU0L|?50qP($m(S(Y2iD2 zA?U;O7Z(&42Cuxkc1p>M3;GwQYesr`+Bs~rVzH7eN#UxU*uz&D*8YPpvTTxd^i}4w ze;;h{-}LV1{rFv*A5==6C|nyk3}aEW?M$-JAE;ihCLb zJdY`tjFJhsqPImz(% z-^wgcqlU*@mff4Fm3Zd7>~hnua~^Mbu(^!gK_Pz{U$~TlIzNN^@%IlZ<$nDQu9&xc z)|=~%&nr6~OL$INDRz8g*Za-i_;`FS#4*j8|JGnzqeY*h3zy=hnQ8|5Ms^Gw6Au+e zt+GGU77-I=BISRZ;g}hprTuL|rK6Y6-@iBQ{Qml)^y!B3G7~2<2uplESjlocbEUPO zeXB=daj~%b@%8+^$MzI)_Lxl(V34z~vMkGcf9+Je{49mJ=k^HV-n*em0(G!D*?&@YxpN@TskfCk+g2(rzea( zOP5Q0KK{J=Oy>s^X^q*GhRFOPTI$e+@`j{yf+s%ic=fp_No6_IEbdCEV zez$mMVMB4nj+ih@ef(p_HJ^*7M2zdpn8Ue{`qkYpN;SA|IWj3AxBT)blX#J zrZf3Y0dG=n3Y>k`v?@>|tVbl9wdA6iLt4tx({|a+7W!Tl|DLw55|>zdhF?!AT@IM4 ze&7H9=JdbW?B-?N&s#mN3a{+`1`0KczNx2sexCYUG}l4)#Eix6akjkEbth&@OgZ7g zyYpayoaupMmsg3;2skPyuxJC%slq2gGcGLmwX2Vgjy%6y_Wb8K^YhhrBaiQW^Q${) z*0xiZ9&d_!5PzL3ME3YK_5kh$$D|x|8>F%swlZX`VZ6e$Vj~+~!CBe)2jY{}@5(2d SmmLQd01Te4elF{r5}E)pF63eW diff --git a/Resources/Textures/Clothing/Head/Helmets/security.rsi/meta.json b/Resources/Textures/Clothing/Head/Helmets/security.rsi/meta.json index a0653e5c65f..20fb373db65 100644 --- a/Resources/Textures/Clothing/Head/Helmets/security.rsi/meta.json +++ b/Resources/Textures/Clothing/Head/Helmets/security.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. Vox state by Flareguy for SS14", + "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/d90c7e5de6f6d94596c164da78dbc8d3cd35bb99 and modified by Flareguy for SS14", "size": { "x": 32, "y": 32 @@ -18,14 +18,6 @@ "name": "equipped-HELMET-vox", "directions": 4 }, - { - "name": "light-equipped-HELMET", - "directions": 4 - }, - { - "name": "lighton-equipped-HELMET", - "directions": 4 - }, { "name": "inhand-left", "directions": 4 diff --git a/Resources/Textures/Clothing/Head/Helmets/swat.rsi/equipped-HELMET-vox.png b/Resources/Textures/Clothing/Head/Helmets/swat.rsi/equipped-HELMET-vox.png index 1ed974c2062485a30a4592a91e557377c1f73ed6..e13fb420993a8bbe19415f9889a7e35423929dec 100644 GIT binary patch delta 724 zcmV;_0xSL31(61jNq@lr01m+cxRGn^0007}Nkl+oL)18_xp6cUa!O1U;t<5=Ya-6*N??w)aLU!HBp`IJ z&yHhbO!OT`3!{$$m~M&veTYV*Y6W1iSitz|iVVQ@AhLk<6Nv=PF$)-c`p9@ZcCGLD z#wi9N5ClOG1VIo4K@bE%5ClOG z9x9$HDEL?OZ57#erxQqJrdTL!{q^m&7;F4PbiQ0JLpU6Ucsvf1$waLHRI61gpI0gs zUjo67zd1gpIl`K&)e4%;rg0EloeyBpc|54V=+4h(GyCkoa5(f_tU%|n8vHV!r@a|n z6KydqjDHwKjRSCyOi~6gopxJ|e&O|XxGn7q#iAMkWx(adh4JYW&jCPMtrqpj*7<>r z^0{l?*T1L{foBlZ5K5&I^^M8 z-#LB~jYb1TqmieSzl&5VW!-#SY5ZH}8GZzPF-;bY!afp-z+f;4Gyv&z+FCA`G!8o0 zu0i9lsj2S-y}xhxZRmq>To4375ClOG1VIo4K@fz09DtwhbVn#07Xx+x0000sR7dA~& zotfQ8$^QpoXJ)(e_Dwd^!&^m5?t(d5$!4=ba%IKzlp3C#sDF05?KGE*DC1jSgy5x8 zNmVKp)#-HfSglr5jYeZ3iy-kKm&>VEtEJnn@h_U=KarImjYi|-GntI;V;tx8U`#N7 zu~^jcK$1rv<1X>7R_tzmJ-B>n_9Z`m1!^!Ds!!dIu{{M3cXo7wYw5J^hkfpL_3`EI zu2p=iKfam19e)gmKh$yQ`JovaTWvfkB$HPbvH)kXT>z_}0Fs~Z;?cTkX;bIV0jt$o zy?QM;{`zI^HGezrOZFhZ&M(4awi}_<6Y#(F`+c3HBq|>n!}-|ZTQSxV$^i>-D^A z1~Nx@UV+%Y? z4#bkU@&(8}*>Zk7Wgobc&+Go{S8rl{J0uMC$omhrb^AlJ>HVL;3vOnSh0<`WDB?xF zYIu>#G}Zg&K_v6XF((lb5fKp)5fKs55>o0n6%%edtP~%7k^lez07*qoM6N<$f&f55 Az5oCK diff --git a/Resources/Textures/Clothing/Head/Helmets/swat.rsi/equipped-HELMET.png b/Resources/Textures/Clothing/Head/Helmets/swat.rsi/equipped-HELMET.png index 030107f05e3e15775b5dc5b634ff75fbd3e26787..770a9c020d10a08a94a3cf4117281026d83eaffa 100644 GIT binary patch delta 651 zcmV;60(AYb1;_=ENq@os01miD>BuFYk z2wSn(LP4i@Wy?yY{y`|UY~eBe}&WWS7+-U z00000000000001X#_Iok-Xjd}&nwe?Ia|6%7-oA$z<>A)Jo!qcLa|tkQmGWpW;5xp z*Xy!nUaQrdCZXMKuX#(p*=)+Sj$yT0QMcPQPJ;FM01l{=XL?@1_kCyEWO{Fn#dPw_ z=8S+*wlo0;nT$LEY|!sZ9p-8&-1X=eOC_l}3EwU*=3 zaJ6mzx_|X4XoNq@rt01m?e$8V@)0006-Nkl^^pYcFDB zECiYuB_a`&T!MJ@(ht#lP9FUVeu!Rj70D%75JZWR2!R?C@g(G+V1k4ewt0`4uqIlZ zVP^&X|6tjf3A=CRCA)%e2;R95>TD#DNO;kS3DqO&K0HvpUVpc`myICf8(+l1bGaN9 z3I%F38ZuTa7O7k=hmr&xpCyw?s?}=Jwv9ig&M%@f-|O`Ti;u_S(&ushTm~KC`)9LR ziO2NfxzFP^@r^Pz7yIf>PDbhD_~>PS{(98ubm_AB+u5&Rb7MmmI2(&e-|wo~l=I&H zzEOPR1a!OibbpiEJySyi)8!xOXml!+1pJR_0*oF3Ui>3Jw-!}PjC>xjtLtlOx7%`X zTOa;0=cYe>e)3y*ZahdFgP-%^XI+nlF$XamD73(R&&9HxgZ1;u?*r9z`rHEm00000 z0000006<`@{-4iP7=L}9g}Fx{$oR$=aB!~A`)l(|?|&D_=krdJP%4$AAj5kSG(8ua zJp$JI1N@6;dcQ!c)pAxQ(~IXl34S~m+dT?K*~%;}d8u@oB9VynIcW84q*6{Nm5P&J z0moO(fv4tU65l!j$45tMw7=l_?Z;UdDw_x9d+}7YMCM{At(vsFvSO70v;6`67Y*aZ z&wiPa<7@V=BVz-u7SD$6&9U`7^cSM%_)^9{RsA0LmP$$g*TLbdRfoAky|%t8?el6i z)W1X$T$jlGrSh=&W4}iH5eunBj}O&#CagFB00000000000B;b{Ki$_UX))z>% diff --git a/Resources/Textures/Clothing/Head/Helmets/swat.rsi/inhand-left.png b/Resources/Textures/Clothing/Head/Helmets/swat.rsi/inhand-left.png index c334355ba851e9647f3a9dbe9ad2dc6d4336a326..27ce818b8e55d4006e3ebceec9c45b7418a04956 100644 GIT binary patch delta 343 zcmeBVZDyVz$-&IPz%X}v2;Ha2c9F4EG{?7maf z)YK%zC6$%bfEu`4S#AL-o{}KH;Qt7~AawuSIiNUafk$L90|Vbd5N6ylG5al0@Pem{ zV@QPi+iBi>%?3QIXSXxn|G)3(F%G8YkdV^Albbmn)+eeZ9TomNNo2_Z4@a(^`5a3+ zeSMqT9W~aj-*^ARZZZGv*L@{=FZ%qKY~H$d69da7{#AQJm|ljqTX8!W?CaSm^h=P@k4!yGnk-iCr2zx2EN`E40l?l7C3 ivwiq3+g^=zRes^-H7?Vq9X$o~9fPN%Mit;zi|KJsWgE#yQ@=n?xAkoZHE3&j` zv=_+MTGZ9^>>O@4>|UOW^!?QBJm+lp+;g7Yvp44`0000000000fbWS$qm~Ytvw!Z^ zSMT$xS(hSc(1}Ds*XpS5bu#bulT0QpKawJr02*8{5Ky&RO}Erho!Z?Fp1v24$N4^* zv~K1)wM!?VNtfR?7#_0P+k>jLrAZy7)7pkza{YjJr9WrO# zEvbGQ@g;5D5Nqc#N00000000000002sf1#Zsv-4y~?;QVGsee?;qRYO0 zZg@?C=m801X>q}~UxFr1Wh4^ex|5f)2t;(dNoq^%GtSqZnDYqqM$kcuY$o&C)`;vN zm$#3p2-I%Isyi#bBp|S`VO86@GrFoK&ez9us3xbT_#}y!1jsD`J$W*e-_(&jXWw`C zWfdCe=j-s`fZHn7Dwl5f@=Pm@j*MF;+2bGSo0i?o>@>%x*(^`~SI!XF*FOzXhvMvg tn`csKfBvtb!TC9Plmt{Af}2=Llu{M|DRa8>}g;!Rk>0n-Y6xcb$4|FgRsC| ZM#GP5zShfxBmlj|;OXk;vd$@?2>`f9eJB6` delta 805 zcmV+=1KRxj0?h`H83+ad0063Kao&+3Ab$yPNLh0L01m?d01m?e$8V@)0008wNklm^i;LN0AuEG4(xiZ@Zgzae-l9=&<-9FY7CUc5@lB`6q* zrQP-t5L!y1v=Xod4JG~{@}15Lvp;5clgzG3`aba3nKwH#@4bC92|FtohG7_nVSgBg zVHk$Fa$Hl_p=dN3s^q3zF00ab1N(ge2y=?s$ibj{C&hVS@>NnO6nd&C@zwzbAW4I$ zxq@sA17lrRWfvI8`y^2xbOPJJ22+NS&6P?e^1_1K?nji zl}aUPqi#2X0ezUwz5x8{{uRIf^nb*jlW2>$^Z<4jQ|)oL55)%hG7_nVHk#C zm}w>QP46fq@jlQt*53$Cf`8LGu`_@i!)c3t*nk7n&c%i60D}5WT?Tla2P>ZGv!|oZq_t%F#vMkO2EDZyXY(vO??tV1J_nUp6Q-t24^GLQau#-#Mctz5yD z!#>#zBW56#;um+ zlCWc5C?VnW-?4tWq^^J86#&{&KAuhssr0CTzu$*ls@b-XLHv78z{32ZeROQo&8;nZ zlbWGg?VGSeLWdpmSSKb7qx@sTlhUSu4m;-kz6!o70PotXwPLw{zOqr?yYtc|VaI$} zT)i?)heyAt{kC}uUt$O2N?ktF zJx2M8G6sfW7=~dOhG7_nVHk#Cm~%_u|ImkffqVPAq5dy#+FziHUl564=EerMd44@3 zr0GPcjX(QZ6*@q77(5NI5A6%F`FFXK)?m`nkX+yXAmrmUBMir>wrlt}?R;#tZNx}sxYHRlE62wt2xkVQda8x)o3 z(80pTC;4H2UtqPD6dcmfX^d(oKsiT1snp3)nMR{dI4mI)5OnhjM-tN85A#lc&Nw1V z08m|81W+j45Vlh3OC+B`r$1E@x@~bI!8*UqQ6xYPL-*wy1m_IUG-2Q07^VX~HydXd phG7_nVHk#C7=~dO<{yXX4`FU^qB?|UCIA2c07*p#PDHLkV1l>Sh_(O# delta 807 zcmV+?1K9l42G0hNB#}WBe**zYL_t(|ob8%1Pa8oHg`cBzb{Z_jra}UN6bdZ&DH11j zf`Wg5`;?K=^v%AL2~Ke7yzBO&m)}eY~#(*e;0gx_ZE%AV?fy# z0fGKM{QRN)ihqu~mi~b7=&@2ml>a zDrM-Yr;qUQX&syDBhP8K3BXjCap@y{8d?%)x_co~S@< z0x*?pAI2FlFMvf%z6ga^VR)_p0G=xVfaeMT;JE?-c&-2df1WDhN>j09fw}@A z6YqTgHnFiV+5l4aDdYiR4L~M;u+`M((`9Q3bl{+Af(;RJzx@}lCUz-~wz&W*7F!6` z0HWvuS8DRCf68`lF13wWz#w@rMXPFCG;%=TcL|nVAhN{>LmDDjj^_dlRV=p3wFPAI z41$4jRobT~IVD?12ce$y zQ}IRLc_CN>V0oIIBG1=XAOV%jPta;TOS|1}F;9V3e=CiD{n5T^wK~?7?>)lLQI@v` zAhmk_Eoe43^>$$6#I>WH@$ diff --git a/Resources/Textures/Clothing/Head/Helmets/swat_syndicate.rsi/inhand-left.png b/Resources/Textures/Clothing/Head/Helmets/swat_syndicate.rsi/inhand-left.png index 6c958708c8d3a7a5dec331e390c4f490d080e4c6..194c17066d29c11035a91abe35c63422eaa552b9 100644 GIT binary patch delta 510 zcmV zySKM{%?<$o00000004l4o$b8=|IDqbtm5WP>5K<>@^DY}dVkH-MA8mC*)AD(;cRVs zgEOLE56kuDQY39VDU}t#gDsVc)DEu?4~}93=X&YGjN;jnakZ#z0bc%Bl`6GbFQ$fQ zqf#Aii!`_$w>P)3xSDdNbi!{e2s-q!e`;#R*6+@#SS-`ivp;iRlj8N84VCfQR8{~F z)>eDGFjtY}|9{g=i>FC#MtQleu9eN*So^a>Z||?-e(ZR@@8>+v8*n+SSXB0&WyyOf z*Y>kepHcgZFWL8#XvYHp000000000009aCdgzlO*pmsPqZ(8{XOFIGGZZIsbZ*F6U zC8PRTWikQwX-*b6zLk%#8`Van`3R~Lz-M`XWr<|L%6CWjNkHKKrTGZXXKjV!%Y47t z_zKIF@V1vGA3%!VuvR{T^9taHH5dM1qaei-q@sU3O03bs24GKQNAX{HL`2YX_07*qoM6N<$g1Sie Ax&QzG delta 596 zcmV-a0;~PK1d;`iNq@os01moK^`c3%H7R$k z=<|b+yGwF!xwOOo1Q8Jt5fKp)5s_ZwiKL~Hfq0*5wVt*@Cx6$3aCH>xH*Zgbvs@Rg6R`0< z*oUcAaXYr`I)9@)2rPB19DBexBmb*Efm-cJrRs*Sw^XXmd%Y3dhvOg?mwEe>Lf*cn zQ%Ie)z_O1-qAK^PTrP=H`QCS1s7EEg2vSc+cst*0FwN+y=O;#H)A>uCFI=_UhI7!r z{>>8+5fKp)5fKp)kzoj#dELg?9r`OZ&>$$!lZ_TB*;-@SeB{)C@s4UR%P z-oRldEq117RnBcckqi_<*E#`cIG4LrIdjkkLhq@QW7leHWfO(oaMR*}+z8P9d^hoW zv}7cd)sx<|UV5TuNDrN^OgN*(;c%bG6t3i+1izuQz$>6(kWvjEMvB`irJpnGo}XNo z6M={{4ozoR-7h0=3Cr^QBG;C>@!2JlqcV+81C!8^K&tbH$MnB|N`AD7v$OqIIKm+`50;Rb*J0000h(h8e^H4bL0oL+bwo<*MCdgLDncv(Zca=ZrF1- zo-*dC+D)d5SGfY{rdrM7wa~%-p*QeLYBzZhC{BJE(8U|M1!%diH<~{;_WMulqR|Z6 zO-6Bkqxg04mUuaXM$C1G>}~Iaw@j_wo-xa+vxi4Vd2ik-o$kzR>*7_e0Q&Kw*8MrZ z3d!G_CP}=Jvwuj-XJxg{Yg2>wA$xg!HgfifZQGvXI3+5no+@7P9YEx|>Egtz9U1Wr zYU;ih6)j!>000000000004NMPdN%#ITqp8yRHdjn1HVZ$0Hcx1uR@ns*TKPq++HNH z2Y^mo6gdMsS>+7;)$AgNWGF}`EZS>>1(_oa zVzGP}T(bL3hJUS&ovJ2`674`oAfJDhHAm;whFwOZ&PV;%O@X-Zx8K%bw=r=*TV2zM z$kGGbJ|0iV)`x8NUfgHzwD*_*am#9nz;XKrt2DStg2r8ORovg47nkS8zIi|Qq)pzj zL_|bHL_|bHL`1&}Qc&*v;h#4BwaHN(BuVyq zld|QtH9RH`rYB`9Jh~lNt1mAA_CXdXq${wr9Lsw=~ z*1n%->{Ypa?JqT|N#F*0TX+E8crw{-x3MMNNmCq&({w779T4W&f#Dpgv*k44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`1^2Ka=yhC8U1L|D|uSxwG&&kZ&$4>R;Im0vogv9UBg!$&*OOFt*jXnK2D zs+TrUN9HGuLLkLo666>B9|bU6xie!SP>Qp_BeIx*f$uN~Gak=hkpgtY98VX=kO=p; z(=JYGR^V}EzI4m$_5b>J_a?01^eEk?Z*6^#UGYvq&kBvR@voR-7_P}Pdt68r3glpP z@9p++FmyAqc&Gf}^P2~M*ZLP~oV#@G(Z>$1Mc=RIePrF>t+DUaFX;pc55_xF9hDh0 zroKG+)0=-EtBI;eJ#)@Ku7>?gWnK>!E@22ibZO^BUULTqDa*tscG?O1r0>toWG$Ie zz@6kF)v1%PmxWV$BGa7w=0cr@!YLarCO^sccEgG|@hS29or_d7jV6shaT5T(o1C=!x!CXZvnwUfQu@a&?^e1Evjn2kco+dABlKi{H%HPWwt${l#;{ZFW@HNIV3 zihbkBBYa}NbQ4#b`fJLcpHE;5Umx*yNr7r?xvYM6U^~eo;IBjDGfiwKu=y gH=TdUbmlXE^RMIUy4zaz0wa&X)78&qol`;+0N26zvH$=8 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Clothing/OuterClothing/Coats/detective.rsi/equipped-OUTERCLOTHING.png b/Resources/Textures/Clothing/OuterClothing/Coats/detective.rsi/equipped-OUTERCLOTHING.png index 24481b1f748a72469c4818c488e1c0c306a20e6e..4cd72c8e3ce71ce659b7a2a4b1f1de3db2d86768 100644 GIT binary patch delta 566 zcmdnPd4y$xWIZzj1H;_yjcNS%G|m0G|-o za0k`eIIEHfi^=)!xxuC$rt;-shD)b3HkPJm_-H43>E{F*wU(z(Z!b&r(gtcO@qM`s zNC}h#`33(+1q=_AVKQl-JR*x382Ao@Fyrz36)8ZMG5H}tPOs*pYh&g#*`Uq#*Fn2j?>!@)%PB` z&#*<`u_m2i`fq853%m;gHP84QWJo;q=lTPu={yP`?rmM4ne*dc@~-G++SU-O@n=3$ zQiwy3=AD;PPvxBUM6Ef+$SxYNfvZbsli|DtEExhX#6BokiRb-iWtr0O^?t~ND{BKPU>P3W7=C%kM~$|>eqH-9g6ZrECJzIfw_D#5cqu0LH` zs-n~=rt(9MK~f=NPjC@GV{fqRq0V}ShFX>bs<#@r>k_A2V16L(H0$W1B%8&SObfEZ z70z-VsGF$C`0Mr!_5*wEFQvPM{`gjLr?A&7VPfo)`z^;Fcx8yGuJ&n4=1dKrjPgg&ebxsLQ0Fi9)9RL6T delta 1203 zcmV;k1WfzH1iT558Gi-<0063Kaozv`00DDSM?wIu&K&6g00eePL_t(|ob8%1i`!Tb z$NxUAGnVdDEb+o(wA;8#<8T}wNq%sRzCsn?|LaMzl5K(r7K(Um6bw!OE8akSc7{?*#zRvTVG5|FHo8^87CMy7u!2 zZ23nA`*0j9`b-EPSJyX4lb?5eEdz{)gP`lSVgK?gy!iqz-@M)U-is%X1NX24`R_N( zyjyJ}=onx;9Df9Rb~Co0RWF4cB90o!U+RazPjjSI3yEdmi#2z9sqbpXky5KH6g`es9Z-u2lbklYEp`2unkCMVqxFkw6#1TD*s65Ud+ zqZb{wEL(f~BUlCi!dUa>3oPY2y7O+QZ5)Ff$i)F*&u*gYwqwU8JCL>kM*Utu!sIHn zIxX5;+(t_1WL_>*22%-4FVcZtM+f^@`I6-YEPoFmp>8Lhi0HUzFUY&TiF|DXsPRpA zJnfjy+qDAR6!dK!y;RRL#Ho(g_ZyQmp|F(HY%EX&5Vtc>+`~kZ;%iaZ&iH_RkWq(7h zc@=qnSL`m37GFa6r5k}3pXU199KiMfHPNa6)675_sIrp!a6N#X102V~+4MA6$~Dvp zPPfyJh9rwdoktMD$FmPlqiIrZB4*bC=L}i^*!NFfOaBM9p$&mLyyS&0bu9lX=;o$vGB zoj>ZVWJv%CAOWfcU>bS=?VzWzlXH%*cQuu5_D!fe+Iv!yV24t`#UOn_u?p1{uwAyk3e)qft9x6G3Q9{{59V&VeO?3e4E&<$bS zc-Uu+W=p6FnH9k7LA>nI$EQKG3e|cKlm>7(+F^@39Lr2aJskfR0M~o1rK*pjPRfR) z9-Z?O0PJ9V{ZfLg)%@dF>RtSMJpU&EdJ_sFI!8p+*n}wh1*HA7^Fjb{Z9$Wn6_**7 rhkAto@YXf&KfqT2MM(lk015B_vs8?3{td`R00000NkvXXu0mjfHTj&> delta 485 zcmVJ z3vn?f7zaitcm9Asp+BROKcQ;}r!Jj3Iy5oq*0{h8AwlCndm+p?&`WvvxcEpr@J(Fq zIh^l&=K)ZnM2SB}U`Y?G9j79>f4VLNzyeu;hPc!|k$_Z}!*g6t#^(*pGaxUP4e5@aDs z0*GlvQ}C0yBnbeJ+Ydb8RzTO(kZnNf2Qe7{AXYT{bzZT`)%gbzNCuRfjnsQ~X7^_y zkgPAuc+;8L(ed)M1c2X>+@?U0@nb05ge-{fQMhjYuL$sGUx biGPVTj}XKHe-Nxy00000NkvXXu0mjf%bVWG diff --git a/Resources/Textures/Clothing/OuterClothing/Coats/detective.rsi/inhand-left.png b/Resources/Textures/Clothing/OuterClothing/Coats/detective.rsi/inhand-left.png index 9f79738900ce3497b0f954bc591dd52772eee54b..8274ada74ae288bcf4e409a56fa13a2dd3a47190 100644 GIT binary patch delta 467 zcmcb~{FZrwNmUw8NWV8k3CE6zaO0VwCol_12F jAmL_xZw*5jh!BgHUdgp;hVio+1|aZs^>bP0l+XkK{gBL- delta 447 zcmV;w0YLuk1K9(RB!2;OQb$4nuFf3k0004#Nkl9c(IT&Im z(#;3xVmdg~g}CwpY%UJ2zJx2AFTiS?92rbV+)O7MrW(S)(R8ju(+Clyf9|T6em@K3 z=?v~+fUbL}MnuvkirC)3>DHGgoOm*&#h986*?S2rV zE7};iPLij7F5`{%xr}qwmvN}NLm9=0RuX`P#ZtoVS%_8=M>(U;>er7iQeTvo^DCRi z**{lw`c|zkLVr`PYHV8zRMQqfHkD-*?>~4){rame%GUrOJ!c~T&&AzYO(Xf|x5eww_yDxr7B8aC>Ap?lXMphmRDEJ> zd;nLM7Z~=v(jgcf!07(A@_qrM0|0>FV^*o&_yE2)WH^*#bO5h!?+~48dkBmU07z#* p=U9}k|C0+LRTn?mJ^~^t?F$WwkjDKjsoMYm002ovPDHLkV1mB((vScE diff --git a/Resources/Textures/Clothing/OuterClothing/Coats/detective.rsi/inhand-right.png b/Resources/Textures/Clothing/OuterClothing/Coats/detective.rsi/inhand-right.png index b1315700d185c444fcb876ea30b985dc4ebc4064..5e5f6f98166c6e42958e4c3ac3af637889939045 100644 GIT binary patch delta 486 zcmX@l+`uwHrJl3EBeIx*f$sX)qJ;VDUR zXqqZp{zBM5vD9%7XZ~TK&QA3g4ss1!r%FhiK5&3pLT~NF$2YcaK3e|WbLyqd!E^V| znH*x?ToA(0vY1IhMwH><3I+~$RtF0$hC_jj0)1Q!K&kqc$s!w~;%=txwJp3qUoQXc zv(MahYuFBzwz#lf@VqYmyx#qG+?=G{kY=X<_{^`f8712a{i^v@0r z`8utu`(}AOm08=cz5YA@oxAoAzCPV){w%3Pf5lR!BFpbAGT+>{*B?6i+fe9A$S0K( zPii-a<4pSII~ zBEve};zc`{EViDh-NaGtv3y3t4m& zA|fIpA|fIpqOv*Yt8O{?PSnKX7mk7kf{Ow*EFvjg)x2{-9?ptn%E}OC5VQF_b!jmys{Kx?*=r^L}mXSSeNM$ f2=h!rL`C=k%W{ms)I}eb00000NkvXXu0mjf(c8@h diff --git a/Resources/Textures/Clothing/OuterClothing/Coats/detective.rsi/meta.json b/Resources/Textures/Clothing/OuterClothing/Coats/detective.rsi/meta.json index 18a65e16d71..b2c9c730124 100644 --- a/Resources/Textures/Clothing/OuterClothing/Coats/detective.rsi/meta.json +++ b/Resources/Textures/Clothing/OuterClothing/Coats/detective.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, - "license": "CC0-1.0", - "copyright": "Created by EmoGarbage404", + "license": "CC-BY-SA-3.0", + "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/d90c7e5de6f6d94596c164da78dbc8d3cd35bb99 and modified by Flareguy. Vox state taken from vgstation13 at https://github.com/vgstation-coders/vgstation13/blob//icons/mob/species/vox/suit.dmi and modified by Flareguy", "size": { "x": 32, "y": 32 @@ -14,6 +14,10 @@ "name": "equipped-OUTERCLOTHING", "directions": 4 }, + { + "name": "equipped-OUTERCLOTHING-vox", + "directions": 4 + }, { "name": "inhand-left", "directions": 4 diff --git a/Resources/Textures/Clothing/OuterClothing/Coats/detective_grey.rsi/equipped-OUTERCLOTHING-vox.png b/Resources/Textures/Clothing/OuterClothing/Coats/detective_grey.rsi/equipped-OUTERCLOTHING-vox.png new file mode 100644 index 0000000000000000000000000000000000000000..c1c12447520f26aa1aacf836bf4577ec8db83680 GIT binary patch literal 584 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!7>k44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`1k1^9%xT3A^4`};>nN2jKyy1Tm@7#P%5lr@&7+uGU!l{oZr*#Rl8k|4j} z|1iL?>5R^KpeSd7M`SSr1K%MKW)#)%Y5-a|*VDx@B*Ojew2RZ46?j}4gQEWbZ!d3i z@tG2G{#)vKx#tT7*z$t6OxRMhQo4Y7g+1E@g_LDeiq8GGvg0(%$|+53^NU$()}6a| z|JO>JU7NR67w%DLe)RX^+kFhnTHdW*v!79}e+ffb>III5kl&wP{n^TXpNUViq@FqF zAHxCp22U=TRa^y{Yv#@|l51cvDLQnbIPkzHlYPIJF>-`_qKC zZ`A9CYbrJ`uKtkDs?NNV%8(|UnxLMuDCI%WhK7$ytPSNyyJr;F{uc|F$aJlKa-+r> zhkq+>`M50ie!MQ>UFqEhX@|QF^&Ar}E45s@Jy*T1=qT%qWTv@2)feyTl;y43VG`+* zQ6sRL`_86|3%wX#^FK3~zGHdAgMhYzg!v2!^BF&g8YZk=$i(!{?w!E0mkdvzB~?ed zu)eNllWcYTA+kc7Vfo>dut~RUJ6e~OwcknE<-4k7Wq{R&vH}6?o#J*kGU5+QY~1G{ zoTtR_R3^ZVVZ$$`1#iS868-9G>AmuYuKYLnJuC0PraufPUN^AZ T+Skzrj6DWVS3j3^P6k44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`1k1^9%xT3A>_M@Ren`=_R+y1Tm@7#P%5lr@&7+uGU!mFzoM`VdHQl?3?( z|AzsFO=on@14TItJR*x382Ao>Fr%o3R|CjGPZ!6K2=}+sZf|Q=;Bj$wi2DD({k)2c z>eTMnTl&v13$bl0Tq$sC{}m>kh8N2j7B!d!@O!zO>A98^DjLAS#j()0L4Wnl-{JF} zLZ0ua^E$?C#BtAl_bYLS$qV+a{HE{Flfv+F+CeXdfJ;wL{&e^MBkb^9E7O{-QWV`opZmTwSV7b){JhUIL8N1{>*183UfH8y65H8r;?Mt zXCF{u_L|n{z3|mzZmkBs#(SLdO2t+G#V1T)x>i5gG0?pE)8bo86$?YeR$CR%&t?>J z*uucAP}H#LF3${uQm>^}2QG>#^K)#laGR4W)@{SEd|im5*nO3!oP93^9k?W(TnH>& z-f(UmU*hrk3<>8McDTx4&^R=Q;euwYgOf4ygG=WfX0bQ?Rtje9iGM7?VD4Poup>x6 zQs)!HO6S1lh?>b_ku$EapJIBQ$HuYWRityY@%G}YhH^$ovR znlt!+DKdx{Ye(oUWm=lObE(AhxF*X*Hd#v^az}J}AS1V9w=`W!R9RkdXON zHQ?dF4_6jXuxB*Rxy@*>VS+uwJIh{=+w&sV>|!o*TF>D3EdLpMfTV@HcFEH}Vfz`P aZZodY7Cvxd(PNN{7(8A5T-G@yGywqUpJEOG literal 0 HcmV?d00001 diff --git a/Resources/Textures/Clothing/OuterClothing/Coats/detective_grey.rsi/inhand-left.png b/Resources/Textures/Clothing/OuterClothing/Coats/detective_grey.rsi/inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..a661e43f858592bd4c391ee7890a6c7da808a7de GIT binary patch literal 372 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!7>k44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O_~O1^9%xT3A>_M@OfordnHD*Hx4Og%7SvtN>DMB|(0{|3QFZ^Zq6Kfg+p* z9+AZi417mGm~pB$pEOYLrl*TzNQC>_skgaW40v2FuloQ0^z6*dIeMZzO=~7pZaBL{ zE;+ufZ?={L;{qlThF|^+rZ&&wO8(7tZI@#3EoUoQ%dz0v%_ZwNk~~vIW9;r^+&=b5 zM{}*xg7QO|YtBu&q{UQmhx3AP3d7v8Irl0b1Em&u>-aeApB51msT(tE`U>mIlMcP| zYU+$*ey#U9d$*;BfSzRVboFyt I=akR{0D=0Cx&QzG literal 0 HcmV?d00001 diff --git a/Resources/Textures/Clothing/OuterClothing/Coats/detective_grey.rsi/inhand-right.png b/Resources/Textures/Clothing/OuterClothing/Coats/detective_grey.rsi/inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..3a6c76fe53a184a34042dac4e6817b5e72f124cb GIT binary patch literal 364 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!7>k44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O_~O1^9%xT3A>_M@OfordnHD*Hx4Og%7SvtN>DMB|(0{|3QFZ^Zq6Kfg+p* z9+AZi417mGm~pB$pEOYLqNj^vNQC>_sR#LvC~&x3y!QY9(^Qt|NqLJl+pb~1=g1=& zzouR3t*WL6qlY8c0W+p4PAA=NtP+XkN|ksRwVH_Bj!%{pLk5We9qjD=cX=8-&4$eL-PF*=>p?>oaPEZ zZoA=zLgussnu=%rB9iqPZ67mA)_)4RaEra5(|esG!v=q#=NLR){an^LB{Ts5yi*EJ|8C@U)~ z9UUE(dH^3EA3{Px7Z(>WFfafB07`i@SO5S35_D2dQ~&?}|NsC0|NsC0|NsC0|Nj8u zzrPXy000SaNLh0L01m0(3k_FLp2ZRZ5!XGn7C}^M^VCCqVUo0cbJ2*^8*Cvj1sNAyx~=a)i)m;sIW? z-UmHTF9SP(hs)BH1b-=Cf4)jd{uLm@6@W71U-&wR_daF*vDP|fe*o|b;6nftf-4}n zkUc=-#Q}0aP=7y-1{n1sSAPHqE?)sO%OODK#v?v0`B#7lewKlq?EvU$4glflU*|w2 z-v)4Nuf{}#45A|7W*M;D+}`R|2^mmL{s58qImw6MM-AYY z{28Db;C8(aK$W9XKL9WQA7p@d%V2Y(9%_VAgs2Z_D1SpLXuT(^HEJpxy+;)QkMi1= zq07QmZkqz&J)M9PpgI9tK<_z>+KkBn#-og7#jTxe#SwOEQ3420WDAqq8`;`L6V|w( z2#{$SC+7U#kD|(qAyXtI0ADA(Si4&s>~Y|ot|^5CxC|F8?fu130I)%Bs}f+S^cp}l zt^FB*Ie*4w_5qk64Cw-N_61A$Zy7Wl>{Db%x zg;eJs6oYp_34myg?@yurKR-YJ*EJCj4|E?NRuU4HdH{_lCjbBd zP}CUS0000BbW%=J|NsC0|NsC0|Nj6=PXY1(000SaNLh0L01m?d01m?e$8V@)0005b zNklXfFRP5 zs2@!-2vgmiHO((-HiT{vLwJRPEkuo2!B_SE8xW>B0FG_eQmo)N_5Oayi4DO0QH(bA zeg{Z907n{qi_xau?*WJdAO{+Ki(#oD7{3P;8f|}6jgt_p-;Q!#N=djo;Fq%GtnnuC z>oc&vIaRB`lYiU=>-T^ZY6U#SP;gj)^({cI-v@|10Q?mI?8byP-})9H72E+VX}Ja1 zQcBye0ZZOsrLggl542=`6OC^xsC&PHP2^SZS$YLJ68#7;(gSz^)B`vH>bK@X=^Z}C zLo)st=h`v(^8ZoN#(VSxJ34JO$ zQ)KJ*0r>CFadLlYY`$!N7ZucmD}XfcD*!Iy8i1tJqZ083v+MW(E&`A>`2bpnwZk!$ zr||&;>y*mVoTC)Ns6Yq11^~2Z2T&jJK?4952_68ist$IU09xzk3YgTXPvvX^#?2Yx z+JQO#dq6-tWd9~+J_UDuz|~*v-sAa|K))^-cbN*fz``jmL?3B7qAt_Fqkj)5NS%G}r0G|+7 zMMXtv2?;$tJ$rk56%`d-UES*&7&J6Aw6(P*B_;n~Ho3~@(F4mF4!z+LSSZZ!YHJZ|!rE^vUyoW%xVE0b&wCqRQRkkn{;WS8 zpS2Y@;mR;2LAgF|J;N8v1Ap&Z9oWnhC_mwAw%CWAd~c>0r;5G< z8Kb!7_xzyetpTS(#l%e;zLzlSHN0Z_W7+WWkbV8~*;mqk*G^?tnbT#Ww8X{2DYl8- zM(%U+^b1_V3J))`s_gSVQm;|Va7LrtyqVdj@Q{i#!*rGIP(FdydCVSnZq~D$$f)5> z;A6be%+qm{eW69N{4WMkz7vcL?)y(AO=W&D^;mX5*L;RH**#1@7BEYA9+T~OR>Iiy zbG|M63rEFJIfnn54c_9R?hIe~(&yaQUdYYBxXJlnh-OBccL9S=f4vu0Jz` aKQXf^on+q7+gc5bb_P#ZKbLh*2~7ZFIS4TT delta 1191 zcmV;Y1X%l#1+WQ_8Gi-<0063Kaozv`1a(P7K~#8N?OHu(Q&AMY=}?OhVuC}3nh*zV z7o7r*&c#6xEDr8fTm)TI97J3cT>RFg+EvP-LjA+cZwNelt09UA$b{lejz zmv_%?(uDWkozmu@{n-qYQ0SQMSEq{T86CgbV(-QD0fpWRr zt<`Eh@a(^R_H@;OtuR^Xlk0ve25h`H-NjpFQ!ExuqtP%h2#5Ih+OwKjxHP)5f~{;e zYx4R0fAO_iEz{|A0-s!ihn%x;ccaohwfHj#UK*250hDiR$4zFT>b$S3v#@_*`Dg%q z*n)2#SAMJPJAXNfAd%gr2WJD6kp-en0QmpahwBC`(Pm;05MbW?nTk2L^d}Op&#Onw z=9j876C(kz1B?Q|{yx&<2m#t(zPN6lyeS9Zhb`E?bG2qxKKx6ROA?#`_+GD@lciE5 z1Eidb15p4G0PK6LP>2NJSF_pk)5ZQk0A%*DF&069cJNh~_*nuRbB`q>Wy z0k-I)#=a8(2&~m^XY#pR*WTQAl5zyfB@0mi*!BrH^$SBg-rdfPVHR1En4r2mmzpRnECGAgZo?zlVL6 zp}hyo4}Sn?_E!lLfG7rN9MH(pJ{d<{n}M1=y#SDOgHxm>OF-j*MwS4C>G;@p20$9e zv-aMLT<^f)$uAEgO<*pvQNc?#Xv)9~fG`Fm3V`{ot>DRk6L)iNF1R2i27sH>)8^6k zc8|IDXJ^gx-Q9Qtz-Q};nVBG1TyRjAs5jgN0DsDlot@sD!KJP>GPM70YO3#b7!16; zx2Lx6bq4TuM*t8AUsU*<#4bSa5CqU+3yIO%cLt!JQ3-%c5W|oe>l>kA1TblP9Ebsv z7L1QSDF8mG#Yrb+K%BDa6HCefAJpQclQJMq+4PAeWq=QAaneZ{pv`93ud#zPK(s!{ zpMT%BuGSAV1K0_oVfN}dFW?i5R);eQ&_k=9%cm8m2H@pg(?yq7E)Fdm1_%tEGYZlV zysf_R*nQ>!x+(w={Pk;dcWJ^KRMQ&^LIdHQow zWb6RIDe25%03hwbzMKjfX$i=_J7xx|xm+)SvSX~xszzSUBT%o>ZX3=caF)S!Pjv~{ zjYnRLfK|Ab)2D zT!ZnE>_=W;J@8N02(0O~4xYJ%C1K{r5YKH39j^ z+An69{gEDmK8{Yhj_N5e>B0E;mmmV*gIb()63>9YwUMQ6ZA5}>00000NkvXXu0mjf F003XVF){!E diff --git a/Resources/Textures/Clothing/OuterClothing/Coats/hos_trenchcoat.rsi/icon.png b/Resources/Textures/Clothing/OuterClothing/Coats/hos_trenchcoat.rsi/icon.png index 20ac8b6d1894617df8a372bfa656fcf1059a4285..d6f9dad5568755ada119531721da08f08ed14099 100644 GIT binary patch delta 312 zcmeywe1d6$WIZzj1B1(wu46!ou{g-xiDBJ2nU_EgOS+@4BLl<6e(pbstU$hWfKQ04 zw1kALtgNDjH+Zcnh-0|Ask+?ykh5~ZYI%mNTE?dl(py43Y?*-0W$<+Mb6Mw<&;$Sn18;!< delta 483 zcmV<90UZ9w0`dcp8Gi-<0047(dh`GQ0k}y-K~z{r?UgZ0!%z^%FBEE*P!k*~)P%U$ zE;{uixD*E`#c$x?BIxGmrr_e>HxQj1q>CS+lP;}`A+cZwNi11vp**<<7ampnUQ*I7 zc}vpfa`$`x_rHq<3trlS>q8EZE09V7$8p%Cd0p2{l`GLpRDamAEbx6lW)OcT1yKfI zod#QPegYN?!w{kq@1Xu#I~H!q9@CjsdH z=es57zP6#htJdOD0F)gI9`3xr&EuvNK#Ws44rPFM&x1AFmI8=zGXv1>Np5raE_0NrYp4_v6ZDR5LQ!g;?Rt9(|e!1ZX9 zEdcfQYN^DFq2XxZa6+h$;V_;VnR-AhE<$8_1ehF+DBD>Q17a@aE|3*Y`#cB8704C% Z0cqnuFaV5!TmS$707*qoM6N<$f&eeY*dPD^ diff --git a/Resources/Textures/Clothing/OuterClothing/Coats/hos_trenchcoat.rsi/inhand-left.png b/Resources/Textures/Clothing/OuterClothing/Coats/hos_trenchcoat.rsi/inhand-left.png index aa0228cf311166a4dea8ee2cb77587cd1a4c0159..0aca0dd5172933b6217d86949f27725bee52dc26 100644 GIT binary patch delta 353 zcmX@e`jKgZWIZzj1H;_yjcNS%G|^0G|+7 zNl8grSy@FzMLj(|7Z(GdaOtnP=YbSkNswRge-L2Uyno4lpa^GyM`SSr1K(i~W;~w1 zA_XXT&C|s(B*OjeG)un220SdTvj6M<7fo~135?p6aA(Pb1MC|jdvnYaCG|ZWxu%FL zarhbB*!G+MldYt`g6Q9+(>!I8I{YrTrgl$0^>IAP%W`LwSGMF z7L;7EzGkDw=6+#=vYgcS<3}FUGQV6=9+~SW*2hqLWxJWWaCpJqk7^529&v71C@1C@ zl^5gK0<;Ni;U9$ytYv{A4wIb%8thLdmvwMu1a)xE@l@1W;Hjwbz*F%TZ$=OYSAvCF p>xKt&L>4j45;@c~d3uwf-F8Nwrv-f*e1Lvr@O1TaS?83{1OP^GfxrL& delta 692 zcmey!bdYs|WIY=L1H-D!!g~x1Ol_Vnjv*CsZ)dIdKO7)%JU?&QOEXgzo!}j5Y=`eR zuyq~~(CHIkVRAQUN%+C+ApFN9ZRPANHm2?JDRr^W0oZ>GU5$u znAWHUeE<71!{}$K@cMU_TpV;&zOYpa!tQ2JUk+b$9!}-r*`|?>Bilmqi zFxRhVb~rm{t7^fGj5Fmn{PT`IR(Y^}H^(I|ikMySYA@T325+ZCUyD zRacL${aiOc^-|dJB-0&l7Q26U?%1b%;^rc*Q@cYpF`ckp;d`EwVfLoPL*juAoUhD! zHMuruN~_ffvd&nLcX`GlBBdg`n6CX)|FQq!6eb0ZrX}hNPE4!c;rBr1FUJ}NjRKx! zC#LQ2`w;V&V=05iF4Z^@hID%-X@)ls0+=;7sjlO0SS;Vj+n`ndiub}@@iRbJgxDrD`@D z5NIg<1=MumIKO3h*#}(mdK KI;Vst1_l5JJTDXg diff --git a/Resources/Textures/Clothing/OuterClothing/Coats/hos_trenchcoat.rsi/inhand-right.png b/Resources/Textures/Clothing/OuterClothing/Coats/hos_trenchcoat.rsi/inhand-right.png index 4d6c934790623a62682f9b12edec18509bb4e609..b4012d09ead0e49d474c1de5c9503f851b7b57ec 100644 GIT binary patch delta 357 zcmdnW`ju&dWIZzj1H;_yjcNS%G|^0G|+7 zNl8grSy@FzMLj(|7Z(GdaOtnP=YbSkNswRge-L2Uyno4lpa^GyM`SSr1K(i~W;~w1 zA_XXT%hSa%B*OjeG()~43OpSy8!IrYPOT-m@&O_O~doIB_^B z{ONTN+wHymw^xsJ@a_9IZ}~dRnV7nmF?UY=t=I{c>M?EyuZb~E>FgAY;&I>29po4? z!Mo&PhPh*#Xg$wr7xBKbdiD?j(M@ygZ~HdzO#JxgqFmFrkhI3Ua>gZ}Hai`iI2d<5uE22WQ%mvv4FO#qPGf(-xw literal 693 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7T#lEV5;_XaSW-5dpk?f|FDC|@%v|t zE|;uzK44^e{mg>roKkiSZ2~+86$M%zY+z}2XnJOxVBmfCijja%X?E5#ueiz5?zgv^ zUy8k7v_9+Qu6zIg-hY2Lwro9PTRiXK$LwYeoCbFo^%xH`KJc92-QazofPDuG4|_v6 zPz)$4`#{J*h9Qo%$os&?w-P63v_72w{$t%QxzeUnCh0sCJDPrcJj;B%@PItubTuBf z<_fdf2VXAaPcJVy`Lb;H#|j(2N1tr;JyRw=^Jy!$maW+N@!^kO*ICxzXXlB#^M96) zQAvQJBa7~rDVgU?8JKf+>qSgs{qgg!r4P@+^BEVmNeH+Ko@rhXP`r@wNAeznjH%ND z7ch7`T-!K}(S4ot`$#dHv(F`&`1E#l&Q^bGR^ukPhmG;1ZA%Q3hgO{HtnhVA5lodV z0r9M#I5aNBWE`m6%(?w?rV%>_(+X(?;fB=R@@=hKo=GW8XJYHg)-3(vdiVbKs?(Ma zsyBL^`Wer%#N27MnY)PEzAbDEP4kVX*G+rkvg~q*nZxqiBFB@MG}2s`tErLBS+-Uo zVe)?uZRvpU^9>g3+_h@%hhJOmHSrSn>sOKvm!Cea5)7H@HbrWJn4*+=$rqlEjZYu{ zTICsFwxDlb;}%AvYm2yDM8AffUz^)-ZXV;$9wFufMJsmkc=0Z{VBDbcps-e#rNgnc z!>WqSfKz_k+%0c1)D?0aWNn!rRn#rN8YNX=DK+)dY9o7%{Y%~f^`DStUcD;N`DVkO v-V18w8Co}2KaxykUM11<$hyb;0sGglTLLmaYwic8Mg~t;KbLh*2~7+D%`hi4 diff --git a/Resources/Textures/Clothing/OuterClothing/Coats/hos_trenchcoat.rsi/meta.json b/Resources/Textures/Clothing/OuterClothing/Coats/hos_trenchcoat.rsi/meta.json index fa20ea7d596..afc5942298c 100644 --- a/Resources/Textures/Clothing/OuterClothing/Coats/hos_trenchcoat.rsi/meta.json +++ b/Resources/Textures/Clothing/OuterClothing/Coats/hos_trenchcoat.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 , edited by Alekshhh. Vox state made by Flareguy for SS14", + "copyright": "Taken from Paradise at commit bad1ec7aa2c86df5794dc6ba28be05ebd0228012", "size": { "x": 32, "y": 32 diff --git a/Resources/Textures/Clothing/OuterClothing/Coats/insp_coat.rsi/equipped-OUTERCLOTHING.png b/Resources/Textures/Clothing/OuterClothing/Coats/insp_coat.rsi/equipped-OUTERCLOTHING.png deleted file mode 100644 index 6790bf5e94e91c37f9c0b27f6a06cfa1d4d93565..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 972 zcmV;-12g=IP)OS2)3lsll6CZ!50IC8ePM}VKi3^}6 z!8!%JQ()`P)n@y}y940b{_pKSRv&iGoH!OvpPa9%?)_YZ@4xng=2xsgmjYlM9ku~z zD~mZ{Ehqb^4+!*O@bq~hm;rF|_a8qy(C*2D&8ANzVi2^*%Qh+YO#q~E7<%;d<*Mz& zd$${sWQr4(!CyYV9;>!0|M2;Xc{)S^(BL66E;|W;%MtZb=cF7Z?9<=@m(P7o0aR{< zU;+RK&>>Ggd>TOhaE78!^}X{^3o!=(AG(yl%Lf4<=_9J-fCfN9vO3YGZOuMcp=?Jg z^{Ajz0n&l@J72@y>lc@HH2}}wd8x~cmQGXTCBYTF2I;sSSCr{(Y$`UGvmo=Yyb#= zwjIXw!{^OIW&jv044gfFbZH379RZ-_@!Rh|%Q8T*$l6m!+Sl5q*dN?c&!9@ETLF|1 zg`7TA1>~e(g6*n+5~7gPhpK>_^h>Z^6;MJHa{5pekduB1wyOe4h(b;ussd8z^LzR+ z?*S~n_4UQA0Dd%%qp6g$c+0>nb?7KA^*9VRTmautxEv74>Tn`)6oS$yRWAQ3pu915N{G(0O%rwM~$F(sHaAq zw}TqBjIa6FWv@2?l41@8U|`bjp#z}2kV665@;f>J%y}9t--+b_Aa|nh2k(eHca!cZ z004X?z~A1bXQ&(?A55d)Q32qM069-@1-5RUnhpTWuSqMQ>yG}ge-`tf!KBLiJ|H2v uxRPK(|HU_{0E!RM$PQKoj10K=?*9S@C&6E(M0?c$0000K)weV zh8(moKDvWIYOpzykRwQPz{#r*8DKuf76R+{ontW9mIo(Pn1d*G0CN0-900Qb-M66N zhsh(S6N(&wUfRIQ0c1y^CrUyVqMJ!D5h81-N%8s*3tnvP2v8`r%-KegnItKOWl3C( z7-F*?vVM{sfL!7sXG>xe9obQUTpA*mgxJafQqlp@A%Lw+Ko0?OLV;)pC@C5L7Zyeo z#X6Fo!4(p62+-64*rEVE1ZY+pf_&y`sSR!mfNDQjy^pJXu>1H`qC=Kwg|zBFj5=U6 d1V%#u08ljhAxml?Pyhe`07*qoM6N<$f&jyVr)vNJ diff --git a/Resources/Textures/Clothing/OuterClothing/Coats/insp_coat.rsi/inhand-left.png b/Resources/Textures/Clothing/OuterClothing/Coats/insp_coat.rsi/inhand-left.png deleted file mode 100644 index 72db4712bb5a1811db0e0f01212856eeb474632b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 543 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7T#lEV0_}~;uum9_cm&`7mK67oZqah zth_xve8P@bLJSNA{xC2f+<)OhzJbu67G`GQgCVX46T5qOL`1%bhh;5D+>ucJt89AG z++9!PeDX`f!_Uh2^gBIVANcSqyPyKA$hiicfE^55I8QNca(Kvdf~l3;VR?g&0yk8m zgzE%TZPbH5UltttJb&5yhwl<+`F{KNZpSUT^+&Jht;^f|_}R*(pWEllybFnzer-7Y z{QCJDHtmtHx8J|7_4VxIZhK7ZbT!QHc{?RL&0}9w>|Q;4W5k36mK)zs{`Fofl=hg{ z+Wg++)ob6*Vek;2#4f0DuYWwtL}Ia!Wb(& zAxa_r{|AwK-K;@OVbjGHi7MRfe}8`sZ-JSdw8l5V{5|a*aUu-*%A7xJ|IV2`jTH8Gu@C)c$ z>}JlX(QLTOXtqxToAQkAe(xz})76^84?MkD_;hcLucy2TqlVm35pM>!f`Y~<9mW8L zy#Bq$9{-OqnR#3^sS4hHk*|uMfpLa&hOxat2Gb?Wrpo?9j=~qd*|)H%m?#Pzl8=3H Y!Lib9@_t~nGkCiCxvXKFKALwt^xw;ndHax@*(|hmE-NP$P`#Wd5vs<6Nc5Ijb zzsH|%uU%L2_v?qJS7Yzl%xV{W#osM``MC+{^fev zi-ODD80A8u1lg}A@c%xW|`ugS^vTqB-A+C>iE~|eyQwYyC`Efdk@dDJqZ)%8SY<~ zeOQel_t3S+ml>~VFIn5qcR?-3)=oBIuhXqxFNl};=fih^t>x+2OCmpRGNdqndh$oh z+O5msZThC8?d*bHZ3e~+Id;=(deo#F<|rTH%bCi@(Z6^~L79e`_a@l}$p+gWm(KC^ zG@oD-cz1C69+5QW3vu(FiOy$u=6dT@bsgig-$xvyYPnwmNS%Lhh0G|-o ztgNiY`i5momRecbX=-ZPip$i9iItR;gocJXIyeLeg*iL99XN1criw;*SkysXgS@=F z$jC?=D|;tL$EKzxS6A04egQ8Y-t5e*9g5ob?>?|Fv#=-<6b71aaE^T`kdiA2@(cct z4=}uukcpe9C|=JL=IP=X65;-KT6f6W4jI4Es@Ya3(F4h3H(iV2sQuusB6#7pj9h;uSV%g+HKJM%X8tDAIFuOxlX^I zc|5sS^qgQUw!kEPZ0I=%zkB1@<5RNeIc-{Jk!%TF*a6Lz|;d)%IT`~TkN5Qn1%ojWAL zmU)+2JX)a_Y^}*{RxA3TJ?nA3YL}jE$pj^J5r!3$lB5&%_%p=cNnqr-zJS@{m)#dT zF?mnE5BJQkvn}QOF!evnff(k1&##PSRQJYwEHTq&zVqr=+1|LNv#Pv2-?R69%n4)r zF%J|vZyQ)2gqiae9ZH|n@#uUML(f*nNFFswzH4HFtPN3Fx*KOjCPcQZIBivb@vq;B zcTs7LiN|NGbPi#7*KhsK@rti3cd1i4%gP3Jdj<|GhHCZ}n-B(L>zgVW3^%PUSY9@C zJZa-u%cxSid;v()6ZM9TJHwb3Tw~bu#QMpPJNhmjfBCkuoQtwOICG-%YqOu4 pl?v^OH{5J=;QN>R%t?Qkn?>g-%(%2@B``%Yc)I$ztaD0e0syB^Xw3is delta 1756 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 delta 1604 zcmV-K2D|yn2FeVO8Gi-<0063Kaozv`1`$a_K~#90?V3+$6ImR`KeJB9nl96kHd_Mm z&%qT3MtdmaR*10aA}zY;t_RVZ3p$`E-h1e|Cl86B7f~$KMOL<9SzR>XtF<_`{n(9kbjVnkdTm&knlf661~7Q zP5ALQx(`kOL{=6bc2- zdGDB-n&O=IjzXaj8YW%1#MzrSzL*m>>T8%x;8V64t z1t62j;5bg$X&`il<2Yn8nU>eZrIo&>Y2jpO+cu8lU|ANLrp3}1jst?FsQIxEoMBm3 z$KwFQFnGPP!cTS;=gcXzTX*<9o1w42KbC&vIDY_O$X#X5vdCt$;hhiOZQEwZU1dS6 zPr_K11;8JBcVSOWk=?tCs%=w!`7%~}LJm+zM;IzUV9vI~89#U*a#vADN1(VE%aEuX zK75!|Diubd!Mp3aJbwIGxIG~U)XEP~M@J}ph{FT%ARe!k9|#*DLcLz+z{5uXNPqne zKY#v!bm0=a>vaJB^xg@#8EF-Ok4w^lhmY_)kIBhNDWA_vlarH@=Xo4>_=ub$Gdz&} zqETS8{$+XlC(pSoZx_~&?0|s9BO{ysc@>LAY4OO2Xj8EX!rw-tvF>{ugdGt47Xa3I zyZQK5;dx%$Z3sEw#j!C|Rc-m3s;ay=HhoO-xMqwOTD44xQ3ZNJvOXNJvOXNJvOX_%9KwKA<@_fBg9Ib+rOp zNu^Tp@7=rCR-J&b;ivcP^K;6_z0}!;hdR1>o2=8Ars>zp57=nS?WM)eIzZR;b$^?V zL+&a7bE&S5CPg;d(5%~xs0~6}V!E#TuIn=7uHw2bhG8(5>LRDeocH`q&glfYuKVXb zpPV8ym+HbW44Q2cwIQ+tg3b@q#o3!TxT5U9vMdb4pd?Fc+1o8*w&78dB@DyBvMjDB zJ2-pu2E%j-J3;6P2s;1t*K-`Yet!+ub*Xm1n$z<5JZChK0h~PL5@87?tTCK9Qv?MJ7w^<8} zo=s2VmdlabiaZ3;=``hXxnFL>YJfF`?<#L&HI^7xJR?CZN zn!c{uLy zEiI4;n6KB@y@0ms0;3RUw9=15+kudC<`lJB4cB$IWKW=2EJ~(n`aP*s3RP9nZry3C zz1TZK{r&v_jE|3h)nbH+i3uNIWo0EPjz~yI5awTh6Dc$@HSA&l0000Nou;PdOcjlil9B@l4upn=IyyM)W?(p|YtYoxl$Vzm85!9pDODpTW-BfO z)LQ@KbTp6>Dhcun{*MOg|1&(=zh4L_%~{|PS4^E+qHF=hxht@a_7%4Uuvc zjS)R8YNwgiWfY#2Py4;WZDuRe0-aV4D{oEphsnK<$`h`Q@g3~G8@60| SJ(>%2BZH@_pUXO@geCxpV}}I* delta 413 zcmV;O0b>5*0;~g&8Gi-<0047(dh`GQ0dq-2K~#90?UX-CLqQOSKP7A#RxHAk*a{0N zZ9KqsIYSPxg;koIAWf69SNSDR~*g3EVNN}sbwmt%DVV)#tkr4!i_rWqSyUhOP zw|}6erKRP+5ke>cQz*?i%xgKM+ssx;*QP^op!mBxib z+Z!<=Li|k!Mlm8H-#Q>7jDGMER07r^FprVVW`l?v#d(aZLr@D)*)@f-4uMXmgE5BT zaL97Gq^@gryB*gL4@{Ib)vTbbpo9>PqV@-DX=!QsGZwr9IsU9vnjT8600000NkvXX Hu0mjf;*7a( diff --git a/Resources/Textures/Clothing/OuterClothing/Coats/warden.rsi/inhand-left.png b/Resources/Textures/Clothing/OuterClothing/Coats/warden.rsi/inhand-left.png index 51b08d956811dd666c430d3fde278fa77329f10f..62d25c958bbf7696ed424a7d2d29e1ef86b88c85 100644 GIT binary patch delta 1131 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 diff --git a/Resources/Textures/Clothing/OuterClothing/Coats/warden.rsi/meta.json b/Resources/Textures/Clothing/OuterClothing/Coats/warden.rsi/meta.json index 232bec9c0a2..cb3e0ab4710 100644 --- a/Resources/Textures/Clothing/OuterClothing/Coats/warden.rsi/meta.json +++ b/Resources/Textures/Clothing/OuterClothing/Coats/warden.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. equipped-OUTERCLOTHING-vox state taken from /vg/station at commit https://github.com/vgstation-coders/vgstation13/commit/31d6576ba8102135d058ef49c3cb6ecbe8db8a79", + "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/4f6190e2895e09116663ef282d3ce1d8b35c032e and modified by Flareguy. equipped-OUTERCLOTHING-vox state taken from /vg/station at commit https://github.com/vgstation-coders/vgstation13/commit/31d6576ba8102135d058ef49c3cb6ecbe8db8a79 and modified by Flareguy", "size": { "x": 32, "y": 32 diff --git a/Resources/Textures/Clothing/OuterClothing/Vests/detvest.rsi/equipped-OUTERCLOTHING-vox.png b/Resources/Textures/Clothing/OuterClothing/Vests/detvest.rsi/equipped-OUTERCLOTHING-vox.png index 50e6d79c20f04613693cabbc0cffd7bc7e60bcfa..9e02aa280aafa3df1a4ca89fa3349ea4169a5157 100644 GIT binary patch delta 448 zcmcc3{GEA%W4&>JPl&69g`&H=s)K`OLV{g*xOPyGW@BS$MTP&ug?T9{hS}L}mp3r{ zzrm1|<(ih_=}-;8S70gKA(dmc)#%YNz5iCkDRNi~A$ zLnM>YPQzJO;);ql?p!IOHhH(wqSeyUYrc#9`LWn>jY9gg*Br0&9iEssIk+S$-8kSP z@Li&5Hpia*AH&7p6qfgBo#4J<7CNDVb#l$TGxqQI%7_ap)~jvU|7Rv=1#?Bca`qMH z@_l!fGcDlGiEF&Ur0MZT#PhuTr)OX00WIIa;?1znFTrQ!2jL%Q6bXZ<8DBK8mb0`oQpfaquG_bMfQN0l#?@OUhp4ADL@%@Wq=8_Y78ioW+pd?#?@J z3)89PJyIqMzLZT}FTO)#{^iDS7BIey7(j{Bm=`ZN~GPo#(4u;Qo{0awo`G l_5aC>kxi-$>a3c78M!MyKdjzYz6}_r44$rjF6*2UngEhi$Ho8v delta 420 zcmV;V0bBm}1KR_TL4OrcOjJcUI3ZV8D`aFbKtL%zJw0GxJ^%m!O*`+-00007bW%=J z|NsC0|Nj6QO9Ms#000SaNLh0L01m?d01m?e$8V@)0003zNklC*2t^Bw z{r^v%3lbMpnwjj&X5&ewEd!onZDOzcmmI+nD1S?E^}tUn+kbo#5aGyN3P>~kIEVr9 zrLbytV5ssWV78yfGsL9i{47vv!6qLBcm#HT$~_LQA&B{KZS9$0--2b8lut4**f(G; zB0Du0gVBM z{Hl`#(szwq5r05JD^flR8b%Yh(ty7kwq_!f46*ZCaNloZidwDs(2!05 O0000%A4KoBjI|g>UOwii8h&xb4 zBy{S!pYL8hu-IvKZtmQNzvmq-FH8Adn>)XDr#}0$4#tGOdI<(F4W`WO<6?E&f7bB1 zyT`kq+0@%Bp1Aj)bb7kEa>0>Xx11uhd>=k|uw`}c+O^jc*M1XLSD(N3*8AHGLiX0b zx74oXUi$mvM;Wfxjn`t+Bf}>A$l7{opV{f|qn=Yv8<$AlnsH$}9^B;Ws zcJL<84{a@@`o!w$y{q?x{qB4G_`qGB3oApo6pX+8c6%&dQ&?Abb*j1TT=^Ax+01r( z_BuRO71;7?!}mhfQ=c{G1tfVdO}}_z`N3NZs`D-#TNwYaYxnLdcdv@sj9xVbtnW=` zpVjacT74>agIU7&0?jD4DSX^jH+1#vjz4|6y=+w(NAw!r88am6Uu(|$)X2W0rEJF8 zv*8c_#0dWWJ%7>i+Se=lzrSC#P;2|z%cmH&iXPkTpzc`k{)>Rig@68w{olM<)BcO+ zN6}wpt@3@mTEbP&ce{$aE3aSPY;?i$Kzl^|iPHizl-U|AlNfMQ*VryBFQ_l|-N+;& z?C|5?;*hV-?++{d-M}}&;4za%ul>y3o!lO;*tdGle|&ZU&*uLBhqW9It(o!etE3^% zq+eIobI!D74ms2CI@00MrXF{X)CQ?q+q8tAymOMew$J^fwvs2{vTwg+L9gYf%=8#F z?}QnK%$X-sI7^Q4#2iqMo8EA9Mii50j3KjL;75*S6}MwgYWe7`Eb8KYA!_`fDWc*| znvmZ)Mo&@uXFo0ZH6D5@&7H^czjb|Z!nL=UzWdA`wZ(DOy-v~h3_#%N>gTe~DWM4f DMnqNJ delta 777 zcmeyxI-hNVay`>CPZ!6KiaBp*8FouKiX6YM*Sz6S8*?#_=jLllF{_tGoCtN|`plcd zdxxFV-D-d1bg!VL6Q=A8+wpqaO+7JAPVRXfg+VRb-{ghO-Tv;^4vYOo;m`ih|G#JE z#JL;m_Woyk-g7p$L0Xt$J7b;?!yUFAhKvQ$500@M015^%?DedV{;HPiS{p8s`eL&7 zfzPW9_PkeX$&*_jy1CLZS4(_ecx#D!_2g}z_GGR5#u9p`RQtn+55iTBms~biGFJLN zS-2ugnYH0TM*BmlnC(F={JI4UHt+A3@17^G6wXi>$k%n{Y8>;1Cx;4n6L9*I- zR=kosebxV*ZH{-pw(jDaSikJRx=Y@6@soH04tjNGFVmjHq}i||Adu}-(3EB0M1K7F zwwjeefaRug&-st#uEu$1*C<51yUO3B+7oR&X`ky~HH$s(SLq1P3s>!ao_Jqrx_V6! z!++`XY2q5(SpAGHSPu>fu;@8EhEF#W>Td-yFxp4xqQq0>uTy*_w8p=bP`ZvSu??C;-$VXHT9(z9xHB zJkdP}-of`@=#8V}*yp+)t$>V#0N8SaWv$WMp&E@HXt&SDY_QMse9)H{=^4|Y41g(P z+m|6v0|vr?QGa0{SEth@AC&;4!@Vw8TL4$r0Q*N}P$4M*9vtsH9Z_L@{1-r2t8KF2 zy)TG3ArwO3c4akyMXF{S77C-n!ez%a92{>a`mkL>#j6A$m-{vo2`(ccfQ@xSdSdiZ zwgSDIA(Tq1)aHejRD}IoR|r%(1#!Wqk?=NrdkyF~=1(WxZ{kO`Qh?7dUuc>ue?s6` zc3uO=xrd)$%c%h3AYvzz3@!x_g%Ge2mh>-~Yyjl|s+9ty05b>p0J?jzS{+d01^@s6 M07*qoM6N<$f(gmX4FCWD delta 254 zcmVslK}dFS=+(dE?Dzx)F4KGhNKMq8+llNuLt0d-Z%Zd5{gD&!R2sE0Kk~x4*Pn) zZ>$pPpRj65Hv}PNhV$-9GM@ynw4%QP24DaNV1VcVAH`cnZ0!$35&!@I07*qoM6N<$ Ef-hTcq5uE@ diff --git a/Resources/Textures/Clothing/OuterClothing/Vests/detvest.rsi/inhand-left.png b/Resources/Textures/Clothing/OuterClothing/Vests/detvest.rsi/inhand-left.png index 457d2f0aa733cb3a3296df9810a1bfa9be2cf83b..30dd5afe3f3712b38b8aa2d2b9b6424e3a5b885d 100644 GIT binary patch delta 367 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 diff --git a/Resources/Textures/Clothing/Uniforms/Jumpskirt/hos.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Jumpskirt/hos.rsi/equipped-INNERCLOTHING.png index 0eff0ab3faa97701ccfbcb0dc0a0f225d638ff95..54c35ef4551044560a46a5b9441a961249109635 100644 GIT binary patch delta 622 zcmcb_`G;kKWIZzj1H;_yjcNS%G}x0G|-o z@_b6pKS8Vm3tA9VOJ-+w2R`|ikfrU10qAvRw z6S`(8Ozsi+EoN}rg00~~JY&S7`naS$J?(hiw`eM7%ea3qi87&wV zF@NA^EN$#1uri?LYzCO@&({9#j5P+N9E_}sg}MP4QIimP;rMEAVlKg7aZaaH~Zr{s;@7_khVu6{1-oD!M< D&;%2q delta 1225 zcmV;)1UCEp1kwqR8Gi-<0063Kaozv`1er-hK~#90?V8VP+h!cbpU4TwPMJqjvK<2c zfd=X7*a~>GjMNyCe<04)W@ND4cJPj6X*v>eTn_8G+h|S&D=^qCJ%qq6K1|lU5?GKE zNMR{WAY-e|9KUZ5iWJHDA-%ShCENP}AxH14_j&cz_kE@4eSZKBhr{7;I2;bg6-5E1 z6f~R7Qv302HcKf5RTR+k&h4dsJ|fZYK1^C$J|cCj-{-ZWEX!1uWo&P6wZxLiP6+`nfdNmvz`oyL$2#!4f=!9M0Jpe@s8BIkYDj~e60RSqE zhNF)8cX&}lA!^iDijo(7S4{nfw-Xp&s#-T89uN>01b^!W=q-Zrr79lYP9USH_~k*u zQ~MVNARm$Fp*WvzLHTD@`Rm~NkYO#NED z0lh^W6MyA-^j}oCva8I3!Bwb`lfdK z++(MnPGQ!g{)GX+@l&E?Yph-DtYf88saH>cQ~H3BU5)^d&h=e~z*WTz`dK%G1*QO$ z#Q>h{AE2C_KzLC@rJ^CcsG*#lFpi6Xt~%pI|9|n`OFW}ZY}`xZ^MC5txR=H=+Qj3% zmmTSQPL+H_qOqWeseyiL47Tsh32S9%tLJZme(5u1fc>STlk#ryL*LUGX7qJJ9AnNt z`RFYIoe;!=V%N|A%hYEY0)X+42Vg{7C&bzVu%5eq4FNy&nLBz>bp5#StESK4a5x+e zhkwK2a5x+e=YNX1PQN}T`|1bq!upupl{bO;3yOW6ex$Yw^Goeo^9T!@)l2yzGdG%` zre>|)z;0~BS8sxa>BKNMMKRnO`G`c<$7J6fB7l*7>tnK|Yi6Ulv3`(cik96dVMc#) zFa(_#3z1ql1WnU?&4OeyNt1_f5DSWk3x5Kh|NX|wLV(?z;kGvDKq*Rix~&>Qs{kG( ztc6is2ti|MtP3UwLnn*0K@sCiRb-}(vO-h>uyy{)Z7>BOx4eb#?-;HS<hleFElJ{Rxvzr*I_`go0j~>u2riyFg$S=3!7EUzR*xlri0s(Z;XM7QXrYx6Abh{2RldSDH+d;7`I4%KL|>j^FzDBNPg& zs7wQWKEDc8DjHT-fghhvGZx^prw85kH?(j9#r85lP9bN@+X1@d(Rd_r8y6B*8|VlXo^ z^YihUsiINJEqGAZz~0{e{|$z$tSlcNA1f=XKwsZgT82O!Pc_ni11bKJAiv=MD1hP0 zof!*(Qk(@Ik;M!Qe1}1pvHp1eiWH#e8c!F;5DWjeeXscrD{!N~ zw{(8*OgWz6VD}*4?*jXRSK190FK1U|Nlj8!J!$Ig<^5-dl>?K*ro9rkqC9d$Z4R(X zY}=wS*?hf*j@0pdcB3!X)ekIoGdb{=(f{+q$QQg5*1c^=T`0C*_CnqOrYHH&4i(~)*00DGTPE!Ct=GbNc005OqL_t(IjqQ(14#OY} zM6pQ*$AKjGKW*)NHU&#vbW^E=1V-~bhLryLzKFB!nJMt6Id`L^f;>;-eldaI$0&n@ z-CLaE5uvOks{yN!)x8fTy#cGx5n9!tbA*|GdsAy$QZpBWG;OVo{-J;Y=;J>I_Hq!@ zQT8aH3eMHP@R@J}!3?bx)-6B{BGi%UcKnS?k^RGZ0rUF>vH2jEBLDyZ07*qoM6N<$ Eg4w2OZvX%Q diff --git a/Resources/Textures/Clothing/Uniforms/Jumpskirt/hos.rsi/inhand-left.png b/Resources/Textures/Clothing/Uniforms/Jumpskirt/hos.rsi/inhand-left.png deleted file mode 100644 index f3b0529e93ce73a98236b187b7e9143fa59b586e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 403 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!7>k44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`1E2l#}z{{PS5;NY-s9m7FggBW?0`C59m;xe@wI(m9~Sy@?;@@f@Y#z3_} zOr^_#6mLn8U+{kS>O>_%)r2R7=#&*=dVZs3f}Q_aSVxYe>*jrui1cy zrTOiLjN<>FxB2;afA|*>Dj#GlG;z-Xj?bG{?l~dA(`dxvyx`9g1>f(|A5u|t2Na!uEzJ7$_qEV;^z!Fdz@v#vu5odv-&w5yz3(vvh4owpEH$@J$SVy g;K9#r3#LdjuiU|SJm~Ewpg$QrUHx3vIVCg!00VfPMF0Q* diff --git a/Resources/Textures/Clothing/Uniforms/Jumpskirt/hos.rsi/inhand-right.png b/Resources/Textures/Clothing/Uniforms/Jumpskirt/hos.rsi/inhand-right.png deleted file mode 100644 index d7cfdd2a252944f2e5c846dc8ea4cf79f43269c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 410 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!7>k44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`0Z1^9%x{{PS5;NY-s9m7FggBW?0QaO$JT6(tPGPN2ydU|?USy_?tY86_> zK;?NKGNphNUrCT(@PA~$;CkTB37`yTfk$L9P{CmkW;~w1A_XXT-_yl0B*Oje)VqAm z3OsHbQy1jz`TyFl>r=VnTH~9WzNl!a%vYZ>`+N(3U?Z23R)FJ^be1nOE6j{9&c1eB ze8M%3E!ON4{#kDFOz7o(==feSI;;Ds4(A%@59gS7ZCrR>?cf^$#*1fp9H-xP-_XIG zWOI9h-fWhS3Eb%o9<%p)Cj8}M3p;OEa%M>FVdQ&MBb@0Ej=JMgRZ+ diff --git a/Resources/Textures/Clothing/Uniforms/Jumpskirt/hos.rsi/meta.json b/Resources/Textures/Clothing/Uniforms/Jumpskirt/hos.rsi/meta.json index bbcef071e2e..2b78bcd6983 100644 --- a/Resources/Textures/Clothing/Uniforms/Jumpskirt/hos.rsi/meta.json +++ b/Resources/Textures/Clothing/Uniforms/Jumpskirt/hos.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/c838ba21dae97db345e0113f99596decd1d66039. In hand sprite scaled down by potato1234_x, monkey derivative made by brainfood1183 (github) for ss14", + "copyright": "Created by Flareguy using sprites from tgstation at commit https://github.com/tgstation/tgstation/commit/c838ba21dae97db345e0113f99596decd1d66039 & the jumpskirt base found in color.rsi.", "size": { "x": 32, "y": 32 @@ -13,18 +13,6 @@ { "name": "equipped-INNERCLOTHING", "directions": 4 - }, - { - "name": "equipped-INNERCLOTHING-monkey", - "directions": 4 - }, - { - "name": "inhand-left", - "directions": 4 - }, - { - "name": "inhand-right", - "directions": 4 } ] } diff --git a/Resources/Textures/Clothing/Uniforms/Jumpskirt/security.rsi/equipped-INNERCLOTHING-monkey.png b/Resources/Textures/Clothing/Uniforms/Jumpskirt/security.rsi/equipped-INNERCLOTHING-monkey.png deleted file mode 100644 index 9acfc278c02231c7215acaa2c23b7051e6c7b594..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7655 zcmd^Edu$v>89#?K2`)|p1qx}P$0el?y0^14`#kJRZJ(W3jZ@b)#6eZb?98maitqM% zw~3voKoY2+0;wnxRZDo?aknM*GZJ}sGVe(OV-%&Jy*c*Gy+ z-%wy)IZwG~i~MA{3e=fQ``XDWWm|=xwZ*7g>B#;0k;igbmv`hgY5l0b+AYT1^*d`~ zXy?XZwsR}9cy4X6t+jo!00?E_)9hqkLNBj`R;? zySmb17%7^Jh)j@#NkK&g6=$PY4u;ES+iTn@43>JM;ozww zH|G1*f-Fx=Oynm>-m8tuie*_c!ZOAZP)PM16`xK@mHO%sB!Vf4I;*)=-}Nfl0G8U` zHoqeW5{FYMR}<_?J<=CwPM)MyS;?bdY7Iip61wWP+IT|(&SWtz%A(@efmTUqt7D$; z)yKS9pp))t1AvPA`;#%6%2F;TL)87A?J$i%>Yd5(S?oHIMYnNxT1j}bSmMBqQ6fuHjq96(3VMQwtt)Lj6KuQ6j6hufl4WZxT zuCpUXAQDm~f`&0FC_22;2r0_x2(Ujm_34~2(zFQ*X9dTrm8oBJ%XC!8)yinQJk^-c zCCjSN?Tvdi5J(hByWFg~2~Wvm+k%zcSz)3M2B;@yi8fLf9ZfYwjpJ@n={38$ERFQ2 z#4@|Ol}_B%scX81Iy)^L_nPf;uP6jM6h%Llpv_EIRle{5>T`f7GT{9u5wIGCotJUN-GFfY!#H?XpzY%HLyfA zp;D8Zj-t%RCkRLAnx#^S7&O|vmSrNzGO4A(#x@1z^Dvo%6--PpnW}?=8?J^T2Xx{f zp%KEcVb2Rz!x$0p2_RUs%g#^QQ5Rxi=ocG*VZT$8>bgWU-H}vV)g=p=L^2gFD8s^3 zP4%49hd`O<;AL$a*^E1iL>*yCTvHv%vTV?!ZX*UD!c?>-Kw(ol2Bag)?7<_5>HYnM zzDnJv5Lx<4#Xt}j1hFWxxUCY232+-2!Hg)!ssuhyLn>!X3mnl|>~R!{fa8$?xOptm z9b{;P2}u}c>_*StJmD}Yuo=VLTyr5|rsFA!U><=&4aQ6mmP?M|Xc8x?CfO=zm6;H! z6ru{tpz%DKz|0tEy&DAI9jRd1NQQ^R?Wv|D_%<@yDy`K;kn45i;$$z*fWuq}$Q$Wm zfwCYCF0vrS60oeNwZ?*kJQ0U`w%z77-w-;*-V}afOjOR5nuRD0s;2yP&+#W{O>~Yz z<}#ObF$A2>mPT%}@-I-?b-I1tswT|R1vM=RYp_ENT}6_~xF+e~wKP??6@weG73ZpI z$YGTr3l1tT^)oT|+o(WO7KOOo5m| zY=>En6VK-S3_^wxDg-uB-ibD0US+$e&Cw@;zoT&KAfQBXYF;^;R7F|e%hGCf++{TI zbMp2Ij|%#vw1|z9!uap5HZE%J934PPrbHjvi+_d};^2eI;4qL6f=5tZte1?9**Y|`}L z1TR?$z9YtT_jJb1=VnZIPiLIs`&7mCi#Qr-Msvaw+(d*& z=0k8hCW^YI5jX;w**u+oz?~H1BPAD(%v86gfws2#luCN-G z2wUNP44%MR@#S3blw9zM3f$_|;QEg3K6DhWAg}K$bq1+Ek|G4*~H~nd%G@3uWsH=DHZNI&`eb)-~*w@Z1TW_^|{m9}Y zH`#3`_dmH}(O$ga!_O4%xbORSJoLezY<~W`n_I3aUGcLeTfTZ<`SGV;%8cVfZCg&< zeak1W`Rn`JKD+eGJJqe?*T=4Ux@Gwa>+zP{(py{h9sJ8ZmCMv!r=ET3^qSt=A6WSw zf7#&V!EavFLqB}5roHmLM}PB;iDQeOdf<0&KKE!QSG@Bh2d;j3*CR`)*!R@_V8nl2Iq>_- Z4}4(ag}074D}o!-zMhSx`@6R6`8Naf6PEx0 diff --git a/Resources/Textures/Clothing/Uniforms/Jumpskirt/security.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Jumpskirt/security.rsi/equipped-INNERCLOTHING.png index 8781d46b5f813e8c7ff779700ad63298ed6531ce..bede369f672c76c6af9164a316f4300048f4b730 100644 GIT binary patch delta 583 zcmeyv@|R_TW4&vDPl#(Nx8O__4IntEYvAYOV{dP7W@eU^mF45(lfc5It*ssC>zff5 zH@UX<#*Q69K|!mu4E6O4m6g;&f&(PPC8tc8!oa}r?CHIJASGTBNmb9TT(PGB7aC^K@|xiEw{A?RHVK0gp?r#?lGiJ5B!lUtXpv zJ;6a~rssSs9bu)7pB!hf2rn})W%6Tq>CdPbH0|3oCk{imH^t|KICod(Yxdv!ksUK7 zfM?=99VdmwDbc^YBWes5K4NN~a4fyy!*mUi`7SFyb{=FYDE>3?pG^J3h`?I4W znfe}NFlp2?e)u!>sW_v>onDFwsGh|HCyzKRlM_`|g@ZE*C_IAIyT=Dkw zlD#qc-*11t^sHv}wtvrjf39j?r@gT>kA0fHP>hoJ1=pxewVWPiX6y;SvU@a7>E62h z;)l@_p-pQ)&Rd`LQCRtDj{fQItLx*ha9S`f5&po>Sn=%1iR;fQmm95#P?R%G-D7t` z<%{jwInR`*PMz)^s_-~brk&w7dxDMbMY)7G?Q#vxd>bq-DZOX>74a{i+pgjFcYQ|n z1;sK@L2>?V7-es_J9`rpyn3pXdhM0MiZle*oe#MpKnT`w$|W8-F(dAaFX(0E=3WP^#-cqO_uWIJ6&rj3(#NyOa@ssJAa1n+HEe z`Mm`=1K{k&GDd9j0KvKW4FJ+cYzhDz8@9=(OE8@SLK7E-=Aml}=t2iD;t%!az%*jh zp#nR7r$7Bcn&1Fe{Xw4K0T=y2p0ES1`h!V=ui&CT$P@e~UiJrBLIC_kH(=Yo04%PJ UD(bB-B>(^b07*qoM6N<$f+eN;ZvX%Q diff --git a/Resources/Textures/Clothing/Uniforms/Jumpskirt/security.rsi/icon.png b/Resources/Textures/Clothing/Uniforms/Jumpskirt/security.rsi/icon.png index accf74dc8f6914bcb3aebc37fb2f9d7279cb28e9..619ad40626dafa109e2a55330075470fe7915f85 100644 GIT binary patch delta 311 zcmcb_^qy&gW4&>JPl#(Nx8O__4IntEYvAYOV{dP7W@eU^mF45(lfc5It*ssC>zff5 zH@UX<#*Q7UvA|Lx^`v~P?EF2BeIx*f$tCqGm2_>H2?)y zc)B=-Sopu4@Rsk80#Chbbb$JAfqVZm_lgU29h~vk}AZT9&>M*OiStQ{^J|-v(Fkkw@TQq`>~R#>I~EFHxUbE3?9$o&e&L& ulySK&^5MrlOb7H;OtpJ%w#W+vRWTW#F*ixzk?I4wn!(f6&t;ucLK6UYIDq5; delta 282 zcmaFQbctz#W4&B}Pl#)+hE9yUimkZJL0yCST6+3=hRRB6A;AF>;*tyu3{whbE&x(o zB|(0{|6zb((;1!fKvB*DkH}&M2EM}}%y>M1MG8=Gxu=U`h=u>#i5K|}D{#09Ug-P( z|6$xzt(4qpwr^99yEyiHO?ksypZIBNy+iB8V$a!5PD-baX-z8onGv>BdhL4mk44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`1k1^9%x+KS5@)HRS0m#o#$nXjc65*(ncq!uHuqOWHNRAM5l*$$+*N`m}? z|HA;orZYO{fufuR9+AZi419+{nDKc2iWH#WZci7-kO=p;Q!jEIR^V|J_TB#Tzr9Ve zOh$3M(@Qqx_Mlg$bG&{Rtc+D*)eH!l!1UCf^~htpdGJO9}EZb8nY#YF=9XJp)Uym`buWC{Oivz|?yT|4;a+ew`2iDoIgv(qRbO~G-k z%X0fRBj&Uv*ZEGd8T3qO64B7~Xq?ov;Xru355p>ZH3n08o5uA&XE0o;@nMMi^_nUC pb714@p9>CLuL*hZW9x#g<|6yL{H6J~*8;u4;OXk;vd$@?2>{Uag@6D6 diff --git a/Resources/Textures/Clothing/Uniforms/Jumpskirt/security.rsi/inhand-right.png b/Resources/Textures/Clothing/Uniforms/Jumpskirt/security.rsi/inhand-right.png deleted file mode 100644 index 1cb708b7adc46db6e54649e9264b898a39160da6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 362 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!7>k44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`1k1^9%x+KS5@)HRS0m#o#$nXjc65*(ncq!uHuqOWHNRAM5l*$$+*N`m}? z|HA;orZYO{fufuR9+AZi419+{nDKc2iWH#Weoq(2kO=p;Q{QqOHsEkI-FW-cKm9#5 z0*f_MPjNLrTzJLgj-1o)$4);d3A8K_Y!Wc}=YE0xR!+m;d)JGX`ILIzOj>bM>hT*1 zcc&@=JKZK-Yd0%~c#Z_YoSTLUfp=9VC!9XlSbF)7VCpxsgBI5+el(o(b3DheZ2yk* zN~hg9E7p8n>g^=Z&LtyzUZZjG mV@c8Qy}3tb+keb<)Xcw>-{l`4XXXj?3WKMspUXO@geCw1p@|~^ diff --git a/Resources/Textures/Clothing/Uniforms/Jumpskirt/security.rsi/meta.json b/Resources/Textures/Clothing/Uniforms/Jumpskirt/security.rsi/meta.json index 45e0f9141cb..2b78bcd6983 100644 --- a/Resources/Textures/Clothing/Uniforms/Jumpskirt/security.rsi/meta.json +++ b/Resources/Textures/Clothing/Uniforms/Jumpskirt/security.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Original sec jumpsuit from tgstation at commit https://github.com/tgstation/tgstation/commit/c838ba21dae97db345e0113f99596decd1d66039, jumpskirt sprite made by Flareguy for SS14. In hand sprite scaled down by potato1234_x, monkey derivative made by brainfood1183 (github) for ss14", + "copyright": "Created by Flareguy using sprites from tgstation at commit https://github.com/tgstation/tgstation/commit/c838ba21dae97db345e0113f99596decd1d66039 & the jumpskirt base found in color.rsi.", "size": { "x": 32, "y": 32 @@ -13,18 +13,6 @@ { "name": "equipped-INNERCLOTHING", "directions": 4 - }, - { - "name": "equipped-INNERCLOTHING-monkey", - "directions": 4 - }, - { - "name": "inhand-left", - "directions": 4 - }, - { - "name": "inhand-right", - "directions": 4 } ] } diff --git a/Resources/Textures/Clothing/Uniforms/Jumpskirt/warden.rsi/equipped-INNERCLOTHING-monkey.png b/Resources/Textures/Clothing/Uniforms/Jumpskirt/warden.rsi/equipped-INNERCLOTHING-monkey.png deleted file mode 100644 index 8b722ac058126aee904d9661e27f664781e03e3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21144 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 diff --git a/Resources/Textures/Clothing/Uniforms/Jumpskirt/warden.rsi/meta.json b/Resources/Textures/Clothing/Uniforms/Jumpskirt/warden.rsi/meta.json index bbcef071e2e..2b78bcd6983 100644 --- a/Resources/Textures/Clothing/Uniforms/Jumpskirt/warden.rsi/meta.json +++ b/Resources/Textures/Clothing/Uniforms/Jumpskirt/warden.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/c838ba21dae97db345e0113f99596decd1d66039. In hand sprite scaled down by potato1234_x, monkey derivative made by brainfood1183 (github) for ss14", + "copyright": "Created by Flareguy using sprites from tgstation at commit https://github.com/tgstation/tgstation/commit/c838ba21dae97db345e0113f99596decd1d66039 & the jumpskirt base found in color.rsi.", "size": { "x": 32, "y": 32 @@ -13,18 +13,6 @@ { "name": "equipped-INNERCLOTHING", "directions": 4 - }, - { - "name": "equipped-INNERCLOTHING-monkey", - "directions": 4 - }, - { - "name": "inhand-left", - "directions": 4 - }, - { - "name": "inhand-right", - "directions": 4 } ] } diff --git a/Resources/Textures/Clothing/Uniforms/Jumpsuit/hos.rsi/equipped-INNERCLOTHING-monkey.png b/Resources/Textures/Clothing/Uniforms/Jumpsuit/hos.rsi/equipped-INNERCLOTHING-monkey.png deleted file mode 100644 index fa049e89a597f61fa351fc3bafafe796ec6f2bb8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21053 zcmeI43tUuH8o=)u_`qihrj_f2hC*ECKIh&$!l;0Xn~(w~Y615(Fv>ib8DxB*B$%3J zu86X&mW!$B_CVXT!bf3lmd~_Jb2DjOF*Wm12AQjS?mV~yLfz2z^}GCjFo$!$?>p!G zzjMCxopXP`SvWRjRM(LELm&w1Iyxya6?_hpemk}Ye>a))zW^Vd>`4=y5Y)Ms^s9lM zU)2YK#&j^JXSgzw#~65SEon z)j7ax#BV22bn*_f-DS2}wUS+yvlY1F!o#J88h?D_ve+9NvO0b207adfwd>FrMAwp% zz&GmH3mkc#t_i$O%o8o5)#U_wXp4IGT${`0%(b=BWaHyj8wNf}PHt?w#r|3>EjI0R zjhF@y_>i`!=}ez)7j>zk(^lZ%#SzoMPzJO#dZ#N@l)aPl81YIrvyp5Q%%g37*$;RnvNU-JE9H3jG z5s%fiRNbOhqKz+**2i!wFFJuUoB>V(uJS~Hcs8eLt^Yxu+31Zwf{ix|2Dwp$=UEZM zK*-V4z!Rt_z#Ibp@OlwJ8JwUIhL6=rQ2>~b`{kP(zWSC;GopZ-IFW)mk>R|iX%R(X zjuJSO#c;+%a&0utqXbFPdL9Hyob;MzF+BmZm>`I_p20<2Y@=xb=UEOHc$j8Qyw5bj zvoKBK7>1!d0tVAo(=28Z7>a=zRHS{ZIq)xFjB^-9>KO`cqiGQpMOx2#dhIjK-lblP z0wG{5ZIXc8ZPOx-p&S8vZ6bY>k7X$gW=WA?X@NGODBVUNCJe=J8UP{mV48U5HH(z!k|Gd5ix6Oj7r@HZlPpCdya}Vg zqPu%mY1*zBQY?q1X$E_zI8_PBnk5bBhp|p>oE*025& zPi$U*j5HRBEyeRR&yxadqD&+#-~6bymV)E-rm@Ns z9Mi=7rnPc#^rSg<*5MSTO*}5#zl%5KMc#Pli+Y}9z`*iSf@I{Stx*JXsY$KetwzmQ zuYmb>cPc}0n|kYQ6y}Q7pW0fzraV%u8*$o9u0qx!4$lFbj*?y9YqhCbbMq~)lDpyv zCp+!V+<^0pUSw$o#z?TXDLq(PG%t{_9>fxo&~qpyP<}TDc(M5qrNIOM1{n^>PEaYs zky3YJlHbIC0>9ihK9{xTh=Nh)?~cEs`EdT5Jw{VBg5xF(<}ikUDTDyqv;YzUT10pX z=S)0fGWo~X29M$C2x5?&hN@0;HO4!eb(-k-B@qwARTi9iMUb(Y95#!#F;UjKY+BZC z&olF^6iRi|tb*?Z*_faDy%%8P-#9@9(P922K_#G+t4gds7!63=i(+tTVCIloWZP?AcVN_j|o{Yk`#rTqtJ9Zj_f(&0kNSMJy5+-;8 z2d6fHg%OaM5j4Z$dJbgbZF8FEWRB7Xg7zQF1GdNJt6AQmnkEtoZXLWL-oM}d zCpW;xAmK;rb7$+l4u~+GxbidMQ;M*S;nv?sfQ{x2{fe9Y-HWCFJ7d1%Wy#{W$cQ)y zo+69Gdg-XlAUqDE3@Vriow2@L;Dcwba(DpM&c(8AR`*cIVX~2J}qI3&vrrsok`m77StJ+rYRg_&a zdb=86tfjVWcY3wrZKVY>a%+A+B+9r0Zc<{U*9``6Hv{eoJc+y!++yBV7huivEJM0u z$t&>Op->nCesrkx*QXlzxVh@YpH>Zg++0=G9B(zdjF_*rX4L^&(mN6Fg?$=$4=5V- zB#DE&zUI}@;!*%f7Ey7@EEJSfTnZq`A}TJK zg@TfbO93QVM8zeuP*75FDS#x4sJLVn3Q8(21(0MB6_?CHK}p4>0Fo@C;*wb?D5SC{779u#E(MTe5fzurLP1Hzr2vvFqT-TSC@B3Tt`Pa#y+kYcO0Poj z-CYxkF8&^T@0XTON==5K84p8HaR~(da0`5%gP;Ngg3f0{kf8#C?z1h++A|V@f~!U+ z4o`QV_r6e`7L${q_ zq3^%`^07F3ZFXeP!}rA;+(^CBd&7phV#~aCHQ3g@njWJ|#6gd6m%gid;hJIdyp><4 zmhUf%-iHsEgP+=7Uw2?;!r*oE{v-1eVpc&Z(4gX8?{=yUdeHR8<+H!rJ@9wX;NY(F z;*&p48ys4>d~QU~?+=!L`PlW6@4hgPyEW!|$&Z(ZOuTPh=u2fuOMA2%y-Yj0Cmb5m z@a4sbI!eF!s%iD&{`DV6zTTm}Lu|*Oc1atK4qTlwd8d28&4vqw?zh)|RWxWxNJih- zPfJgkOaFGSX5YS`g&9jzs%L(;byo6-OHcH^lrv(Li-?ZQjJgM!7*!X2@`uFeq}?$a zmRz%M+f<)LA9?jq(_1xo1!D^zBPJfgZj8sF)b8om2F({@P#Xl({#4E<`-u z@r{D-cl~a`)BNW}b%l#hM?ai>_HX0b6_-Alf)TD~dWQvf|I48PWgq_iy@u(bVZjq# zTU9xZ+3?)ts5<-DQSKiuyHe zNI?z8_Lo-o)<7SAwDp^3b-lt0b60*-G$FXd4|}eJLA4upy|H4-+!yHtPKTX-xM_0Z%ir)L}*+Z7jrHdQJoUDIdbM&2* z)5X>@=i&Ft$}J0^Wl+jHGl`t>QAg1^hmZ7G6J|X6)}ES0Pj6b3W8R*=zAWO(fu3th z9;=?|$_dq#N2cvK^iY>MtUH}rw5O&sHttduaV2a0nCu&G9il55f;G_C^yTZnFQ+bS zjsASW&@nIj-P#Ucg&!=uz9oA9~k7k=Yz%i=c@KC95}4Pd~jz`PSL>Q zDJz~~YKz}nG7*ijpE+Qt?Oyrv;EI#IR(%#>0g+UQ*<_I9);VBKW=cG!-T=SJncbZeI8xr0e-LSKAhFT}7b{x1j-VP>Cmv7H3iLc&utJ}PI&E(0G*MHHzA|m@p|HSlz zA14K6WVZiJR=@Z9-^$ZWdb*;frciUSt^mE<6*^qGV!^sU-ZZZIXF=Dzl!X~pr?+X= zCu^h5Y7aFm?fG!*PD8t4`#M|?e(L#G_w`S#bab0Nd`((rcgQjzwK8b>UvjP&6`y-& z*!eeCe4BIsyHi|`@9OeHMf)nEVfV>RuW29z{VL)7wLdMv>Gi4H=IRR>eLl^cx7T*+ zp-)bI^@nNowb-~JvnwudTz0YG$dErz%s~x1}$596cf>@wNEux&H!O#R+5p diff --git a/Resources/Textures/Clothing/Uniforms/Jumpsuit/hos.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Jumpsuit/hos.rsi/equipped-INNERCLOTHING.png index 80984c51c1279bed3a00b126ba8a78a0e03e58d6..bf0b30d17aaf22b79875466bb7c08bd4b62cde48 100644 GIT binary patch delta 654 zcmV;90&)GA3!4Ry8Gi!+005o0f$RVP00DDSM?wIu&K&6g000DMK}|sb0I`n?{9y$E z001*kOjJd8VF1jk05&!@nItGqOiXnP5y34mKR-YJ*Z^v3YD`Q_IyyR0O-(B+D_{f) zl$4YJ006z+skQ(B01-#_L=0vOng`Mf{%siYs!K3y4>BQ_ox8$YV%isB)zNVqzA5Ag8AASU+2F7 zHhw96Ai*N9)mM3c1(0@Y10eER{RL3@b)qmUfH!(0_}bq44S=tD3;?Ds;C82w1Kn>W zZuPiM_IZ@p zz`Ep1bbkN|SxXpoAu(m`XNe&{23Wku6(D0U2Br~U$>;$-AJF7pvs0kSQa(!z)qtm! z@O>AgURi2@5eDrG!L|2*`8jUC5d6yL0eDYiz%HQ$_#xhDpRfb;|4NYloxTP17Izbd oc?4(||Gjn@9`J_#8ZggaLapMlhw_@;00000Ne4wvM6N<$g46dT3jhEB delta 1425 zcmV;C1#bGA1(*wv8Gi-<0063Kaozv`1z$--K~#90?V9gPBS#p=zit#(Juc-G?F%6> zY{BbAjo@)dQ3>cjpuRN}3+=nUNM9a$UQv8mU-aG`*p~Cvfh!dHPC*IuO6v{v(p#rth<|NGMgWF<>mt+o0-}9&OAHw%x2~RIDZ@thr{7;IGm!$G6*3c z;c%E()5GB~Ap}I0L2kRZlKK-qiTw0=kNKJKNv`$lN-Y=)g-9qA!p_bPzT7{;;^7fu zd%Jam?H%N+mIwHy?E(CLKN5)q5{X2~^}5j?{O16vjArI_Hj0RS+UiQbq=K>x(lQgW zrKvd`-Z=%QQ-3`Ocm!MC;r9uQjg@ZPQuWoGZfdP&ugv_BhI+G20gu3>FBB_4#fOvx z)SPan2Rs5^ys&p(&FL6Y5@?wTp;FVqrmtJ{1;O?W0IJTeU)%su2}4Q(5x)fQoB{yY z)HGWe`rA9FAmTU5%TcKm{i0C)=MRJEn@^e#A>a`Z5Pt;o0jN10ee+2?e;CA&lE5F& zf+f{|rvWB>5*co8Lc}j&Y+<`-r{t(nF5;Ik+}wl-pH$W;nC=RaukYV8J1<8i+bFQ2 z>N@18WEx?lp&rv+!J_&_M*tP1b4tzW=oLjFD|0Em4FDJ)9|x|ltwRp=H;yOZ5wLcBU#7nov&+jx#fve!mCVzp z+D_kNCDY%F$rAPNGytwwiDgS=PO(C1%gf7^S^@I(0b_L844}K$FFFN2RH)GlJrEX{ z3=kJRSUfyJJUjsJoPy0w1>QLY@$i6=E_%vpOn)i*FZbTz4ap+*v>)I6n?dYpKi-fm zUhchfrOz}}>8fxWYZsSTN^e*EEzqjp*=RUm=lTx-sf@;~U(5&O;dDOM-)n_#s4(UW zkVn93_R4$<1b~!_`ds+{HK#+(=~%nCG_PyL+QlUT9>HAZ=tEe$xO7#YYbQvDyIWzm z(0?iD)W2(L-o^iR6{r*+y#bh=p!IJkMb-6+z53P~CIh534QaTD9!bW$ftk?wR9bD@jM2Bz9Wr(4Xrv$3 z16d|(Spy}g^@p3Apz6jBt>SHhq9|1z1wB1Ir04V!osA*_g0UM+M_642C;&N0%%gjBfIUQpQ3YNx7uZw9{mxnoLgcH{lBL!_&O< z)-N6-5?R6KC{S1BSE0>K1uHASudhdO@OwNjfB%zaruvwgJJ{Yq9^dz(*<-(ruEA6L z2Z-(MR@DT9?Hy#UtrbAN-?_*U#LrHd+Q2jgVtc!F@v~E#^P`=Ab#`9$&VSQ3ygEC# zX#<8cWbHiQ!UtFdtevlBWQdcc^maibxOo6&JHZd(J)j(zPlufic%P@jmC!D01gN@> z_2ZMW8{wAqgIWL_G&H0|SH0lCEPwim^Dz-HBn{IhmJ04okYDuOkD)#(wTUiL5}rL4Z$) zYk4BWnNKYt3Y4h1Qsr!rX%Or z0)do3NswRge^kKmKsi>Dp`L+(v%n*=n1O-sFbFdq&tH)O)G^P~#WBRf|Lufqp~DIs zEsTvSXAl3rzs>s;{~MLb%v-D%cbFlxsV3qq(ce2SgeG9?JwYaRN}!zS zU>I6}QQ6g55m_MJq@~3?0ZGBknU0<_Cn5wmRc6kbIYkp8z*Dqw&a62THzAoJ4HTFy zfF!`}IcugjvMt;*y*y{52)KB;c;gk|?GuvgMOEQ~re)^rnJ9)b?B1|@1H+&K02*-| UyjgnLa{vGU07*qoM6N<$g11#s0{{R3 diff --git a/Resources/Textures/Clothing/Uniforms/Jumpsuit/hos.rsi/inhand-left.png b/Resources/Textures/Clothing/Uniforms/Jumpsuit/hos.rsi/inhand-left.png deleted file mode 100644 index f3b0529e93ce73a98236b187b7e9143fa59b586e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 403 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!7>k44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`1E2l#}z{{PS5;NY-s9m7FggBW?0`C59m;xe@wI(m9~Sy@?;@@f@Y#z3_} zOr^_#6mLn8U+{kS>O>_%)r2R7=#&*=dVZs3f}Q_aSVxYe>*jrui1cy zrTOiLjN<>FxB2;afA|*>Dj#GlG;z-Xj?bG{?l~dA(`dxvyx`9g1>f(|A5u|t2Na!uEzJ7$_qEV;^z!Fdz@v#vu5odv-&w5yz3(vvh4owpEH$@J$SVy g;K9#r3#LdjuiU|SJm~Ewpg$QrUHx3vIVCg!00VfPMF0Q* diff --git a/Resources/Textures/Clothing/Uniforms/Jumpsuit/hos.rsi/inhand-right.png b/Resources/Textures/Clothing/Uniforms/Jumpsuit/hos.rsi/inhand-right.png deleted file mode 100644 index d7cfdd2a252944f2e5c846dc8ea4cf79f43269c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 410 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!7>k44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`0Z1^9%x{{PS5;NY-s9m7FggBW?0QaO$JT6(tPGPN2ydU|?USy_?tY86_> zK;?NKGNphNUrCT(@PA~$;CkTB37`yTfk$L9P{CmkW;~w1A_XXT-_yl0B*Oje)VqAm z3OsHbQy1jz`TyFl>r=VnTH~9WzNl!a%vYZ>`+N(3U?Z23R)FJ^be1nOE6j{9&c1eB ze8M%3E!ON4{#kDFOz7o(==feSI;;Ds4(A%@59gS7ZCrR>?cf^$#*1fp9H-xP-_XIG zWOI9h-fWhS3Eb%o9<%p)Cj8}M3p;OEa%M>FVdQ&MBb@0Ej=JMgRZ+ diff --git a/Resources/Textures/Clothing/Uniforms/Jumpsuit/hos.rsi/meta.json b/Resources/Textures/Clothing/Uniforms/Jumpsuit/hos.rsi/meta.json index 3f72fb44600..8fe98eacbe4 100644 --- a/Resources/Textures/Clothing/Uniforms/Jumpsuit/hos.rsi/meta.json +++ b/Resources/Textures/Clothing/Uniforms/Jumpsuit/hos.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/c838ba21dae97db345e0113f99596decd1d66039. In hand sprite scaled down by potato1234_x, monkey made by brainfood1183 (github) for ss14", + "copyright": "Created by Flareguy using sprites from tgstation at commit https://github.com/tgstation/tgstation/commit/c838ba21dae97db345e0113f99596decd1d66039 & the jumpsuit base found in color.rsi.", "size": { "x": 32, "y": 32 @@ -15,15 +15,11 @@ "directions": 4 }, { - "name": "equipped-INNERCLOTHING-monkey", + "name": "overlay-inhand-left", "directions": 4 }, { - "name": "inhand-left", - "directions": 4 - }, - { - "name": "inhand-right", + "name": "overlay-inhand-right", "directions": 4 } ] diff --git a/Resources/Textures/Clothing/Uniforms/Jumpsuit/hos.rsi/overlay-inhand-left.png b/Resources/Textures/Clothing/Uniforms/Jumpsuit/hos.rsi/overlay-inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..cedb1942e7cb31bb729cd0d2849964b522b7f6b0 GIT binary patch literal 346 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 YJ2d`M?$+AXFbZO6Lq{dQk(gWhAG>>P;{X5v diff --git a/Resources/Textures/Clothing/Uniforms/Jumpsuit/security.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Jumpsuit/security.rsi/equipped-INNERCLOTHING.png index 2fb771d84c3133abcc7c0cfd62cb6fe93f5016bb..bd0af340983492059665502f749afea8c6356d0f 100644 GIT binary patch delta 612 zcmbQvI*WCJW4%*=Pl#(Nx8O__4IntEYvAYOV{dP7W@eU^mF45(lfc4dWn~rU>zff5 zH@UX<#*Q7@+S>YhhRRB6A;AF>;*wLQOkrSP`0u$x6G(}b1o;L3#|9V}FCBOSRKZ!` z5n0T@z;_6Q8AaiBF8YSObg!ETQLMM-pz1akpJSF zWJB+bKcWYIiyvYavbYpgqv!DJbc&2Sqr;M|KLizODpjkTST@W{`jWZ#n{k8und=I_ zCU9EJ)xUoJ_0t-!!gaSVe7>)HR44S{B9Z5hrf&#kyeE2RDX&7md7uaL4=!GY>(^O6 z95!P#{Xd^^!$F%Xp;iAhe=d$E9Y8r3cHaq$A@5ddFZ){?;IKQbl{+#^fS|x|oOiTg?nSAVOwn}l& zUA5x=KGr$Ytr>Q?m_FaPSbxD0wJAv+%oq0D7F9URb|CkQTZz~-){1)z>MEA)xDZ?X z!qQdE{v9lT*w+!Tf)atJ~%Ww!g9u*wi!U8_MsR_2AoiU>q}ey85}Sb4q9e05O6V5C8xG delta 609 zcmV-n0-pVv1(yYoL4O`lOjJdEC@fqbBs~`#!7VVKDlRWBF(V=-R8vqG7a0Hm0F-c< zpa1{>3UpFVQ~&?}|NsC0|Nj88%q-6U000SaNLh0L01m?d01m?e$8V@)0005(Nklb}m3`G%(6aW7Y_gq2}LSs&?B^5HY1|o=l_+U{_)X& z3ftvLctpmn#25i^9StGmpxNmc%cjM;=^n{5*9gAQ$%w!m-LBJ!*UtX{1lErLrchf) zfN6d4Bk#XAEPpxxme{B(-SZj{b~T-?*VNMntc?2jC%oyyeFo?jy3fA z5wOy_H2WxxATLM22;*`JykRM`ADxZ>TLGZ+mae9djSZgz;P3SC*h0wzYQPjg?`wcH zfD7pK9xw{%^d5k2m$8Qa9`KP)zzL8}z!4BEwboSWP=7u+i@ZVlUknPTky@Hn)f=Id zoQ*@V*)QVEw5;^nY^iT=7u5)1TH-K65IWnNE%oh7QH_vtSATdFo#`BGGXO=-6?b32 zc-8WSqjv^SN>Kh?0XX!PJ)Y_Tk-Yg00AbCR9DvlRMP5!pS_51W=SA^QH3d}7^MZ21 zEvDI$Us?l12`~px9Vli75J4HfSp$*RAoS0BK%KY`l5%W&#TrP{;F%AKE~Q zza+>n_&*9@xN>L4LZB39LA^(0F#`kNVGw3Kp1&dmC_2&8#WBRf|Lp`uzQYO}uJ*6) z#Du@Ezf-4kR^j3ohTHxuE$o~N?!RDX>{v3z#cA^I4SF7jquic8it!TUcq?;)UsWq! zVV~ls$w#_VBN?8~YOuV(C^nl(?FVdQ&MBb@ E08-z8xBvhE delta 308 zcmV-40n7f-0>c837=Hu<0001iRA&NqGF0HQ0DC6?1(Iou4HMXge;&IVrdeD zEWi|OX&l5rnk@jx3={!HK|v)HfzTjT6cr3g3MkGP1ONaO_YMD0p62=h0000k44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`1k1^9%x+KS5@)HRS0m#o#$nXjc65*(ncq!uHuqOWHNRAM5l*$$+*N`m}? z|HA;orZYO{fufuR9+AZi419+{nDKc2iWH#WZci7-kO=p;Q!jEIR^V|J_TB#Tzr9Ve zOh$3M(@Qqx_Mlg$bG&{Rtc+D*)eH!l!1UCf^~htpdGJO9}EZb8nY#YF=9XJp)Uym`buWC{Oivz|?yT|4;a+ew`2iDoIgv(qRbO~G-k z%X0fRBj&Uv*ZEGd8T3qO64B7~Xq?ov;Xru355p>ZH3n08o5uA&XE0o;@nMMi^_nUC pb714@p9>CLuL*hZW9x#g<|6yL{H6J~*8;u4;OXk;vd$@?2>{Uag@6D6 diff --git a/Resources/Textures/Clothing/Uniforms/Jumpsuit/security.rsi/inhand-right.png b/Resources/Textures/Clothing/Uniforms/Jumpsuit/security.rsi/inhand-right.png deleted file mode 100644 index 1cb708b7adc46db6e54649e9264b898a39160da6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 362 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!7>k44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`1k1^9%x+KS5@)HRS0m#o#$nXjc65*(ncq!uHuqOWHNRAM5l*$$+*N`m}? z|HA;orZYO{fufuR9+AZi419+{nDKc2iWH#Weoq(2kO=p;Q{QqOHsEkI-FW-cKm9#5 z0*f_MPjNLrTzJLgj-1o)$4);d3A8K_Y!Wc}=YE0xR!+m;d)JGX`ILIzOj>bM>hT*1 zcc&@=JKZK-Yd0%~c#Z_YoSTLUfp=9VC!9XlSbF)7VCpxsgBI5+el(o(b3DheZ2yk* zN~hg9E7p8n>g^=Z&LtyzUZZjG mV@c8Qy}3tb+keb<)Xcw>-{l`4XXXj?3WKMspUXO@geCw1p@|~^ diff --git a/Resources/Textures/Clothing/Uniforms/Jumpsuit/security.rsi/meta.json b/Resources/Textures/Clothing/Uniforms/Jumpsuit/security.rsi/meta.json index c11c48fe747..8fe98eacbe4 100644 --- a/Resources/Textures/Clothing/Uniforms/Jumpsuit/security.rsi/meta.json +++ b/Resources/Textures/Clothing/Uniforms/Jumpsuit/security.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/c838ba21dae97db345e0113f99596decd1d66039. In hand sprite scaled down by potato1234_x, monkey made by brainfood1183 (github) for ss14. equipped-INNERCLOTHING edited by Dutch-VanDerLinde (github).", + "copyright": "Created by Flareguy using sprites from tgstation at commit https://github.com/tgstation/tgstation/commit/c838ba21dae97db345e0113f99596decd1d66039 & the jumpsuit base found in color.rsi.", "size": { "x": 32, "y": 32 @@ -15,15 +15,11 @@ "directions": 4 }, { - "name": "equipped-INNERCLOTHING-monkey", + "name": "overlay-inhand-left", "directions": 4 }, { - "name": "inhand-left", - "directions": 4 - }, - { - "name": "inhand-right", + "name": "overlay-inhand-right", "directions": 4 } ] diff --git a/Resources/Textures/Clothing/Uniforms/Jumpsuit/security.rsi/overlay-inhand-left.png b/Resources/Textures/Clothing/Uniforms/Jumpsuit/security.rsi/overlay-inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..f6bb7be725d76943c2b8315d387e87e52b8f9f32 GIT binary patch literal 283 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBuf-vKbiP>*~f*U+t978JN-rn5E%dE)Lny4OZz{ITJ-x!p} z;dWZ1!|}!=y@?t@OLjg`QTn(4SWL1`_v(2-Z6I(UaQd9>5|7R7mPda7&2`;7AoOzL z+TXQTRwsIE=JV&@eXsuM@6W!)oUiN7pIf}^X&vM8z~#38?oOH1BJgCD*7m5S-}Tm- zuG}iO@Axixh=~jg-BCui+n!Z%dM`bG?VpnEHnYiclll5zUE8Fo{nC&jVcH44LYpY% TQ(WI7Ksr2K{an^LB{Ts59G__< literal 0 HcmV?d00001 diff --git a/Resources/Textures/Clothing/Uniforms/Jumpsuit/security.rsi/overlay-inhand-right.png b/Resources/Textures/Clothing/Uniforms/Jumpsuit/security.rsi/overlay-inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..139eaee057d17c1c95a4756369498aa673674533 GIT binary patch literal 282 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBuf-vKbiP>*~g6ln9978JN-rn5Ed&oeb^?=TO+$EHZJ@gTw!?#{{WV*{NO?2I>QW9Z&Zhk(gd*y~p{J-(Hr`($XKX zpX;h4HB)b-&Y5Js-)?=~%R|%lT(?_p`j<(swyxrTw5BSj;)&Q$xwK1BlcQG8xcRDh z|07*}h-nN78TU?Ia`xHV5-S~%zsL00@(zopr0FoVMasU7T literal 0 HcmV?d00001 diff --git a/Resources/Textures/Clothing/Uniforms/Jumpsuit/warden.rsi/equipped-INNERCLOTHING-monkey.png b/Resources/Textures/Clothing/Uniforms/Jumpsuit/warden.rsi/equipped-INNERCLOTHING-monkey.png deleted file mode 100644 index 562402ee893cac62fd9a66bed1d7cef9a3bd6e30..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20831 zcmeI43s@A@9>52+@R?eCLHM}aLRwdco#)QX3ah+K%r!ztK_zEr&cGt$Dn= zh-+$$HrCysW`ZeM6K`_>4IQON1x(Lq7%mE@8HQqpY6uLcbr`85F_a(;6lS0ZjqgWm z><&xO4pB0sB#iVm2mg!FX1iQ=gHBgeR1{T2M%f%$I-KJ;9Y*K~0)-N&v&8D+i&3jH z!fV8DCjmGGhsEx)*sL12UEXXfaK&h~?uMFweB;WqH#cN;`q)8=x?~ z*0C2jay?xW1s%u*dBEy&LOnd7o;};j{=%z#17fHQkdvjE3YGb5UDo*+4iHh0jpfKxQh>IE2SN!n|gC-fA` z6QT%6Jx2l(bkMX&3cQ&V1(f9_!DpHhc$B3{f*^1KgM;a)X`YZoj^R)a2ds~^8U70y zlV*aT^&EqD&@{jSVD-GG*FMwy4eB)zDUsk=$qnR2n+7C-n-LQxeK?W{5y<#srF` z0E^Rs5qN7`M%&_d6^wXXJBbGJdvSm%G%Au5?H-VX3M`D7I7tDH;r&enFmqK? zqb%+{p`>;2_UsAcKz{4mmOa6f-Pw7E6S#Ai7_C2fX-)^d8-Q;c@Z>-SUU27yM!}sC z060xs)wXo2Su@%zV7c0z*M{IK_4eB+$_Cay$|$_1JW}l&aoQwT5$^!8S#YntmSo3k zwY6GX^MO~%4RM5%FT6fCkOHR%Jj5e_$%5D=YQE_EW=_XDZvm(a1_d5 zaFb$1n8vUG6ByDg37jPP$JYUmk*OGFa61iGo#twecQ$JwaQvBw2jeOakNN;6>XO5j zr)fSPXk0c8Z@1@K1l}D=b%j>ZcW`dbs{P)R+4v7mP!TvRe`wOae; z{afCDa}R8e6MnirkG9`yS&;FB7KI4v4zkS=*WZZDM%#w|jr;wL3#b1-W4`W{d2MGs zb!B>@qVL5!hg+Zb{Ab9k&xiiQuy?Z`=}uAH7kzMzC>#f242DJm+zSz~GM#cfa~n<&WE{rvI_3{Bc{=7R@xP#btyyE}qV` zsg`NEKUVPGd5?o1r2(U!rb&2j)V8{`!L?jnbami^Y zmQ`Geh~xq)E;$XwvWiO)kz7EgX zzAK;Vlb6#F{Alm0o$J2d+zpvgy)>l9j5$q(2RBvDY^fwCom%xO#0rBGcab*3?<^PDSX>Cz*cFDw)f zFB&@V^9|VtN5469*`!G;!z(h&gLf}}u;KJa#MHI_=$l_3_IB{`e#!f&uXYR_xAOCk zvML_QN177Wzqt3%&p&Q0Kly|Gp2_!LNjtOi?CG7uCmbBna54`5PFrob6gA}CX=mnd ze6k_umTm_Qon8LP_}=2HCvGbbo*!-v&A&9Qq4Bs_TDv(2`Qh|l66v{l(0vzHb+5c_ z6?djMreRq_j&x10vtrwQ=9BgPDV!SK{}U z?Yb4QnBJ@1Hsm7MF!W&3;VnznC2hTbx^&FCe|kmaoppOboGvylDb??u{( z)bP%c+aG_YF|qLYx{%r}OJuj%YhK$C z!d1jQC%R7cP5*)(8q}x9j6R!+o(QTOz52(vPNf?MZXJO&7GHj$bM)YCNJVJQxl0u< zM{LbLI``nxS)KRLRi**l47eV?kDs3W!J5a$=ajkjV#`1Hx#69Y84OZ;WXajsyVmx* z>-3J)J8w4i17-zPlttf>>Sv;Qrx zm4|0Oy=}>oCHWW5ShhUcBSq>rc<|sas`@dtufHz-^y_L7k6E(9^!8t)s>a`hB(L24 zYjKROs)5r^!_RGa0qK9@!ZVYj>K272?p{0+85%UDhXbVgUiz2oR(91vU1hYf+N<K4D2 zxM6a`!V&ba&^xW581DRFGVnz$*C{R@)GyzKx0 diff --git a/Resources/Textures/Clothing/Uniforms/Jumpsuit/warden.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Jumpsuit/warden.rsi/equipped-INNERCLOTHING.png index a912ead1775d261f2c1a9eb16503ebe4004c45d5..67ba63f7cdbbfad34e817da9a048db76ddedccc7 100644 GIT binary patch delta 648 zcmV;30(bp{3zY?s8Gi!+005o0f$RVP00DDSM?wIu&K&6g000DMK}|sb0I`n?{9y$E z001^nOjJc^XlR)vDBs`Ts;a7W3lYIBFh4&(YHDgsOiVgDI#EqcXkK2EeSO%txGO6w zU<3-3l#~Df0L-oC`v3p{5_D2dQ~&?}|NsC0|NsC0|NsC0|9}4g;=jKV00009a7bBm z000ic000ic0Tn1pfB*mi%1J~)R9Hvtmg{nZAP|Mw2-;kl#P@&Mp0lE|+%l7Nrv2e* zWmwPhi8x_#^M^VB2Y~ujfOCwNwk9|tlKDyCPJ{T_%W$d_)c3i+_uUXe5HDzl8bSR) z+xS~|@x!QXg?|uz1*HDg^G+W=F$w*6cNgwCdbrTr{T1K??!x2@*vkp(V>JJbzX5dp zLil2WMpmm2S$_pMyw(n2WVQMWAo0^gF9Lw<^i1?I-uf9pCR`nWstGt>uD9>o^>U7J zuKP6V-#x}EGlNwz&czw%6=RhF@C|Xb0q}GY6Ip;hp??F=`E>#Mv73OJ|IYwiU~THE z`YGT6ElpijKLxy{18@MS1CRsSXM;_7iivOn@G`fy1IW+fv*SY=3@2{MWnJ9FT@@*A zh%uD{SiiY#wE^7ELhFPAKR6Wb_Lj!&3^PPhj41sRn; zWk~@_=!}m9Gu{H`M}Pc6u$9jO_?`NIA|VIZB`#DZ6oB?miNeq6C7@N@Rb1vCATR!< iiVO>QLw^mJ=O3Lr?bUN9ptt}4002ovPDHLkU;%<|b|>lp delta 1404 zcmV-?1%vvP1%wNb8Gi-<0063Kaozv`1xrapK~#90?V3+W8(AF3zfNLzV#JcRo9-bb zCU}sdHiz9~V8B06N>}!*u&_`>x>7uNk>=DTmmGR%L4x42pyyDb7uSGgj@^Un_RxdO zn8m}ItwzO|shXKR=zEzOnG#WLc(I~dIw(w(a z4-30{kaxD*Vz&dvPd9JiH~$TEcXwlbeI4uT>owQwL_hY=d#FW?=7l{XD5cD-5*87C0O#_{XB_@iHU|8f#@qGoocO~p3(fFb~kNP#3eB4 z3)Kn`@!)bAN=c{b5to3`QETUwl8)eV8oe*((5U5L(brA-f?)X#0E*78U)2C|B8lK~ z8gXeDCyyTi0RGf8OBwQf^7s+r(lCO{X~>CWE&5d<`hN@e9w0D1MF%0`5)cstIsi&Z zM__si3-=x%xSYoJv*$I{U(o>Lp&nz<+kv<=jM(f<)lSKYBx18Oh)cs5^mbr8)Kk|i zi1+px54$>P=jBAwG7HQox(+#!q(&HOcO%~0S5?323?PDJO(`WEcSX@s=B_Bxk)h?T zXecYIr+;Tqi(1(=ZQpx{zFO3vlyu8Rc@^$TnORLk);8VEQx5Kr8&AX~AXDKzC#>c7 z%ch$*L)sQwyBBKIuV?^yXZw=X?PBH9%Dv}=tLjm7n*ns^`c;>}=L#`;xdCB;b)<~( zP!Im_xZ(HvF*!Mjxw$#yayfikJi}sk(@C8*s`W)>6N=b)O(vc|~)4y9qrf`giOQ4@QG6w@zcNVk2WDN9&4BV7|dM`{@JfHo_heL+x&?o}S_9ySGid5jGR=?K6m` zTGX%|4mgfYV7?ZAy7oJLURhb84%3HSoqq@}rx6Z^n`#7ARgJ&D{{i!dM*x7>>~_HTuIsub&FgBTQ}RjfeZ#_IDz)Jk|1ALLdqJUOJpsQt zJZN5sjJ&hm_U7;axswk7teu}fJZgI9NgK#1aH!o4uj^bgck+R`^MHdrfOQDiJKxO6 z5Ic+6&9X*tG5~dNf}g`VpdOgL!}bPzO0RGuwCkDyimqQ7%-9On^80lgp)LcEfTdQs z$ITE;bF`Qf94~>j{65w${tk&EB9~Ce>P>z*kV5n!{EbxddW?4*KEMy zvhwMwVDLtuHYTZ7OAZw8i< zhmLAO8_vDnX8*m{(rO)x%z_zopr0BC21`~Uy| delta 417 zcmV;S0bc&y0=kD$H z28BYwSMJdFApmPM5$zfn+Rn_aD;}&=I;O?73^vhAu2kS!I<@3vaZT};bk0psQM!K$3r_&)_*NHJk z`B;(w{N7Ipe2H)yek44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`1E2l#}z&YU^({{8y~1_lWU2@Vbp^R@I2>KeqztLW+J0hQR<*)3nb9LTtv z+bRR3cuRu(g8w4{2HO`(Z9oam0*}aI1_r*vAk26?e?C@(=`#rgW4lGe%J>$=HN@@2U`w5wj@t<$* zdRucdZ03~G$F=i~4s%bt74?4YDa)RTy&30t^cP&ZbumhDw&WDaxB!p1WzW?$j2&D` z_ryH!U+B}=R28EBVdf{!gPzylF1oD7n#yH$@JDp=%_R$b7@Pc#WV59*3AK1Qa?KD~ z((u!|G5_5R29t6hhFR8X47#$y4b%EK9lYCF*Q@@{ZOni9f-}aOops;R#Z1TVb64$W Ymd@TaWjae<1JHjAp00i_>zopr0KIIQ!Tk44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`1E2l#}z&YU^({{8y~1_lWU2@Vbp^R@I2>KeqztLW+J0hQR<*)3nb9LTtv z+bRR3cuRu(g8w4{2HO`(Z9oam0*}aI1_r*vAk26?e?I( z3m1mA|Nnn);n7V$7F_vw(6h?vMp1Foz8LYkBP?nPJ_$^ZOqt@^>}E?>JlnhGvCC(h z-Wsd)IcZTUvss$k1sH60>vu$Qd7E)wVANsY`&n{MaW)IzPobxW&sn5=XRY1y#g^Y9 zZSw*BebE8w^M%&zs5OhZ{IJPPTfd`TwXbByg0t_M8ax*Ft7$jgo^gPsh117jkN1J! z=eo{?6#BY~Yc(!g#68s^_+qQqf|W0v=3WaaStk0$Jm*;;P{Q~uw}|N6m8`3}#H0?& e{)-bhBz`A-*OX0OKf;0DWbkzLb6Mw<&;$U6f}c46 diff --git a/Resources/Textures/Clothing/Uniforms/Jumpsuit/warden.rsi/meta.json b/Resources/Textures/Clothing/Uniforms/Jumpsuit/warden.rsi/meta.json index 3f72fb44600..8fe98eacbe4 100644 --- a/Resources/Textures/Clothing/Uniforms/Jumpsuit/warden.rsi/meta.json +++ b/Resources/Textures/Clothing/Uniforms/Jumpsuit/warden.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/c838ba21dae97db345e0113f99596decd1d66039. In hand sprite scaled down by potato1234_x, monkey made by brainfood1183 (github) for ss14", + "copyright": "Created by Flareguy using sprites from tgstation at commit https://github.com/tgstation/tgstation/commit/c838ba21dae97db345e0113f99596decd1d66039 & the jumpsuit base found in color.rsi.", "size": { "x": 32, "y": 32 @@ -15,15 +15,11 @@ "directions": 4 }, { - "name": "equipped-INNERCLOTHING-monkey", + "name": "overlay-inhand-left", "directions": 4 }, { - "name": "inhand-left", - "directions": 4 - }, - { - "name": "inhand-right", + "name": "overlay-inhand-right", "directions": 4 } ] diff --git a/Resources/Textures/Clothing/Uniforms/Jumpsuit/warden.rsi/overlay-inhand-left.png b/Resources/Textures/Clothing/Uniforms/Jumpsuit/warden.rsi/overlay-inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..d3a01e1a6cc33eaf0b6196dcc7eea8c4d2d02669 GIT binary patch literal 338 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!7>k44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`032l#}zW@KcnTD9u_{rg#2Sw22KW@cthO-(m;>;THgzPQc;q&Q20{DS{O z0Yk8Vg%C)vz$3Dlfr0NJ2s7@OnEe(gxZ2ajF(ktM?bOqJtqMFYfi)lg$LDxwFDel; zJ2rdwjL9C4J@|Iax)kTc$jZekqEWA@VY|D21IJvk%|>6(ge~{k#>6aeruK|ECBmf< zpy9!tRQ#M}!OqD|H!f*1=H$)i@6?_9hqbb8n%_MK39oP0f#N@+E}UAV<~G^_UP Un>*f_KxZ>}y85}Sb4q9e05Pe7TL1t6 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Clothing/Uniforms/Jumpsuit/warden.rsi/overlay-inhand-right.png b/Resources/Textures/Clothing/Uniforms/Jumpsuit/warden.rsi/overlay-inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..ffe5f93eba512d579d81173ace53071c01855260 GIT binary patch literal 341 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!7>k44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`032l#}zW@KcnTD9u_{rg#2Sw22KW@cthO-(m;>;THgzPQc;q&Q20{DS{O z0Yk8Vg%C)vz$3Dlfr0NJ2s7@OnEe(gxX#nXF(ktM?bL&OEebp?k&#pX|4-6%y(P5y z_By$52Ks_6Jo*K*Lh_gxSy)&E1nQMDfqI+f3X1haiW7f!vU^a z`!_FQ*OFVA;mFM-s_S7DbdgJT+t$}E_6zG)mCf~e>2cVopG!&9w!`)Z6GtAmmnFmM XZ?$JFQf4j$x}3q&)z4*}Q$iB}7OZ}Q literal 0 HcmV?d00001 diff --git a/Resources/migration.yml b/Resources/migration.yml index 5f73d4d2530..c345d8616d4 100644 --- a/Resources/migration.yml +++ b/Resources/migration.yml @@ -348,3 +348,6 @@ DoorRemoteFirefight: null # 2024-06-03 AirlockServiceCaptainLocked: AirlockCaptainLocked + +# 2024-06-15 +ClothingOuterCoatInspector: ClothingOuterCoatDetectiveLoadout \ No newline at end of file From 11496419cefc0fb3ec97213c7a94b919191b692e Mon Sep 17 00:00:00 2001 From: PJBot Date: Wed, 19 Jun 2024 02:05:10 +0000 Subject: [PATCH 031/101] 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 540a2404bdd..e056aab071d 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: lzk228 - changes: - - message: Briefcases was added to CuraDrobe and LawDrobe. - type: Tweak - id: 6276 - time: '2024-03-31T20:52:49.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/26527 - author: RiceMar changes: - message: Added milk cartons to the BoozeOMat vendor. Got milk? @@ -3850,3 +3843,10 @@ id: 6775 time: '2024-06-19T01:57:00.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/29194 +- author: Flareguy + changes: + - message: Resprited most of Security's basic attire. + type: Tweak + id: 6776 + time: '2024-06-19T02:04:04.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/29082 From 198f028d7c54455ede257fedd4f0c9bb2f3aa69a Mon Sep 17 00:00:00 2001 From: Tayrtahn Date: Tue, 18 Jun 2024 22:12:44 -0400 Subject: [PATCH 032/101] Make Hamlet a valid chef's hat pilot (#29191) --- Resources/Prototypes/Entities/Mobs/NPCs/pets.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/pets.yml b/Resources/Prototypes/Entities/Mobs/NPCs/pets.yml index c1cfa408360..510cae3be33 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/pets.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/pets.yml @@ -593,6 +593,7 @@ - CannotSuicide - Hamster - VimPilot + - ChefPilot - type: entity name: Shiva From 69afba67b606291e87e9cb1d24c6fc09c368a5ae Mon Sep 17 00:00:00 2001 From: Ubaser <134914314+UbaserB@users.noreply.github.com> Date: Wed, 19 Jun 2024 12:24:28 +1000 Subject: [PATCH 033/101] Fix Underwing wings (#29092) * add * tweak thickness of stripe --- .../Moth/moth_wings.rsi/underwing_primary.png | Bin 3317 -> 3276 bytes .../moth_wings.rsi/underwing_secondary.png | Bin 2131 -> 2196 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/Resources/Textures/Mobs/Customization/Moth/moth_wings.rsi/underwing_primary.png b/Resources/Textures/Mobs/Customization/Moth/moth_wings.rsi/underwing_primary.png index f3fe5ff92225486839d85ea78e5e858006db9237..e4f6f0e033c6d96e35c8cb16011eba3b18f44f46 100644 GIT binary patch delta 1941 zcmV;G2Wt5B8O#~5P6dByNklQ)N0@G=zA*W$c{up+;e$0iJZyDzba;Z`8b19|0cP#cr{MOl$-3KI{TKTDL|)#! zdDHYQS+YcyE?p|_MBzc*-QA*chB1mi*yY%;VS}hY%v+Wvd3kxp)7i6Uv-X&uRAbYo zO~%XM;Gj_<2t9vbC|~80+D#(2XU`sM=FFK!RQ;%)Ca?U;%1S|A`{UZgGXO)&mMt?N zyn6L2;9%OcX&;9n&SRGSBxB!NM(fFwK6(E9xfyl8nHMi!2>k$sJbDKX9Ego6@eFV~ zBw7FA?jP;*+S*!aY;2UOs!BO`u2D$#<;$1O!8LsPkwbqzDdhw}QsX0)V-$;uilo24 z-(%|S+qW__G~^syy9s&plH3ZB0PNbe%QMY)@80dXb~|*R`{n$0+_IU@(IbiZ^XHps z%{il6TwEj}z9_K$4fSo&cS}RwsbmGIv`}gmi>r5xext(GM zdzp0neQtmMZ{EByGhor8MJA!Pwl)JoOG}HCm6ZuC$-^gM>=0Vpgilm`zU zc;aGpO+tP->|ie&QvXw?OmWm+zkcnED$M-+Jn8A_F)i05&!{7(gnpd=z$(e;ty;B8 zu3o)r>>N6DC?KN_;#!>vYA=Z`_21Xm=UMH?j~{<8_QEUo?%lJW2mX~EJHD66lP8<) z_sEf-rKYCZjJ~}?$-8&&oY2@NOG-*iK4Ja?GXO{T@835DCQO(h2M-?1YWk{Y^w5W} zhutKk{<)7!OH0jxUO_>D8BLPky!ktsH*cOSSg^pfT*GIyk%LqhJDL1@0AK-Iw{D%8 zS{Q$rF=K|ATE=3QKTJvVvBOlwu782_n^gY`7cO)XVNahpaiTnZ`c!V*XqS^G|1dN1 z*|TTDXwyRQ=|>KEeRcp4>_z$a0KmPMpZ}4?BW7`Nv25MCHK$tuJ@l~yVK;6qV7ekV zZrnJdgD#61d>(T(`JSF$6C1Y#KDdVHM-G2^^wc-@unXT$9srnr3V>g5q}SL@avP|B zp7?mYCFtYFk4tN7t0(&N=l?WQzOnJVCp6@cM-P4MKx)?`4ByQlKz-=I0O*c{&{x#4 zn*;#$&q7AfmoK-l)p?Syuiu_mS~}aT0cB;S!nHe2eQ*y-29hcKC5f=v4cJACIJAsM~@yE;96V%wnzUrPjVUnf4VMRx+GD5zR*LT0l*%1 z!^i^w_b7-hUc6Yky1J#I;g?Y7VTQtZ=wkGyRaIrB`?;aMefzehe|fcpH>y6V|5Jk2 ze=ZQYC7JN_P1^HXhFl z5mgLpj~+d0*cBBOrmd^1^N0ZifqiZeGsdo14wGJu^&OUte$9xSv>rFmUYH zF^dw*&!P@Zgk%K zK7Rbz)C;z3*%F&y>xEJ;@YpQ4ttD``od#81%J+*Ib)b1?*lD+XEJ>h zWf(AGj|0Jzgx?(oFvhmW7IXLRUFq%Z4J7Z^`&!pjm8nFPmzO&+^PYb*69|!SDM^0$ z^5ss6iNxIt-q%Vp&Mz?%E5yK&1Gz-$g#w_-KYaMm)Y`OII&0RfC_CQ_Ut=U@>V)Kw z34~ApSmY=sKrA>~-T7v+Ob`e$>rO!~c)cPI|J=d;XlhvzNtH?LkvNI7Qu`&aQomoIGQ4|S) z{WxjrdML65^7+Z&;E=3ezdqy65#{Jh@rjXGwKPs`l3b!F000$L2=p*QO|81RT27q! zeZ;lGs31m@Pd$)WiJ92Rfm|TX&FwGnAf(8t5MN@AmE<+%Pep%SYt5QE^L2{y{kg#p z002|V(<~+zFE)>fktc39DF`c8)H)?{cfXzoZUOC}y?*_lF`2yP00`uei2?vHO?Z54 zYr8IU=g!TfJ0|+bfn3Nb(JjC~DUMH5XiOxTDad{Mel)w*wr$%3&j6Y9(!Lad6oLN- b0{;O=1TYu>Me+>=00000NkvXXu0mjfoD{r0 delta 1982 zcmV;v2SNDE8TA>kP6dCGNklph!6)uMomZr6*S417+;AGOizEMb?JBa zyhII1`*yW4siX{~45SRC45SRC45SRC48(skaOTVzi!DeqYAi@U zm%gs9E{iS5Hfk(LKkGgmynp}R8XX6US-NzoaVAP1($mvpR8Knc_yaE6#*G_|`UBpwEK^WWAfC>jKcBV7!lV|P zH*Xd%!^6X3LJ)tt(V_jSmlQXN-kv>steG=simLiiJ565utE;OG`Z^xhCY}KREnBus zNO2M@-^lz0X> z9g?hfbB^bGzqYp4G&VMxnwn~J@nWMP+2_xnXEu)MXB>Y$^pi?X1SAFjR6WjONlA$r z7#MIty?*`LjEszAHjbTwK6Xhig-`-^?b_v<=DT1Cb;! zj-JygIN*O}z!K~@{l9wkN@l>KMT;b%wzf7Qp{1q8R8&+LT9T)qgwbOLV28x{4_pL` zi;K;J2M=7Kvbs*3IMLPTJ%IJHvNCh`?%m7~IN)U?>VL|VDH*euFJH=8)sDi#0@K^u zYiJRY$3J>1*vI+z%>d3Gto8TzXU^o|!-osF-)?{1x;1iDWgI>92?8u|z;n(D4KS!x z|5K+!rcGx4}fty6sKi6@2dAV%Zfy>$K==j%c+46&#H*cOXekA+zi0)2GIM9x=2C{fwiBzCJrZ2zX)sT?8;G zLV)^z`}VB_eeGI{&wqXWj)L;?*|G*yRFvBb;SN`P_{WZF(|^4Gq8Kl)O5^9vpx0z>Ql2utRV1MM2cLIURbx7s%OB7KZvwg2v&DjeTNH z0+(nScXxMZz<9f(!pl!*@xp!ul?YGmb8SglZF%`gp;U#Mp^9C;kB!ImLPQON+GEF# zNq1FMm9%wrbuKlCAh6F(f+l}Y;t0u;baQjF9NRNPS_&sgB$gpSjvqg6@q%;CoH>GN z2Vu^hJ!^k2P-SM%E|b1>>(d zJKs!}2?8Nzy;G12IR$@-kAVIAf3{YxTq)BB1`*bQBvqXt2VbL)Scw@S2QCG2A~$b5 zJ_1x>aBxr<)cPI|JvVOLFl*MVQI&75<<3Nm#L5gHc4h&&gh?m?_T!|~^)TcX$mb`+ z!y{(Hh7FN-jxa}Gs-GB%RZHX4CdnmCd<0NYMPLsQYHBN1tT2D4PW}GLwZgC<^4U*4 zl30nE*vWxh5Y5f$&-Wmt%&8JzVvUvLHRg{+U2E;yI{7+9`@Ol*?<0UtEl;zUT)EOb zCeA!@J4H!YwW>B#B6p7KzV8yy0ot24{~43XYYvb=4pHJGfN8?xV_VxzGk5OXDBCeH zMh@gcPKho7{z*2meVjsLBFU&A_wD;h?poWo@9;eXMA@ZdDFZ13-v|0!W Q&;S4c07*qoM6N<$f>!d*`Tzg` diff --git a/Resources/Textures/Mobs/Customization/Moth/moth_wings.rsi/underwing_secondary.png b/Resources/Textures/Mobs/Customization/Moth/moth_wings.rsi/underwing_secondary.png index 9d6048827577cb8a6c620203178fbd74205970b6..86db1554bf4cec8fd648b76c065b90fa3df7e30d 100644 GIT binary patch delta 853 zcmV-b1FHPf5R?(HO$C1gF-b&0RCodHnmubGK^Vu!ctzAm8ZVu;BKQRo(b`X8BO#?4 zQSgFg4sw-k5D~1?1nulhndIygzkpz_5@NmQe_%jmcjv|3)4O{XM0cLI|MQ!1791I) ziwF<_B0vO)01+SpM1Tko0U|&IhyW2F0z|->Kqiy1oUM$>>~4Rthq9gM6b=LeuI@6s zYw)ofRcBY#?^ycPS^>u*+Djcu0CZ&Zcxa?QAr#U{%FpF@~4jC2YE@ zPYS@Un95ipkx+keQ}W4XvwUXpl)+3-r_-&O#y!TxQ%Lx$B$on+$KyPY>eoQkPemMj zy4|i7379*bUtV7F7ix&l7&oc^MMdb{-M7GcGvu@D=KuQo%4Y)pZhpG9&H7JIPkg3}#Uf9G zneTKu?EL(k4F&`4`ko5aZOp{~@$r$bu3Rq1QmIrx>;a?Eh~3=W{B`}9FyJxs`J96g z@5YHJkO+Se0U|&IhyW2F0z`la5CI}U1c(3;P$qDDd+X`XUdn}S9QV;8{ZZ7W9y2|K zvCHMvn5iZs0A7hchCBqoWER8;j7h9tF{YY~RzN5e@~aQyynj^FKD(}Qhmt^OGT8{V zS3tktKbptiE|ZfJ?RJ<}1PGs=p0degvRnJ$_t1X?ZMv&K8Nh5d<44e~R*S7xtAjVZ zD*&3H4aelrx@&j3S2{{U!g9IHaPo^nFE1}jaZW}38pr)qw zXYZe%pS*d~$Bkc2Z{~$IOc1m}v(8G`%(L}5pU+z$i=$_+kG;1Fd2|Df&gUT00000NkvXXu0mjfN*bQr delta 788 zcmV+v1MB>h5z`Q`O$C1f@JU2LRCodHn!Ac3K@^5d-M|ZC;?66GkD#KlPhlcr=miwq z!DN=%*mMvPj7>J}`8;DZS; z0Vco%m;e)C0!)AjFaajO1egF5U;<2l2`~XBzyuzbz-%_NoYa50jXU|;$HMlTN55Vy z7FIkSca({7*d2`?gUSF3g@RIYRX-0+jwa+yr_%x-r$gF;)>i^hE|-;>m%@Vj%Q&}l zu~?+~p-@O*rgyvDl^)z<9CjSi-z}eg+!w%jJf>pFWYQkzdJR9zvV@FtbyPGUPb3nd z=6b!JXfzrWDItHzGsa;D1o*4g_XY6&{#$f99V(j7=dZ|r>;ZN(-|cn<;!GUK)9?4G zvD4{9=T@tAl^XYGT-xDpsy-EZef?z}k4I~>*?0ng9e(h?Qh4Kyy*?o4ayj}St-Qv# zPW^8x+Mb_(gr1(h)9iZruh(mu3HW>Y1-04hPp4Cw>1uzqN@+0jqtQsDQYkT?&jZ&t zDl}+gI{t5OZ?w8frIN^IvmyBoST2{MUa$Xi{pc{Dn8V>fAmmv)5eG5>Ccp%k025#W zOn?b60Vco%m;e)C0?Gv1?Y7aMy_5?(INqYg_eW8OdO~*>#wnMnF-y<&7VX{~@*EOxIxwDbNoO?cVd^48Vv&?gX@bY6skS3o!%IK)S~IkS$o zK;3|FG#VA#?be)XLz$on+JdeEWdQsAp0=O|gMqkQE{0^AO9M^NhHY|aRn4rlm4t-N zW|OwPQE0VVDaEOZFy)8;1tby)+8+drOeW*2(|3Obpn2@QpU-ESdEKuYQ%!p1fi_GK zv_f-`mEf8e|Mmb`Y(1Oa_I53Lg8>?$6`G;_<>jaHP|ImX;9-QkVfj_@VOP-#G Sx{(Y30000 Date: Tue, 18 Jun 2024 19:28:30 -0700 Subject: [PATCH 034/101] Add some happier medibot messages! (#29147) * Happy! * opps * one more --- .../Locale/en-US/advertisements/other/medibot.ftl | 10 +++++++++- .../Catalog/VendingMachines/advertisements.yml | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/Resources/Locale/en-US/advertisements/other/medibot.ftl b/Resources/Locale/en-US/advertisements/other/medibot.ftl index 9e919ce49f3..2f58912228d 100644 --- a/Resources/Locale/en-US/advertisements/other/medibot.ftl +++ b/Resources/Locale/en-US/advertisements/other/medibot.ftl @@ -5,5 +5,13 @@ advertisement-medibot-4 = An apple a day keeps me away. advertisement-medibot-5 = I'm different! advertisement-medibot-6 = Fuck you. advertisement-medibot-7 = Why are we still here? Just to suffer? -advertisement-medibot-8 = I...I've never lost a patient before. Not today, I mean. +advertisement-medibot-8 = I... I've never lost a patient before. Not today, I mean. advertisement-medibot-9 = Lexorin in. +advertisement-medibot-10 = Have a great day! +advertisement-medibot-11 = Hopefully you wont need to come back! +advertisement-medibot-12 = Remember to brush your teeth. +advertisement-medibot-13 = I wish I had hands. +advertisement-medibot-14 = I'm here to help! +advertisement-medibot-15 = Ask a doctor for a lollipop! +advertisement-medibot-16 = Feel better soon! +advertisement-medibot-17 = An apple a day keeps the doctor away! diff --git a/Resources/Prototypes/Catalog/VendingMachines/advertisements.yml b/Resources/Prototypes/Catalog/VendingMachines/advertisements.yml index c0052dba07c..aa25e87a528 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/advertisements.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/advertisements.yml @@ -260,4 +260,4 @@ id: MedibotAds values: prefix: advertisement-medibot- - count: 9 + count: 17 From 3901cda657a3a64123f68e4550c11b0fc8bb48ca Mon Sep 17 00:00:00 2001 From: PJBot Date: Wed, 19 Jun 2024 02:29:36 +0000 Subject: [PATCH 035/101] 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 e056aab071d..83b65dd1f42 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: RiceMar - changes: - - message: Added milk cartons to the BoozeOMat vendor. Got milk? - type: Add - id: 6277 - time: '2024-04-01T00:07:30.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/26635 - author: nikthechampiongr changes: - message: Radio jammers now actually block suit sensors. @@ -3850,3 +3843,10 @@ id: 6776 time: '2024-06-19T02:04:04.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/29082 +- author: Beck Thompson, UbaserB + changes: + - message: Added some happier messages for the medibot! + type: Add + id: 6777 + time: '2024-06-19T02:28:30.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/29147 From f7db648e5f96936e58de9a29bf6d09f01331cb8f Mon Sep 17 00:00:00 2001 From: HS <81934438+HolySSSS@users.noreply.github.com> Date: Wed, 19 Jun 2024 05:41:41 +0300 Subject: [PATCH 036/101] shorten short raffle (#28685) --- Resources/Prototypes/GhostRoleRaffles/settings.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Resources/Prototypes/GhostRoleRaffles/settings.yml b/Resources/Prototypes/GhostRoleRaffles/settings.yml index 7ed9326ee01..73700404f27 100644 --- a/Resources/Prototypes/GhostRoleRaffles/settings.yml +++ b/Resources/Prototypes/GhostRoleRaffles/settings.yml @@ -11,5 +11,5 @@ id: short settings: initialDuration: 10 - joinExtendsDurationBy: 5 - maxDuration: 30 + joinExtendsDurationBy: 2 + maxDuration: 15 From 8d52c1aeb3e2536677830dfb50029a120572c39b Mon Sep 17 00:00:00 2001 From: PJBot Date: Wed, 19 Jun 2024 02:42:47 +0000 Subject: [PATCH 037/101] 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 83b65dd1f42..c1fc9781eea 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: nikthechampiongr - changes: - - message: Radio jammers now actually block suit sensors. - type: Fix - id: 6278 - time: '2024-04-01T02:13:52.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/26632 - author: Flareguy changes: - message: All wheeled objects now have lower friction. Portable items, like fuel @@ -3850,3 +3843,10 @@ id: 6777 time: '2024-06-19T02:28:30.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/29147 +- author: HolySSSS + changes: + - message: Short Raffle is now much shorter. + type: Tweak + id: 6778 + time: '2024-06-19T02:41:42.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/28685 From 9cd08b84d950c51aa6e6ca78273bc43b11c1e2bd Mon Sep 17 00:00:00 2001 From: Plykiya <58439124+Plykiya@users.noreply.github.com> Date: Tue, 18 Jun 2024 20:18:45 -0700 Subject: [PATCH 038/101] Fix some lathe recipe textures showing up blank (#28683) * Update lathes to use entity prototype * ScrollContainer my hero * gets rid of excess newlines --------- Co-authored-by: plykiya --- Content.Client/Lathe/UI/LatheMenu.xaml | 26 ++++++------ Content.Client/Lathe/UI/LatheMenu.xaml.cs | 40 ++++++++++--------- Content.Client/Lathe/UI/RecipeControl.xaml | 6 +-- Content.Client/Lathe/UI/RecipeControl.xaml.cs | 6 ++- 4 files changed, 41 insertions(+), 37 deletions(-) diff --git a/Content.Client/Lathe/UI/LatheMenu.xaml b/Content.Client/Lathe/UI/LatheMenu.xaml index 6f484d8c7be..e3247fe7037 100644 --- a/Content.Client/Lathe/UI/LatheMenu.xaml +++ b/Content.Client/Lathe/UI/LatheMenu.xaml @@ -100,12 +100,11 @@ Margin="5 0 0 0" Text="{Loc 'lathe-menu-fabricating-message'}"> - - +