From 9430e2d53c67801a2d9cfb8abffe9ddd6b6a4dfa Mon Sep 17 00:00:00 2001 From: Remuchi <72476615+Remuchi@users.noreply.github.com> Date: Fri, 1 Mar 2024 15:51:17 +0700 Subject: [PATCH] =?UTF-8?q?=D0=92=D1=81=D1=8F=D0=BA=D0=BE=D0=B5=20=D0=BF?= =?UTF-8?q?=D0=BE=20=D0=BC=D0=B5=D0=BB=D0=BE=D1=87=D0=B8=20(#148)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: у мартышек снова отображается одежда * fix: с зеркалом снова можно взаимодействовать * tweak: шлюзы культа теперь работают как двери, а не шлюзы * remove: убрано отображение текущего патрона у револьверов * add: новые плитки для мапперов --- .../Clothing/ClientClothingSystem.cs | 20 +-- .../Ranged/Systems/GunSystem.AmmoCounter.cs | 18 +- .../Ranged/Systems/GunSystem.Revolver.cs | 2 +- .../MagicMirror/MagicMirrorSystem.cs | 112 +++++++----- Resources/Locale/en-US/_white/tiles.ftl | 11 ++ Resources/Locale/ru-RU/weapons/ranged/gun.ftl | 4 +- .../Entities/Structures/Wallmounts/mirror.yml | 31 ++-- Resources/Prototypes/White/Tiles/floors.yml | 162 ++++++++++++++++++ .../_White/Entities/Cult/other_structures.yml | 49 +----- .../Structures/cult_airlock.rsi/assembly.png | Bin 1313 -> 1294 bytes .../cult_airlock.rsi/bolted_open_unlit.png | Bin 120 -> 0 bytes .../cult_airlock.rsi/bolted_unlit.png | Bin 298 -> 0 bytes .../Structures/cult_airlock.rsi/closed.png | Bin 1339 -> 1326 bytes .../cult_airlock.rsi/closed_unlit.png | Bin 120 -> 0 bytes .../Structures/cult_airlock.rsi/closing.png | Bin 2850 -> 3568 bytes .../cult_airlock.rsi/closing_unlit.png | Bin 946 -> 0 bytes .../cult_airlock.rsi/deny_unlit.png | Bin 675 -> 0 bytes .../cult_airlock.rsi/emergency_open_unlit.png | Bin 120 -> 0 bytes .../cult_airlock.rsi/emergency_unlit.png | Bin 312 -> 0 bytes .../Structures/cult_airlock.rsi/meta.json | 151 ---------------- .../cult_airlock.rsi/open_unlit.png | Bin 120 -> 0 bytes .../Structures/cult_airlock.rsi/opening.png | Bin 2818 -> 3099 bytes .../cult_airlock.rsi/opening_unlit.png | Bin 962 -> 0 bytes .../cult_airlock.rsi/panel_closed.png | Bin 328 -> 0 bytes .../cult_airlock.rsi/panel_closing.png | Bin 576 -> 0 bytes .../cult_airlock.rsi/panel_open.png | Bin 120 -> 0 bytes .../cult_airlock.rsi/panel_opening.png | Bin 617 -> 0 bytes .../Structures/cult_airlock.rsi/sparks.png | Bin 1154 -> 0 bytes .../cult_airlock.rsi/sparks_broken.png | Bin 448 -> 0 bytes .../cult_airlock.rsi/sparks_damaged.png | Bin 507 -> 0 bytes .../cult_airlock.rsi/sparks_open.png | Bin 420 -> 0 bytes .../Structures/cult_airlock.rsi/welded.png | Bin 356 -> 0 bytes .../Textures/White/Tiles/dark_herringbone.png | Bin 0 -> 337 bytes .../Textures/White/Tiles/dark_pavement.png | Bin 0 -> 247 bytes .../White/Tiles/dark_pavement_vertical.png | Bin 0 -> 252 bytes .../White/Tiles/steel_herringbone.png | Bin 0 -> 337 bytes .../Textures/White/Tiles/steel_pavement.png | Bin 0 -> 247 bytes .../White/Tiles/steel_pavement_vertical.png | Bin 0 -> 252 bytes .../White/Tiles/white_herringbone.png | Bin 0 -> 337 bytes .../Textures/White/Tiles/white_pavement.png | Bin 0 -> 247 bytes .../White/Tiles/white_pavement_vertical.png | Bin 0 -> 252 bytes 41 files changed, 284 insertions(+), 276 deletions(-) create mode 100644 Resources/Locale/en-US/_white/tiles.ftl create mode 100644 Resources/Prototypes/White/Tiles/floors.yml delete mode 100644 Resources/Textures/White/Cult/Structures/cult_airlock.rsi/bolted_open_unlit.png delete mode 100644 Resources/Textures/White/Cult/Structures/cult_airlock.rsi/bolted_unlit.png delete mode 100644 Resources/Textures/White/Cult/Structures/cult_airlock.rsi/closed_unlit.png delete mode 100644 Resources/Textures/White/Cult/Structures/cult_airlock.rsi/closing_unlit.png delete mode 100644 Resources/Textures/White/Cult/Structures/cult_airlock.rsi/deny_unlit.png delete mode 100644 Resources/Textures/White/Cult/Structures/cult_airlock.rsi/emergency_open_unlit.png delete mode 100644 Resources/Textures/White/Cult/Structures/cult_airlock.rsi/emergency_unlit.png delete mode 100644 Resources/Textures/White/Cult/Structures/cult_airlock.rsi/open_unlit.png delete mode 100644 Resources/Textures/White/Cult/Structures/cult_airlock.rsi/opening_unlit.png delete mode 100644 Resources/Textures/White/Cult/Structures/cult_airlock.rsi/panel_closed.png delete mode 100644 Resources/Textures/White/Cult/Structures/cult_airlock.rsi/panel_closing.png delete mode 100644 Resources/Textures/White/Cult/Structures/cult_airlock.rsi/panel_open.png delete mode 100644 Resources/Textures/White/Cult/Structures/cult_airlock.rsi/panel_opening.png delete mode 100644 Resources/Textures/White/Cult/Structures/cult_airlock.rsi/sparks.png delete mode 100644 Resources/Textures/White/Cult/Structures/cult_airlock.rsi/sparks_broken.png delete mode 100644 Resources/Textures/White/Cult/Structures/cult_airlock.rsi/sparks_damaged.png delete mode 100644 Resources/Textures/White/Cult/Structures/cult_airlock.rsi/sparks_open.png delete mode 100644 Resources/Textures/White/Cult/Structures/cult_airlock.rsi/welded.png create mode 100644 Resources/Textures/White/Tiles/dark_herringbone.png create mode 100644 Resources/Textures/White/Tiles/dark_pavement.png create mode 100644 Resources/Textures/White/Tiles/dark_pavement_vertical.png create mode 100644 Resources/Textures/White/Tiles/steel_herringbone.png create mode 100644 Resources/Textures/White/Tiles/steel_pavement.png create mode 100644 Resources/Textures/White/Tiles/steel_pavement_vertical.png create mode 100644 Resources/Textures/White/Tiles/white_herringbone.png create mode 100644 Resources/Textures/White/Tiles/white_pavement.png create mode 100644 Resources/Textures/White/Tiles/white_pavement_vertical.png diff --git a/Content.Client/Clothing/ClientClothingSystem.cs b/Content.Client/Clothing/ClientClothingSystem.cs index 91ed73c89a..7caae65e66 100644 --- a/Content.Client/Clothing/ClientClothingSystem.cs +++ b/Content.Client/Clothing/ClientClothingSystem.cs @@ -102,13 +102,8 @@ public sealed class ClientClothingSystem : ClothingSystem // if that returned nothing, attempt to find generic data if (layers == null && !item.ClothingVisuals.TryGetValue(args.Slot, out layers)) { - if (!TryComp(args.Equipee, out HumanoidAppearanceComponent? humanoid)) - { - return; - } - // No generic data either. Attempt to generate defaults from the item's RSI & item-prefixes - if (!TryGetDefaultVisuals(uid, item, args.Slot, inventory.SpeciesId, humanoid, out layers)) + if (!TryGetDefaultVisuals(uid, item, args.Slot, inventory.SpeciesId, args.Equipee, out layers)) return; } @@ -139,7 +134,7 @@ public sealed class ClientClothingSystem : ClothingSystem ClothingComponent clothing, string slot, string? speciesId, - HumanoidAppearanceComponent humanoid, + EntityUid? target, [NotNullWhen(true)] out List? layers) { layers = null; @@ -166,10 +161,13 @@ public sealed class ClientClothingSystem : ClothingSystem state = $"{clothing.EquippedState}"; // body type specific - var bodyTypeProto = _prototypeManager.Index(humanoid.BodyType); - if (rsi.TryGetState($"{state}-{bodyTypeProto.Name}", out _)) + if (TryComp(target, out HumanoidAppearanceComponent? humanoid)) { - state = $"{state}-{bodyTypeProto.Name}"; + var bodyTypeProto = _prototypeManager.Index(humanoid.BodyType); + if (rsi.TryGetState($"{state}-{bodyTypeProto.Name}", out _)) + { + state = $"{state}-{bodyTypeProto.Name}"; + } } // species specific @@ -389,4 +387,4 @@ public sealed class ClientClothingSystem : ClothingSystem sprite.LayerSetVisible(layer, true); } -} +} \ No newline at end of file diff --git a/Content.Client/Weapons/Ranged/Systems/GunSystem.AmmoCounter.cs b/Content.Client/Weapons/Ranged/Systems/GunSystem.AmmoCounter.cs index 818bc6a67d..10adb001ac 100644 --- a/Content.Client/Weapons/Ranged/Systems/GunSystem.AmmoCounter.cs +++ b/Content.Client/Weapons/Ranged/Systems/GunSystem.AmmoCounter.cs @@ -434,7 +434,7 @@ public sealed partial class GunSystem })); } - public void Update(int currentIndex, bool?[] bullets) + public void Update(bool?[] bullets) { _bulletsList.RemoveAllChildren(); var capacity = bullets.Length; @@ -456,10 +456,10 @@ public sealed partial class GunSystem var texture = StaticIoC.ResC.GetTexture(texturePath); var spentTexture = StaticIoC.ResC.GetTexture("/Textures/Interface/ItemStatus/Bullets/empty.png"); - FillBulletRow(currentIndex, bullets, _bulletsList, texture, spentTexture); + FillBulletRow(bullets, _bulletsList, texture, spentTexture); } - private void FillBulletRow(int currentIndex, bool?[] bullets, Control container, Texture texture, Texture emptyTexture) + private void FillBulletRow(bool?[] bullets, Control container, Texture texture, Texture emptyTexture) { var capacity = bullets.Length; var colorA = Color.FromHex("#b68f0e"); @@ -467,7 +467,6 @@ public sealed partial class GunSystem var colorSpentA = Color.FromHex("#b50e25"); var colorSpentB = Color.FromHex("#d3745f"); var colorGoneA = Color.FromHex("#000000"); - var colorGoneB = Color.FromHex("#222222"); var altColor = false; var scale = 1.3f; @@ -480,15 +479,6 @@ public sealed partial class GunSystem { MinSize = texture.Size * scale, }; - if (i == currentIndex) - { - box.AddChild(new TextureRect - { - Texture = texture, - TextureScale = new Vector2(scale, scale), - ModulateSelfOverride = Color.LimeGreen, - }); - } Color color; Texture bulletTexture = texture; @@ -506,7 +496,7 @@ public sealed partial class GunSystem } else { - color = altColor ? colorGoneA : colorGoneB; + color = colorGoneA; } box.AddChild(new TextureRect diff --git a/Content.Client/Weapons/Ranged/Systems/GunSystem.Revolver.cs b/Content.Client/Weapons/Ranged/Systems/GunSystem.Revolver.cs index 33a4042daf..7f0114d861 100644 --- a/Content.Client/Weapons/Ranged/Systems/GunSystem.Revolver.cs +++ b/Content.Client/Weapons/Ranged/Systems/GunSystem.Revolver.cs @@ -29,7 +29,7 @@ public sealed partial class GunSystem private void OnRevolverAmmoUpdate(EntityUid uid, RevolverAmmoProviderComponent component, UpdateAmmoCounterEvent args) { if (args.Control is not RevolverStatusControl control) return; - control.Update(component.CurrentIndex, component.Chambers); + control.Update(component.Chambers); } private void OnRevolverCounter(EntityUid uid, RevolverAmmoProviderComponent component, AmmoCounterControlEvent args) diff --git a/Content.Server/MagicMirror/MagicMirrorSystem.cs b/Content.Server/MagicMirror/MagicMirrorSystem.cs index aef6e11d71..fbdf56f0ec 100644 --- a/Content.Server/MagicMirror/MagicMirrorSystem.cs +++ b/Content.Server/MagicMirror/MagicMirrorSystem.cs @@ -39,6 +39,7 @@ public sealed class MagicMirrorSystem : EntitySystem subs.Event(OnTryMagicMirrorRemoveSlot); }); + SubscribeLocalEvent(OnMagicMirrorInWorldInteract); SubscribeLocalEvent(OnMagicMirrorInteract); SubscribeLocalEvent(OnSelectSlotDoAfter); @@ -49,9 +50,19 @@ public sealed class MagicMirrorSystem : EntitySystem SubscribeLocalEvent(OnMirrorRangeCheck); } - private void OnMirrorRangeCheck(EntityUid uid, MagicMirrorComponent component, ref BoundUserInterfaceCheckRangeEvent args) + private void OnMagicMirrorInWorldInteract(Entity mirror, ref InteractHandEvent args) { - if (!Exists(component.Target) || !_interaction.InRangeUnobstructed(uid, component.Target.Value)) + UpdateInterface(mirror.Owner, args.User, mirror.Comp); + } + + private void OnMirrorRangeCheck( + EntityUid uid, + MagicMirrorComponent component, + ref BoundUserInterfaceCheckRangeEvent args) + { + component.Target ??= args.Player.AttachedEntity; + + if (!component.Target.HasValue || !_interaction.InRangeUnobstructed(uid, component.Target!.Value)) { args.Result = BoundUserInterfaceRangeResult.Fail; } @@ -92,16 +103,17 @@ public sealed class MagicMirrorSystem : EntitySystem Marking = message.Marking, }; - _doAfterSystem.TryStartDoAfter(new DoAfterArgs(EntityManager, user, component.SelectSlotTime, doAfter, uid, target: target, used: uid) - { - DistanceThreshold = SharedInteractionSystem.InteractionRange, - BreakOnTargetMove = true, - BreakOnDamage = true, - BreakOnHandChange = false, - BreakOnUserMove = true, - BreakOnWeightlessMove = false, - NeedHand = true - }, out var doAfterId); + _doAfterSystem.TryStartDoAfter( + new DoAfterArgs(EntityManager, user, component.SelectSlotTime, doAfter, uid, target: target, used: uid) + { + DistanceThreshold = SharedInteractionSystem.InteractionRange, + BreakOnTargetMove = true, + BreakOnDamage = true, + BreakOnHandChange = false, + BreakOnUserMove = true, + BreakOnWeightlessMove = false, + NeedHand = true + }, out var doAfterId); component.DoAfter = doAfterId; _audio.PlayPvs(component.ChangeHairSound, uid); @@ -134,7 +146,10 @@ public sealed class MagicMirrorSystem : EntitySystem UpdateInterface(uid, component.Target.Value, component); } - private void OnTryMagicMirrorChangeColor(EntityUid uid, MagicMirrorComponent component, MagicMirrorChangeColorMessage message) + private void OnTryMagicMirrorChangeColor( + EntityUid uid, + MagicMirrorComponent component, + MagicMirrorChangeColorMessage message) { if (component.Target is not { } target || message.Session.AttachedEntity is not { } user) return; @@ -149,19 +164,24 @@ public sealed class MagicMirrorSystem : EntitySystem Colors = message.Colors, }; - _doAfterSystem.TryStartDoAfter(new DoAfterArgs(EntityManager, user, component.ChangeSlotTime, doAfter, uid, target: target, used: uid) - { - BreakOnTargetMove = true, - BreakOnDamage = true, - BreakOnHandChange = false, - BreakOnUserMove = true, - BreakOnWeightlessMove = false, - NeedHand = true - }, out var doAfterId); + _doAfterSystem.TryStartDoAfter( + new DoAfterArgs(EntityManager, user, component.ChangeSlotTime, doAfter, uid, target: target, used: uid) + { + BreakOnTargetMove = true, + BreakOnDamage = true, + BreakOnHandChange = false, + BreakOnUserMove = true, + BreakOnWeightlessMove = false, + NeedHand = true + }, out var doAfterId); component.DoAfter = doAfterId; } - private void OnChangeColorDoAfter(EntityUid uid, MagicMirrorComponent component, MagicMirrorChangeColorDoAfterEvent args) + + private void OnChangeColorDoAfter( + EntityUid uid, + MagicMirrorComponent component, + MagicMirrorChangeColorDoAfterEvent args) { if (args.Handled || args.Target == null || args.Cancelled) return; @@ -189,7 +209,10 @@ public sealed class MagicMirrorSystem : EntitySystem // UpdateInterface(uid, component.Target, message.Session); } - private void OnTryMagicMirrorRemoveSlot(EntityUid uid, MagicMirrorComponent component, MagicMirrorRemoveSlotMessage message) + private void OnTryMagicMirrorRemoveSlot( + EntityUid uid, + MagicMirrorComponent component, + MagicMirrorRemoveSlotMessage message) { if (component.Target is not { } target || message.Session.AttachedEntity is not { } user) return; @@ -203,22 +226,26 @@ public sealed class MagicMirrorSystem : EntitySystem Slot = message.Slot, }; - _doAfterSystem.TryStartDoAfter(new DoAfterArgs(EntityManager, user, component.RemoveSlotTime, doAfter, uid, target: target, used: uid) - { - DistanceThreshold = SharedInteractionSystem.InteractionRange, - BreakOnTargetMove = true, - BreakOnDamage = true, - BreakOnHandChange = false, - BreakOnUserMove = true, - BreakOnWeightlessMove = false, - NeedHand = true - }, out var doAfterId); + _doAfterSystem.TryStartDoAfter( + new DoAfterArgs(EntityManager, user, component.RemoveSlotTime, doAfter, uid, target: target, used: uid) + { + DistanceThreshold = SharedInteractionSystem.InteractionRange, + BreakOnTargetMove = true, + BreakOnDamage = true, + BreakOnHandChange = false, + BreakOnUserMove = true, + BreakOnWeightlessMove = false, + NeedHand = true + }, out var doAfterId); component.DoAfter = doAfterId; _audio.PlayPvs(component.ChangeHairSound, uid); } - private void OnRemoveSlotDoAfter(EntityUid uid, MagicMirrorComponent component, MagicMirrorRemoveSlotDoAfterEvent args) + private void OnRemoveSlotDoAfter( + EntityUid uid, + MagicMirrorComponent component, + MagicMirrorRemoveSlotDoAfterEvent args) { if (args.Handled || args.Target == null || args.Cancelled) return; @@ -245,7 +272,10 @@ public sealed class MagicMirrorSystem : EntitySystem UpdateInterface(uid, component.Target.Value, component); } - private void OnTryMagicMirrorAddSlot(EntityUid uid, MagicMirrorComponent component, MagicMirrorAddSlotMessage message) + private void OnTryMagicMirrorAddSlot( + EntityUid uid, + MagicMirrorComponent component, + MagicMirrorAddSlotMessage message) { if (component.Target == null) return; @@ -261,7 +291,8 @@ public sealed class MagicMirrorSystem : EntitySystem Category = message.Category, }; - _doAfterSystem.TryStartDoAfter(new DoAfterArgs(EntityManager, message.Session.AttachedEntity.Value, component.AddSlotTime, doAfter, uid, target: component.Target.Value, used: uid) + _doAfterSystem.TryStartDoAfter(new DoAfterArgs(EntityManager, message.Session.AttachedEntity.Value, + component.AddSlotTime, doAfter, uid, target: component.Target.Value, used: uid) { BreakOnTargetMove = true, BreakOnDamage = true, @@ -274,9 +305,11 @@ public sealed class MagicMirrorSystem : EntitySystem component.DoAfter = doAfterId; _audio.PlayPvs(component.ChangeHairSound, uid); } + private void OnAddSlotDoAfter(EntityUid uid, MagicMirrorComponent component, MagicMirrorAddSlotDoAfterEvent args) { - if (args.Handled || args.Target == null || args.Cancelled || !TryComp(component.Target, out HumanoidAppearanceComponent? humanoid)) + if (args.Handled || args.Target == null || args.Cancelled || + !TryComp(component.Target, out HumanoidAppearanceComponent? humanoid)) return; MarkingCategories category; @@ -301,7 +334,6 @@ public sealed class MagicMirrorSystem : EntitySystem _humanoid.AddMarking(component.Target.Value, marking, Color.Black); UpdateInterface(uid, component.Target.Value, component); - } private void UpdateInterface(EntityUid mirrorUid, EntityUid targetUid, MagicMirrorComponent component) @@ -332,4 +364,4 @@ public sealed class MagicMirrorSystem : EntitySystem { ent.Comp.Target = null; } -} +} \ No newline at end of file diff --git a/Resources/Locale/en-US/_white/tiles.ftl b/Resources/Locale/en-US/_white/tiles.ftl new file mode 100644 index 0000000000..55d061390d --- /dev/null +++ b/Resources/Locale/en-US/_white/tiles.ftl @@ -0,0 +1,11 @@ +tiles-dark-floor-pavement-alt = тёмное стальное покрытие (альтернативное) +tiles-dark-floor-pavement-vertical-alt = тёмное стальное вертикальное покрытие (альтернативное) +tiles-dark-floor-herringbone-alt = тёмное стальное покрытие мозаикой (альтернативное) + +tiles-steel-floor-pavement-alt = стальное покрытие (альтернативное) +tiles-steel-floor-pavement-vertical-alt = стальное вертикальное покрытие (альтернативное) +tiles-steel-floor-herringbone-alt = стальное покрытие мозаикой (альтернативное) + +tiles-white-floor-pavement-alt = белое стальное покрытие (альтернативное) +tiles-white-floor-pavement-vertical-alt = белое стальное вертикальное покрытие (альтернативное) +tiles-white-floor-herringbone-alt = белое стальное покрытие мозаикой (альтернативное) \ No newline at end of file diff --git a/Resources/Locale/ru-RU/weapons/ranged/gun.ftl b/Resources/Locale/ru-RU/weapons/ranged/gun.ftl index 5327e8c7e7..32376ea599 100644 --- a/Resources/Locale/ru-RU/weapons/ranged/gun.ftl +++ b/Resources/Locale/ru-RU/weapons/ranged/gun.ftl @@ -35,8 +35,8 @@ gun-chamber-bolt-closed = Затвор закрыт gun-chamber-bolt-opened = Затвор открыт gun-chamber-bolt-close = Закрыть завтор gun-chamber-bolt-open = Открыть затвор -gun-chamber-bolt-closed-state = закрыт -gun-chamber-bolt-open-state = открыт +gun-chamber-bolt-closed-state = открыт +gun-chamber-bolt-open-state = закрыт gun-chamber-rack = Разрядить # MagazineAmmoProvider diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/mirror.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/mirror.yml index b524f099bf..4ab44e0837 100644 --- a/Resources/Prototypes/Entities/Structures/Wallmounts/mirror.yml +++ b/Resources/Prototypes/Entities/Structures/Wallmounts/mirror.yml @@ -3,18 +3,19 @@ name: mirror description: 'Mirror mirror on the wall , who''s the most robust of them all?' components: - - type: WallMount - - type: Sprite - sprite: Structures/Wallmounts/mirror.rsi - state: mirror - - type: InteractionOutline - - type: Clickable - - type: Transform - anchored: true - - type: MagicMirror - - type: ActivatableUI - key: enum.MagicMirrorUiKey.Key - - type: UserInterface - interfaces: - - key: enum.MagicMirrorUiKey.Key - type: MagicMirrorBoundUserInterface + - type: WallMount + - type: Sprite + sprite: Structures/Wallmounts/mirror.rsi + state: mirror + - type: InteractionOutline + - type: Clickable + - type: Transform + anchored: true + - type: MagicMirror + - type: ActivatableUI + key: enum.MagicMirrorUiKey.Key + singleUser: true + - type: UserInterface + interfaces: + - key: enum.MagicMirrorUiKey.Key + type: MagicMirrorBoundUserInterface diff --git a/Resources/Prototypes/White/Tiles/floors.yml b/Resources/Prototypes/White/Tiles/floors.yml new file mode 100644 index 0000000000..1f8233470f --- /dev/null +++ b/Resources/Prototypes/White/Tiles/floors.yml @@ -0,0 +1,162 @@ +- type: tile + id: FloorDarkPavementAlt + name: tiles-dark-floor-pavement-alt + sprite: /Textures/White/Tiles/dark_pavement.png + variants: 4 + placementVariants: + - 1.0 + - 1.0 + - 1.0 + - 1.0 + baseTurf: Plating + isSubfloor: false + deconstructTools: [ Prying ] + footstepSounds: + collection: FootstepTile + itemDrop: FloorTileItemDark + heatCapacity: 10000 + +- type: tile + id: FloorDarkPavementVerticalAlt + name: tiles-dark-floor-pavement-vertical-alt + sprite: /Textures/White/Tiles/dark_pavement_vertical.png + variants: 4 + placementVariants: + - 1.0 + - 1.0 + - 1.0 + - 1.0 + baseTurf: Plating + isSubfloor: false + deconstructTools: [ Prying ] + footstepSounds: + collection: FootstepTile + itemDrop: FloorTileItemDark + heatCapacity: 10000 + + +- type: tile + id: FloorDarkHerringboneAlt + name: tiles-dark-floor-herringbone-alt + sprite: /Textures/White/Tiles/dark_herringbone.png + variants: 4 + placementVariants: + - 1.0 + - 1.0 + - 1.0 + - 1.0 + baseTurf: Plating + isSubfloor: false + deconstructTools: [ Prying ] + footstepSounds: + collection: FootstepTile + itemDrop: FloorTileItemDark + heatCapacity: 10000 + +- type: tile + id: FloorSteelHerringboneAlt + name: tiles-steel-floor-herringbone-alt + sprite: /Textures/White/Tiles/steel_herringbone.png + variants: 4 + placementVariants: + - 1.0 + - 1.0 + - 1.0 + - 1.0 + baseTurf: Plating + isSubfloor: false + deconstructTools: [ Prying ] + footstepSounds: + collection: FootstepTile + itemDrop: FloorTileItemSteel + heatCapacity: 10000 + +- type: tile + id: FloorSteelPavementAlt + name: tiles-steel-floor-pavement-alt + sprite: /Textures/White/Tiles/steel_pavement.png + variants: 4 + placementVariants: + - 1.0 + - 1.0 + - 1.0 + - 1.0 + baseTurf: Plating + isSubfloor: false + deconstructTools: [ Prying ] + footstepSounds: + collection: FootstepFloor + itemDrop: FloorTileItemSteel + heatCapacity: 10000 + +- type: tile + id: FloorSteelPavementVerticalAlt + name: tiles-steel-floor-pavement-vertical-alt + sprite: /Textures/White/Tiles/steel_pavement_vertical.png + variants: 4 + placementVariants: + - 1.0 + - 1.0 + - 1.0 + - 1.0 + baseTurf: Plating + isSubfloor: false + deconstructTools: [ Prying ] + footstepSounds: + collection: FootstepTile + itemDrop: FloorTileItemSteel + heatCapacity: 10000 + +- type: tile + id: FloorWhiteHerringboneAlt + name: tiles-white-floor-herringbone-alt + sprite: /Textures/White/Tiles/white_herringbone.png + variants: 4 + placementVariants: + - 1.0 + - 1.0 + - 1.0 + - 1.0 + baseTurf: Plating + isSubfloor: false + deconstructTools: [ Prying ] + footstepSounds: + collection: FootstepTile + itemDrop: FloorTileItemWhite + heatCapacity: 10000 + +- type: tile + id: FloorWhitePavementAlt + name: tiles-white-floor-pavement-alt + sprite: /Textures/White/Tiles/white_pavement.png + variants: 4 + placementVariants: + - 1.0 + - 1.0 + - 1.0 + - 1.0 + baseTurf: Plating + isSubfloor: false + deconstructTools: [ Prying ] + footstepSounds: + collection: FootstepTile + itemDrop: FloorTileItemWhite + heatCapacity: 10000 + +- type: tile + id: FloorWhitePavementVerticalAlt + name: tiles-white-floor-pavement-vertical-alt + sprite: /Textures/White/Tiles/white_pavement_vertical.png + variants: 4 + placementVariants: + - 1.0 + - 1.0 + - 1.0 + - 1.0 + baseTurf: Plating + isSubfloor: false + deconstructTools: [ Prying ] + footstepSounds: + collection: FootstepTile + itemDrop: FloorTileItemWhite + heatCapacity: 10000 \ No newline at end of file diff --git a/Resources/Prototypes/_White/Entities/Cult/other_structures.yml b/Resources/Prototypes/_White/Entities/Cult/other_structures.yml index c28c71133b..a5ff612833 100644 --- a/Resources/Prototypes/_White/Entities/Cult/other_structures.yml +++ b/Resources/Prototypes/_White/Entities/Cult/other_structures.yml @@ -1,6 +1,6 @@ - type: entity id: AirlockGlassCult - parent: BaseStructure + parent: BaseMaterialDoor name: runic airlock description: Strange glass airlock with a rune. components: @@ -8,65 +8,32 @@ soundGroups: Brute: collection: GlassSmash - - type: InteractionOutline - type: Sprite sprite: /Textures/White/Cult/Structures/cult_airlock.rsi layers: - state: closed map: ["enum.DoorVisualLayers.Base"] - - state: closed_unlit - shader: unshaded - map: ["enum.DoorVisualLayers.BaseUnlit"] - - state: welded - map: ["enum.WeldableLayers.BaseWelded"] - visible: false - - state: bolted_unlit - shader: unshaded - map: ["enum.DoorVisualLayers.BaseBolted"] - - state: emergency_unlit - map: ["enum.DoorVisualLayers.BaseEmergencyAccess"] - shader: unshaded - - state: panel_closed - map: ["enum.WiresVisualLayers.MaintenancePanel"] - visible: false - - type: AnimationPlayer - type: Physics - - type: Fixtures - fixtures: - fix1: - shape: - !type:PhysShapeAabb - bounds: "-0.49,-0.49,0.49,0.49" # don't want this colliding with walls or they won't close - density: 100 - mask: - - FullTileMask - layer: - - GlassAirlockLayer + bodyType: Static + - type: Occluder + enabled: false - type: Door occludes: false + bumpOpen: true crushDamage: types: Blunt: 15 openSound: - path: /Audio/Machines/airlock_open.ogg + path: /Audio/Effects/stonedoor_openclose.ogg closeSound: - path: /Audio/Machines/airlock_close.ogg + path: /Audio/Effects/stonedoor_openclose.ogg denySound: path: /Audio/Machines/airlock_deny.ogg - - type: Airlock - openUnlitVisible: true - - type: DoorBolt - - type: Appearance - type: Airtight fixVacuum: true noAirWhenFullyAirBlocked: false - type: RadiationBlocker resistance: 2 - - type: Occluder - enabled: false - - type: Damageable - damageContainer: Inorganic - damageModifierSet: Metallic - type: Destructible thresholds: - trigger: @@ -76,8 +43,6 @@ - !type:DoActsBehavior acts: ["Destruction"] - type: RunicDoor - - type: ApcPowerReceiver - needsPower: false - type: Construction graph: AirlockGlassCult node: airlock diff --git a/Resources/Textures/White/Cult/Structures/cult_airlock.rsi/assembly.png b/Resources/Textures/White/Cult/Structures/cult_airlock.rsi/assembly.png index 7777aaa31e7a72a5c051bfac77bebf691ed22745..78560839457e5378b5e5dd6f4482ade3243b3a4e 100644 GIT binary patch delta 1275 zcmVIkpo-`zCl2W$$4ZuZNsMF(4XYZA(_mZn8nSD% z?qNOa*cMP>j1tKo^Ajwth> zR@q>xLqQo!>VG)^Kq3T4Cfi%NoMReRI<^L-0Dxm<1_10Y?{JF-rLCjM$OaQ3a=~{2 z1l(W40y9FG1}ZfTiA18!*8&s7YJvIvK5?I!1Pn?c5pr*t(%qxU$TL~;TT`$ao_JwU zItD=J2A*GB;#isK2Jb*`weHS;2h8vJ#U;zkm_&#UK!2AA(U-5P8FbRkQd>4Cy$|5_ zK`ytEE)=mn9rF;gFB=xy(=ntAMLZFNH2}A4NQ9Jm0ZduZpfnnmW$e$!9Yl4lVgKH} z9j)hZT#gL$0ssI8rST_%uy$ga8UFo}dXD8Qt7?yx89ck^X#;TEyK$;0>+`DmGxth& z2w=fa6@O)2BBaPWA5BJZG-<8dN=@q*&)d=eiuOCL`(445tN!}pXgetV4Xzx!lAd-{Mx$eBUu+|Us@4AUjQe)kTG z{_b{d3*f2~ECZ~M^H>qZp2x2hQN$mQ9(n8;M<5V@q9~YNSiqmFs|W-FT>*UBdGy)~ zUYiD*TFoP3E0^=-^Ld|UTHnO7!8o$nEPn_g__9<&Fc`Fpk*$I=060~Yr}L`1=ML(w z?j6195$3jc*Ue(7^z@roukil*Ium{KW___#TIVw`#|(K9tc$tH2JHpBJ>!^H)x8tb z%0jCIEy1gb!+! zUjRUC7){8M9|yI{Ps>-;j6_Jypfrrm_UqnSB|-qevmtFIlWo9zC`DKBCjesrjDuQb z695`U)4G`OCu1HBqv^R|40AEzF?5Jq0DxFDf`-vV%WT`DSMX85j&OsxMRtwq7p$%| z9G8t@z}xrZwr@u6TToqV*dr8_9f#6kz}xrp6(7W{V!64wfyPat@3WBoTQjX^%{#>o lur|#6nSC$c@$qp0z<&eXud$=j>4*RT002ovPDHLkV1g)FYSjP$ delta 1295 zcmV+q1@QWg3ZV*+BYyw^b5ch_0Itp)=>Px(+et)0R9Jj zW6Msu8JwC#$Kpe8p^$^=sfYSvAA0L8U{?mpAkBKTaxAI+VPJQ7?|=WkdHZH2GJiTcdPJ94Utf=e=l%;1 zfKk~i0+76Lk()Pfl1`<#(BB^z?7n?Vu~cGZWre-nH^h_a&yvNXJ^&x0W=C8Ak*}{^ zZL55{xW`~R2|&er20G91xfZ)p; z+=eG*ZK*GLSBWsR;17XV_zP5EMTqZFDpwdC9X--(K?zc|p#1(womVC?PfAQ7&P+)8 zaH%hO$1;2BOE8s4J@BMF3%J_g-s^3a?cw9#4Y;*h+kez6zk9E@Rc6kbLb!ly3gJ$? z+sn~Nw@Pi%lkz<9v43^-?(}AXxuL-pV)bR6Vs2=V>CFPyqtRQyM>R|#in;)$tl&wR zPFNO?E@hgC_AAxk`QgXzdXC1`lwn-}0G^bY>(S_~HQ&$a^W)AI6YuI(yKE10=S)i* zAZ#DThJS6(j5y9O+LYTQKn35h?HN;ug6_Q3mt?80{@<3$l~aQ&kzpa8lo?%wCuJrO z;7OTLYeM}`h(W#B#+@yC;}*Sf3xFS!X@0tJv85Z%X0u1L*=$ocT(*aUf^95sMvM0{ z5MT;X9C4ic8@ByGC!K$@+wuoIsnrPg05$*2_kUWlG5=;)J;qES3TwWfYZRmfjaKYQ znI;--ah@9*B-Jw89p;7xF@Wa-1NX?|`R;FS{dR!sx=jLTWTMb0kXI^wI#DN3wz`krQ@;HDDnESxA$V`; z1EvtKJSneq98p6jUGke3FSyZjyuAkkwCY4$bLU+wG= zkH>>zRDZ!MfDPNeJ>obE;h^E_o_7yhgoW+Hb#r59=k~WxpYrnk`&@cuW#-1t&WxUc zE6Pw8p}JU@tleIq+bfO{$5~kO{hZzr0|6%$-t=an=^Uq%ce5MD41?*-0_AEIwSULx zBJ}e>AY#q;bE*%VgmxLwaqsmuk1l0+o6XMX^QI901_Bn#r3K)kDa3nE$}6T2`%o{S za7XK8H-zI(s1k~(J8nZ=yG{$XU#SKMl1`!9pT-^BjKa5|{Yo_$y>YAQP}&J}`_p`l{!G1C z4h{~eXiFIRqBnT1`1SWno4coK!^&UTpX7V)+&KU~0hV!^$JZb|hX4Qo00>D%PDHLk FV1m@}eqsOs diff --git a/Resources/Textures/White/Cult/Structures/cult_airlock.rsi/bolted_open_unlit.png b/Resources/Textures/White/Cult/Structures/cult_airlock.rsi/bolted_open_unlit.png deleted file mode 100644 index 4c59d3a28cc502fc1f6032b5fd6f636f07677cc8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 120 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 diff --git a/Resources/Textures/White/Cult/Structures/cult_airlock.rsi/meta.json b/Resources/Textures/White/Cult/Structures/cult_airlock.rsi/meta.json index c48f5e427e..6f47311d80 100644 --- a/Resources/Textures/White/Cult/Structures/cult_airlock.rsi/meta.json +++ b/Resources/Textures/White/Cult/Structures/cult_airlock.rsi/meta.json @@ -41,157 +41,6 @@ }, { "name": "assembly" - }, - { - "name": "bolted_unlit" - }, - { - "name": "welded" - }, - { - "name": "closing_unlit", - "delays": [ - [ - 0.1, - 0.1, - 0.1, - 0.1, - 0.1, - 0.1 - ] - ] - }, - { - "name": "deny_unlit", - "delays": [ - [ - 0.1, - 0.1, - 0.1, - 0.1, - 0.1, - 0.1 - ] - ] - }, - { - "name": "emergency_unlit", - "delays": [ - [ - 1.2, - 1.2 - ] - ] - }, - { - "name": "opening_unlit", - "delays": [ - [ - 0.1, - 0.1, - 0.1, - 0.1, - 0.1, - 0.1 - ] - ] - }, - { - "name": "panel_closed" - }, - { - "name": "panel_open" - }, - { - "name": "panel_opening", - "delays": [ - [ - 0.1, - 0.1, - 0.1, - 0.1, - 0.1, - 0.1 - ] - ] - }, - { - "name": "panel_closing", - "delays": [ - [ - 0.1, - 0.1, - 0.1, - 0.1, - 0.1, - 0.1 - ] - ] - }, - { - "name": "sparks", - "delays": [ - [ - 0.1, - 0.1, - 0.1, - 0.1, - 0.1, - 0.1 - ] - ] - }, - { - "name": "sparks_damaged", - "delays": [ - [ - 0.1, - 0.1, - 0.1, - 0.1, - 0.1, - 0.1, - 1.7 - ] - ] - }, - { - "name": "sparks_open", - "delays": [ - [ - 0.1, - 0.1, - 0.1, - 0.1, - 0.1, - 0.1 - ] - ] - }, - { - "name": "sparks_broken", - "delays": [ - [ - 0.1, - 0.1, - 0.1, - 0.1, - 0.1, - 0.1 - ] - ] - }, - { - "name": "bolted_open_unlit" - }, - { - "name": "closed_unlit" - }, - { - "name": "emergency_open_unlit" - }, - { - "name": "open_unlit" } ] } \ No newline at end of file diff --git a/Resources/Textures/White/Cult/Structures/cult_airlock.rsi/open_unlit.png b/Resources/Textures/White/Cult/Structures/cult_airlock.rsi/open_unlit.png deleted file mode 100644 index 4c59d3a28cc502fc1f6032b5fd6f636f07677cc8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 120 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 literal 2818 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 M(nsi3!|%lX7f+#Ul>h($ diff --git a/Resources/Textures/White/Cult/Structures/cult_airlock.rsi/opening_unlit.png b/Resources/Textures/White/Cult/Structures/cult_airlock.rsi/opening_unlit.png deleted file mode 100644 index 18d485b999eeb77ddecbd9ad9e83e1811f511612..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 962 zcmV;z13mnSP)94FdWCf6M++SLJ9&jZRcL$JR}}rXLtg5gS}AC zeFP-9qDfq~bEir}DhGN*2ym)8b6nerou7XWvOiLlbk6TjzKLDezpNDuT>O1ii%q?M zTPsZ)xm_MzZN}PA+K2iw3efQL)3598>pMK0J-`c`;5*j%z5RpPx0iTwUOl6-p|lV2 zbs&IL@A&PbH^(?T6Z_2z&xI4ru)?``iFR=uq>3RnV`JLz^;N;ms^>kG4W+%8FP8v~ z(zU_Jbp=9fDDAy{_1yuXfyXe`-piLw0I8mj;}9E4`ygKj0yG1|ejt$tnLb83gHedh z*qAnaef4#Lj*$odO*b$Kpr{C2JB1CUeWb&$!4E0GWzO8XFB&Mpud7$X>K@9S&G z7%&R`Do~yvMJ~|<(1OYR_O|2{!j(%D0hEBIZ)9z74iWltAs4_B@ZElYf%{2HbPi7h~LqKk{uxqP4MdiK;{$ykU2#FWKIzPnNtLy ztjp^R@hx6+)8DD5(6(H5cK~HwUZ>CZ9oCXpbR^F_zi|0EE}& zb%xgI4M_&a49P{G2&L!-DVEIc%j1-Fd6R9QZ>n;5Xf9RkM0|b6TtqeHQmKtG1BbM6 z1e^HKv@Z& zf12W`$=gU7dxu^e<)p82%z`YBry}{f0M`Q&I+M8i4V^oH<704YYlCGXBzHL1>H3}< z;G}&%fIIM1M5t1(&`x1>xQqeFoFYKV;9NhV;G*0C$eg4CEX&7WdWrzZoFV`+rwD+| kDFPsKiU7!*A^Px$0!c(cR9J=Wld)>UFc5~n7Gs$viz$AL5Q+sE3I%N$LT8Pouh1t5B`=dD9&w1%H06;bxeV@A>Z5$8!UIWaG z;pzFE_Os%#P{eipy8)C^td>UrR?8zzmig2TF~-QcP%^!VWL+q^jUxFu|~ZR^!J;C?(7YpnpB+JN_8aJ5*FY&KYHrP{>l?SD|O`I*n+2n!1 apXLju`AFP+obU7i0000O=u<5X=vX$A(y zPo6H0Ar*7p&f1v8P z&YPAJ#`PTg8rROvSk=<4Ez##aG5gQ=glE~)HqX5KKH+@oHjW|{h9@2jCnhpXP-awc zXL9IcX^`P$uoPk-P2z*3Tw9{e?6X|gX1*=^{r%=@2J?w?89txc{_+cu)9}Pa$2k19 zZr0XY|7I5PuL#%rQIst5Q?x*;ts-9MjPZH>_zxBTdtYBau)aZoV^7Miqt z;uumf=j}N~Mj($#q4~eL^O=u<5X=vX$A%+ zX-^l&kcv5PXBm1&2THWfzu@2!YxG3j!dl`*fZ)2x%_6NqM&H@L@Rw+~%BVD#ys)Zy@5Pgyyhodt=|r;L zIB@eY^WD7it=|`EdVe!suzmC4#cNB?zInjlZp^a4Va1>3)A|2@eA#^X>vPFC z6QJmV%P(#CO>%O-R~3}Ev-?JF;@U9z+v)4(=b3Z={(EQ+R+C^i-=4Q>)875(ud?Pm zR9~R!9mZH1yZzq#cY52tf0O8STU-A28%)QVT1&)_nhRPbh|E&x@CH3wLwts8;MVNZb+E=C=O9 q+{PWeN?6^2(}7S4nM%h0j3L{t) diff --git a/Resources/Textures/White/Cult/Structures/cult_airlock.rsi/sparks.png b/Resources/Textures/White/Cult/Structures/cult_airlock.rsi/sparks.png deleted file mode 100644 index e95f427277560e755646475911974736afedc184..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1154 zcmV-|1bzF7P)! zG91KF^17jthR!x}w_;8|MW5q&We83ZK)5^q-MfGD4Nq2=@B(ezV1PgO|FHUX1JC!C zn^nm;M*v%LZU1R!4O?64oDQ^9*;-KxJm$9vh02pGVT#TPD(p9e&C`mZN!<)BExWwfCALo44fn&XVHoG ztB@f$NdRGzLX#AkRmNEY2xSlc7?~v5Pon5NDk?8RK-mM-4XP3EaM$FTAvzLd#ce2W zGzC77O(JR~z^2vpY2zc-da4F=RC=M(U41G~{eY|{ z@PH{LL8J!QAVOQ46g^gCbfce_I9l1ETPMhk6GWU~USZ*8L5iLzG76O^h&6$td>t@` z#SPu|sTm;W2VyQO>I9{%pC^I3Kzw8Bmsmk z*MnYb30POhvsN3wZU*@A7x=D@mz(WoRWi;Iz?OWq*`{~+;aoo{v;p)tvYFq8DhIac zEHVt|2rv-V2Oz8us8_~S0{mScKu$_KwbHr%yfd3chT$9m1@LcuK+d8Q?^hv1aFPJR zB!wm^GOLWU1Q5y|d>WZ)KFB&vz`U4dR%)R?i_?EoTDC@Ep+Ae$f0Iwh`vuW=0k*!G zLIA1Kr`xwUyc*68s(ddwMEX|9MASYxnpav>dBWke!AUN=UsK} zeZGijHz=X}$cs_d{&!R5v!*coKFDRoe1N3&ha_Y@0M`V<*qfo)NKm@{k9;r8e8EWf z$5`m0FdLi_-P_yH-ZiXTvhg`OVg|K|;pw0F>a7Lj=Y8zgX3;GLs-8+}tWet@k2 z3i$ Unm-*gSO5S307*qoM6N<$g5L23761SM diff --git a/Resources/Textures/White/Cult/Structures/cult_airlock.rsi/sparks_broken.png b/Resources/Textures/White/Cult/Structures/cult_airlock.rsi/sparks_broken.png deleted file mode 100644 index 96424a768998c03d0568e4b9aea14323ffb3c3c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 448 zcmeAS@N?(olHy`uVBq!ia0vp^4nUm1!3HGP9xZtRq&N#aB8wRq_>O=u<5X=vX$A(y zB2O2`kcv5P=Qyr9Y{289{vrR%`}&r7nyTGRhIw~-P1W-6Eo&7^*{h+ZU|HWJ%!r1V z3g-QPUbv_4Vm=4s{Ym>Z1PjVpwUTaWKbYRSrt4S~ z?S`7mEmsRievdnX=)OVmT(dxet=aRu_V|eYvpcO0FRqw&ZN}?2A6}eT_xH^P>1 ZFjjT{Y4o;^0Y(D@gQu&X%Q~loCIClKx55Ab diff --git a/Resources/Textures/White/Cult/Structures/cult_airlock.rsi/sparks_damaged.png b/Resources/Textures/White/Cult/Structures/cult_airlock.rsi/sparks_damaged.png deleted file mode 100644 index c577e9d4369cf3d1914d41dc70e918c881a93b48..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 507 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGooCO|{#S9F5M?jcysy3fA0|Vn) zPZ!6KiaBp@U(9Vb5OKKZ^2+UQeaktQsr_CYmQT3lSKrxuz<6Jy%A}uFEm{m=3~Lx7 z7&kB_upZ!Q5M|H?3*69U%DMghTg^WkdG1}V4WZ`$Q@t2Ia^5)~^ODbE9gw|I@V8~w z=l|=<>+c@l8YA~0=f|3xi+g80thl@Q=XCZ7+y50ZABnO%I{%yMnt6wR{rs=_Z;Shc zTP%NF&%AH=8}KvpO7TrugQzn(zYI&v_S+{_{L^JxgT);f4uc6899-MKG>2QpH~v*b zm(@a>>USA(ma=~{88@e$n`dn`>7<|gY35zOK5lk@$MAPj%dFk=Ys(zIZ(?}gw%WaM z&+l_~EYn#fVmJJ8UDSVU^LOSa)=7&^SKNG4-%#hAy1z{{-T$}bu2zopr0N(z|=l}o! diff --git a/Resources/Textures/White/Cult/Structures/cult_airlock.rsi/sparks_open.png b/Resources/Textures/White/Cult/Structures/cult_airlock.rsi/sparks_open.png deleted file mode 100644 index c79c5a7710293f700abe6c20991204d90972dd1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 420 zcmeAS@N?(olHy`uVBq!ia0vp^4nUm1!3HGP9xZtRq&N#aB8wRq_>O=u<5X=vX$A(y zFi#i9kcv5P=Qwg5HsE2oenI~0fBzS=gK7jgCT|Wmu%3Ql@|?uv?H*^{3zQsCkPg$l z=fBr{jh1R~b-24H*yZXrwF5JoR^|F0$gO&`hO;920&kUWHq)GbhpYFl|GoK*V~5#+ zRhhmH@eR#-@;_ZyIT9KU(qaNA%y9*0yN4|dl`T1FH{{g8BqPK1cKe)kt?#shnhim`e41Y6WN~u$daiZOc xTe9;$@GayuVyxvo!Scm4p`Kd=?)nPG`ik0H8^0Wy%?k{622WQ%mvv4FO#or|m{|Y- diff --git a/Resources/Textures/White/Cult/Structures/cult_airlock.rsi/welded.png b/Resources/Textures/White/Cult/Structures/cult_airlock.rsi/welded.png deleted file mode 100644 index 274ad208980ea06741608aad377804e55f8475c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 356 zcmV-q0h|7bP)nc zK}GxG&x{MaKa-t&4UP5L-M8<#3&HF0FwHdGm>86RJf9-dM1`OP!Z4JkY4im8z84ls z!1Fvw)6`T|W!(o{51bswK|OCRfGi9&~=@(ZL7B#MNtF+CIlyd^s{`W3DpGleb*Jh z2v!w94`3;(EyJ=bKQGR*%v|?B6}V8FgdmP%gMp+b0GJ)|zqezYhH%}sO-BIWPjg)Sng@$C0W(Eilisu)G1wyJM?H#c?740000VS)S4~Y#QBhGzNl9g8Wd#KVPEJk%0Rd@gX?Aw@lb>bg0+n$VctjR6 zFz_7)VaDV6D^h@h`#oJ8Lp+YJ4L!))?7+j#|KsyZrnw73#aCE4tB57mpHp;vY0PIS zd2;^YBWe?0{+!Jy$QWR1x7Xfy!y0XaSAmbFGaa|MFSK98;#lR>iulI*)AyydWNPmm zPyT-H+RjyZ40%^Jd)?6&wd3yjKJ##E(Q{*WzEk(o>*h0=aX)05&wA|lnX|z!QyS+o zAAFp@WNt^LL;AxwRv$5+Mw3kmTvm}BtR-STj_TZ%TETu#_By04T)$wmuuo%28B;~N d`ifU&3;_n8D_Y~TUjV(r;OXk;vd$@?2>?APbFu&c literal 0 HcmV?d00001 diff --git a/Resources/Textures/White/Tiles/dark_pavement.png b/Resources/Textures/White/Tiles/dark_pavement.png new file mode 100644 index 0000000000000000000000000000000000000000..6cda4dd8cae2bf57fd7e1dac7e11ecd712e626d2 GIT binary patch literal 247 zcmeAS@N?(olHy`uVBq!ia0vp^4M42G!VDxecyh&n6k~CayA#8@b22Z19F}xPUq=Rp zjs4tz5?O(K=>VS)S4~Y#PEJk%0Rd4_QAtTjWo2ar1qEqoX?Aw@{F>x_KxLc-9+AZi z415Pcm~qF%?6*L{R8JSj5Rc=@4NPvEGS!j=43bo)rzMp6vK~rtE6QYhHo-uFCrxF# z9E)B!)0gS+HZZ7WGPoEA2r(H7e76i lQE3n*x1{gOCx-w5hG&c23ZATQECO1{;OXk;vd$@?2>_4+LY@Es literal 0 HcmV?d00001 diff --git a/Resources/Textures/White/Tiles/dark_pavement_vertical.png b/Resources/Textures/White/Tiles/dark_pavement_vertical.png new file mode 100644 index 0000000000000000000000000000000000000000..c05bf49f770085d3aba65064acfd9426752f8ee2 GIT binary patch literal 252 zcmeAS@N?(olHy`uVBq!ia0vp^4M42G!VDxecyh&n6k~CayA#8@b22Z19F}xPUq=Rp zjs4tz5?O(K=>VS)S4~Y#PEJlyQBeg21!ZMr0RaI?Nl9sGX?Aw@y-F-eKxLc-9+AZi z419+{nDKc2iWHz=mZytjh{y4_Qx0+-FyLXSz-D4?pNkBCOI{57=R{G{xX!nB!Xe)!KtDnm{r-UW|Ck0P` literal 0 HcmV?d00001 diff --git a/Resources/Textures/White/Tiles/steel_herringbone.png b/Resources/Textures/White/Tiles/steel_herringbone.png new file mode 100644 index 0000000000000000000000000000000000000000..48e704ae14875333350816b389098ef1a4877c58 GIT binary patch literal 337 zcmeAS@N?(olHy`uVBq!ia0vp^4M42G!VDxecyh&n6k~CayA#8@b22Z19F}xPUq=Rp zjs4tz5?O(K=>VS)*Px&v8yg!(M@MgOZx0U-eSLj%b8{yrCtY3LiulI*)AyydWNPmm zPyT-H+RjyZ40%^Jd)?6&wd3yjKJ##E(Q{*WzEk(o>*h0=aX)05&wA|lnX|z!QyS+o zAAFp@WNt^LL;AxwRv$5+Mw3kmTvm}BtR-STj_TZ%TETu#_By04T)$wmuuo%28B;~N d`ifU&3;_n8D_Y~TUjV(r;OXk;vd$@?2>=src%A?N literal 0 HcmV?d00001 diff --git a/Resources/Textures/White/Tiles/steel_pavement.png b/Resources/Textures/White/Tiles/steel_pavement.png new file mode 100644 index 0000000000000000000000000000000000000000..9dc7cbed585b527858a523537762db5b0a51c3ce GIT binary patch literal 247 zcmeAS@N?(olHy`uVBq!ia0vp^4M42G!VDxecyh&n6k~CayA#8@b22Z19F}xPUq=Rp zjs4tz5?O(K=>VS)*Px&veSLj%b8{OT8%IY+Z*Ol84-Y3NCtY1#)1xsLfyy`wJR*x3 z82Ao>Fr%o3R|8Nm)zif>#N&8!1C!gPOtoYIgCv#dX$fV%tcOzEiZa=rO)ya4NmH3F z$D-HJqTDzcPOV1Wv61ILQQ#ZM1r lR2oFdE$RF6$ss_1;n`xhf+y=6i+~m~c)I$ztaD0e0swq&MMnSt literal 0 HcmV?d00001 diff --git a/Resources/Textures/White/Tiles/steel_pavement_vertical.png b/Resources/Textures/White/Tiles/steel_pavement_vertical.png new file mode 100644 index 0000000000000000000000000000000000000000..ad8f8155f045b734ec43bef4ddc1052ab9285626 GIT binary patch literal 252 zcmeAS@N?(olHy`uVBq!ia0vp^4M42G!VDxecyh&n6k~CayA#8@b22Z19F}xPUq=Rp zjs4tz5?O(K=>VS)*Px&veSLi!8ygP~4{vX8b8~Y?M@J_oCtY3Ly)zFf1C?9J+dTif n!#{2>c8{gZB>~kC=-{`fSm~Q%q1_J_psfs^u6{1-oD!MVS)*KOOj_4oJBoH=v#>eb7ZEh{cAZfR+mHEUL0UY_VT?@K^soCO|{ z#S9F5hd`K7RKu$QD7fF##WBR=_}b8eyv+_g-26X2zhs)bAXI#Xm9vUiV*NQq$Ct)@ zmXasuA3mZs@#W9ijDm~-rgnSnjW?{(Hh2~IXgbqzi~BcaI4HVgYSmXtA7 eq^qxZRmKot@VTNjKKljGD-52lelF{r5}E+rwtq7K literal 0 HcmV?d00001 diff --git a/Resources/Textures/White/Tiles/white_pavement.png b/Resources/Textures/White/Tiles/white_pavement.png new file mode 100644 index 0000000000000000000000000000000000000000..ba211ac9ebe7c1c5cd7042d66773a91e6f0f3c96 GIT binary patch literal 247 zcmeAS@N?(olHy`uVBq!ia0vp^4M42G!VDxecyh&n6k~CayA#8@b22Z19F}xPUq=Rp zjs4tz5?O(K=>VS)*KOOj6&Dw`w6yg1_s^U;bM@-g%a$#hHEUL0Ufz!g6H%Zt&H|6f zVg?4j10c+pb*+;VD46Q$;uzv_Jh_3%ZBwRNvVcL7%Jj5^GGEq1DQ-oXY|kbbDDb4I zOqXNPYiM%XlA7B+($|$fvg|~rYMdIS8 n2Qw-SqU4tJefi`NAi(f!v0K5D^^HY93mH6J{an^LB{Ts5MAA-W literal 0 HcmV?d00001 diff --git a/Resources/Textures/White/Tiles/white_pavement_vertical.png b/Resources/Textures/White/Tiles/white_pavement_vertical.png new file mode 100644 index 0000000000000000000000000000000000000000..e452d7edef9f7e1066a2f05908a8be18dc595651 GIT binary patch literal 252 zcmeAS@N?(olHy`uVBq!ia0vp^4M42G!VDxecyh&n6k~CayA#8@b22Z19F}xPUq=Rp zjs4tz5?O(K=>VS)*KOOj6&Dxx_xCSbwrut4)h#V8GiT16HEUL0US6uh3mKp?&H|6f zVg?4jLm