diff --git a/Content.Client/Nyanotrasen/Laundry/LaundryVisuals.cs b/Content.Client/Nyanotrasen/Laundry/LaundryVisuals.cs new file mode 100644 index 00000000000..d64800dafba --- /dev/null +++ b/Content.Client/Nyanotrasen/Laundry/LaundryVisuals.cs @@ -0,0 +1,11 @@ +namespace Content.Client.Laundry; + +public enum WashingMachineVisualLayers : byte +{ + Normal, + Broken, + Contents, + NormalDoor, + BrokenDoor, +} + diff --git a/Content.Server/Nyanotrasen/Laundry/LaundrySystem.cs b/Content.Server/Nyanotrasen/Laundry/LaundrySystem.cs new file mode 100644 index 00000000000..a913f8fc055 --- /dev/null +++ b/Content.Server/Nyanotrasen/Laundry/LaundrySystem.cs @@ -0,0 +1,45 @@ +using Robust.Shared.Containers; +using Content.Shared.Destructible; +using Content.Shared.Laundry; +using Content.Shared.Storage; + +namespace Content.Server.Laundry; + +// I just wanted the sprite to change states when it broke. + +public sealed class LaundrySystem : EntitySystem +{ + [Dependency] private readonly SharedAppearanceSystem _appearanceSystem = default!; + [Dependency] private readonly SharedContainerSystem _containerSystem = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnMapInit); + SubscribeLocalEvent(OnBreak); + SubscribeLocalEvent(OnContainerModified); + SubscribeLocalEvent(OnContainerModified); + + } + + private void OnMapInit(EntityUid uid, SharedWashingMachineComponent component, MapInitEvent args) + { + if (!_containerSystem.TryGetContainer(uid, "storagebase", out var container)) + return; + + _appearanceSystem.SetData(uid, StorageVisuals.HasContents, container.ContainedEntities.Count > 0); + } + + private void OnBreak(EntityUid uid, SharedWashingMachineComponent component, BreakageEventArgs args) + { + _appearanceSystem.SetData(uid, WashingMachineVisualState.Broken, true); + } + + private void OnContainerModified(EntityUid uid, SharedWashingMachineComponent component, ContainerModifiedMessage args) + { + if (args.Container.ID == "storagebase") + _appearanceSystem.SetData(uid, StorageVisuals.HasContents, args.Container.ContainedEntities.Count > 0); + } +} + diff --git a/Content.Shared/Nyanotrasen/Laundry/SharedLaundry.cs b/Content.Shared/Nyanotrasen/Laundry/SharedLaundry.cs new file mode 100644 index 00000000000..49244bff1ed --- /dev/null +++ b/Content.Shared/Nyanotrasen/Laundry/SharedLaundry.cs @@ -0,0 +1,12 @@ +using Robust.Shared.Serialization; + +namespace Content.Shared.Laundry; + +[RegisterComponent] +public partial class SharedWashingMachineComponent : Component { } //Hi, I'm no coder but the word "partial" used to be "sealed" o3o + +[Serializable, NetSerializable] +public enum WashingMachineVisualState : byte +{ + Broken, +} diff --git a/Resources/Audio/Nyanotrasen/Machines/attributions.yml b/Resources/Audio/Nyanotrasen/Machines/attributions.yml new file mode 100644 index 00000000000..a3cbc35bb7e --- /dev/null +++ b/Resources/Audio/Nyanotrasen/Machines/attributions.yml @@ -0,0 +1,7 @@ +- files: + - "washer_open.ogg" + - "washer_close.ogg" + license: "CC-BY-4.0" + copyright: "https://freesound.org/people/soundmary/" + source: "https://freesound.org/people/soundmary/sounds/194994/" + diff --git a/Resources/Audio/Nyanotrasen/Machines/washer_close.ogg b/Resources/Audio/Nyanotrasen/Machines/washer_close.ogg new file mode 100644 index 00000000000..956e7f6717b Binary files /dev/null and b/Resources/Audio/Nyanotrasen/Machines/washer_close.ogg differ diff --git a/Resources/Audio/Nyanotrasen/Machines/washer_open.ogg b/Resources/Audio/Nyanotrasen/Machines/washer_open.ogg new file mode 100644 index 00000000000..2c6346b7caf Binary files /dev/null and b/Resources/Audio/Nyanotrasen/Machines/washer_open.ogg differ diff --git a/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Shotguns/shotguns.yml b/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Shotguns/shotguns.yml index e1beeb0c0fd..9a116c350c9 100644 --- a/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Shotguns/shotguns.yml +++ b/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Shotguns/shotguns.yml @@ -28,4 +28,18 @@ proto: ShellShotgun soundInsert: path: /Audio/Weapons/Guns/MagIn/shotgun_insert.ogg - \ No newline at end of file + +- type: entity + name: Kammerer + parent: BaseWeaponShotgun + id: WeaponShotgunKammererNonLethal #Legacy name + description: When an old Remington design meets modern materials, this is the result. A favourite weapon of militia forces throughout many worlds. Uses .50 shotgun shells. + suffix: Beanbag + components: + - type: Sprite + sprite: Objects/Weapons/Guns/Shotguns/pump.rsi + - type: Clothing + sprite: Objects/Weapons/Guns/Shotguns/pump.rsi + - type: BallisticAmmoProvider + capacity: 4 + proto: ShellShotgunBeanbag diff --git a/Resources/Prototypes/Nyanotrasen/Entities/Objects/Devices/holoprojectors.yml b/Resources/Prototypes/Nyanotrasen/Entities/Objects/Devices/holoprojectors.yml new file mode 100644 index 00000000000..a288e4eb7bf --- /dev/null +++ b/Resources/Prototypes/Nyanotrasen/Entities/Objects/Devices/holoprojectors.yml @@ -0,0 +1,17 @@ +- type: entity + parent: Holoprojector + id: HoloprojectorEngineering + name: engineering holoprojector + description: Displays a warning sign. + components: + - type: HolosignProjector + signProto: HolosignEng + - type: Sprite + sprite: Nyanotrasen/Objects/Devices/Holoprojectors/eng.rsi + state: icon + - type: ItemSlots + slots: + cell_slot: + name: power-cell-slot-component-slot-name-default + startingItem: PowerCellMedium + locked: true diff --git a/Resources/Prototypes/Nyanotrasen/Entities/Structures/Holographic/projections.yml b/Resources/Prototypes/Nyanotrasen/Entities/Structures/Holographic/projections.yml new file mode 100644 index 00000000000..97a1bbf0127 --- /dev/null +++ b/Resources/Prototypes/Nyanotrasen/Entities/Structures/Holographic/projections.yml @@ -0,0 +1,10 @@ +- type: entity + id: HolosignEng + name: engineering warning sign + description: What's the worst that could lie beyond? + components: + - type: Sprite + sprite: Nyanotrasen/Structures/Holo/eng.rsi + state: icon + - type: TimedDespawn + lifetime: 180 diff --git a/Resources/Prototypes/Nyanotrasen/Entities/Structures/Machines/laundry.yml b/Resources/Prototypes/Nyanotrasen/Entities/Structures/Machines/laundry.yml new file mode 100644 index 00000000000..4b7b0066daf --- /dev/null +++ b/Resources/Prototypes/Nyanotrasen/Entities/Structures/Machines/laundry.yml @@ -0,0 +1,201 @@ +- type: entity + id: WashingMachine + parent: BaseStructureDynamic + name: washing machine + description: A machine that washes clothes with a spinning steel drum in a shiny frame. + components: + - type: Sprite + noRot: true + sprite: Nyanotrasen/Structures/Machines/washer.rsi + layers: + # GenericVisualizer doesn't have a way to deal with multiple conditions at + # once. So have all the layers ready to go, but don't show them unless + # they're relevant. + # + # If we actually get more complex interactions with washing machines later, + # we can take a look at making this cleaner. + - map: ["enum.WashingMachineVisualLayers.Normal"] + state: "normal-base" + - map: ["enum.WashingMachineVisualLayers.Broken"] + state: "broken-base" + visible: false + - map: ["enum.WashingMachineVisualLayers.Contents"] + state: "stuff" + visible: false + - map: ["enum.WashingMachineVisualLayers.NormalDoor"] + state: "normal-closed" + - map: ["enum.WashingMachineVisualLayers.BrokenDoor"] + state: "broken-closed" + visible: false + - type: Appearance + - type: GenericVisualizer + visuals: + enum.WashingMachineVisualState.Broken: + enum.WashingMachineVisualLayers.Normal: + True: { visible: false } + False: { visible: true } + enum.WashingMachineVisualLayers.NormalDoor: + True: { visible: false } + False: { visible: true } + enum.WashingMachineVisualLayers.Broken: + True: { visible: true } + False: { visible: false } + enum.WashingMachineVisualLayers.BrokenDoor: + True: { visible: true } + False: { visible: false } + enum.StorageVisuals.HasContents: + enum.WashingMachineVisualLayers.Contents: + True: { visible: true } + False: { visible: false } + enum.StorageVisuals.Open: + enum.WashingMachineVisualLayers.NormalDoor: + True: { state: "normal-open" } + False: { state: "normal-closed" } + enum.WashingMachineVisualLayers.BrokenDoor: + True: { state: "broken-open" } + False: { state: "broken-closed" } + - type: WashingMachine + - type: InteractionOutline + - type: Physics + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.35,-0.25,0.35,0.49" + density: 600 + mask: + - MachineMask + layer: + - MachineLayer + - type: Climbable + delay: 1.6 + - type: Storage + capacity: 240 + storageOpenSound: + path: /Audio/Nyanotrasen/Machines/washer_open.ogg + storageCloseSound: + path: /Audio/Nyanotrasen/Machines/washer_close.ogg + - type: ContainerContainer + containers: + storagebase: !type:Container + ents: [] + - type: UserInterface + interfaces: + - key: enum.StorageUiKey.Key + type: StorageBoundUserInterface + - type: UseDelay + delay: 0.5 + - type: Repairable + - type: Damageable + damageContainer: Inorganic + damageModifierSet: Metallic + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 200 + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] + - trigger: + !type:DamageTrigger + damage: 100 + behaviors: + - !type:PlaySoundBehavior + sound: + path: /Audio/Effects/metalbreak.ogg + - !type:SpawnEntitiesBehavior + spawn: + SheetSteel1: + min: 1 + max: 1 + - !type:DoActsBehavior + acts: ["Destruction"] + - trigger: + !type:DamageTrigger + damage: 50 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: GlassBreak + - !type:EmptyAllContainersBehaviour + - !type:SpawnEntitiesBehavior + spawn: + ShardGlass: + min: 1 + max: 1 + - !type:DoActsBehavior + acts: ["Breakage"] + +- type: entity + id: WashingMachineBroken + parent: WashingMachine + name: washing machine + suffix: broken + description: A shattered mess of glass and steel that won't be washing anything anytime soon. It looks dusty. + components: + - type: Sprite + layers: + - map: ["enum.WashingMachineVisualLayers.Broken"] + state: "broken-base" + - map: ["enum.WashingMachineVisualLayers.Contents"] + state: "stuff" + visible: false + - map: ["enum.WashingMachineVisualLayers.BrokenDoor"] + state: "broken-closed" + - type: Appearance + - type: GenericVisualizer + visuals: + enum.StorageVisuals.HasContents: + enum.WashingMachineVisualLayers.Contents: + True: { visible: true } + False: { visible: false } + enum.StorageVisuals.Open: + enum.WashingMachineVisualLayers.BrokenDoor: + True: { state: "broken-open" } + False: { state: "broken-closed" } + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 150 + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] + - trigger: + !type:DamageTrigger + damage: 50 + behaviors: + - !type:PlaySoundBehavior + sound: + path: /Audio/Effects/metalbreak.ogg + - !type:SpawnEntitiesBehavior + spawn: + SheetSteel1: + min: 1 + max: 1 + - !type:DoActsBehavior + acts: ["Destruction"] + +- type: entity + id: WashingMachineFilledClothes + parent: WashingMachine + name: washing machine + suffix: random clothes + components: + - type: StorageFill + contents: + - id: Soap + prob: 0.3 + - id: ClothingOuterWinterCoatPlaid + prob: 0.5 + - id: ClothingUniformMNKTracksuitBlack + prob: 0.3 + - id: ClothingCostumeNaota + prob: 0.2 + - id: ClothingHeadBandSkull + prob: 0.2 + - id: ClothingNeckScarfStripedBlue + prob: 0.3 + diff --git a/Resources/Prototypes/Nyanotrasen/Entities/Structures/Wallmounts/Signs/bar_sign.yml b/Resources/Prototypes/Nyanotrasen/Entities/Structures/Wallmounts/bar_sign.yml similarity index 100% rename from Resources/Prototypes/Nyanotrasen/Entities/Structures/Wallmounts/Signs/bar_sign.yml rename to Resources/Prototypes/Nyanotrasen/Entities/Structures/Wallmounts/bar_sign.yml diff --git a/Resources/Prototypes/Nyanotrasen/Entities/Structures/Wallmounts/Signs/paintings.yml b/Resources/Prototypes/Nyanotrasen/Entities/Structures/Wallmounts/paintings.yml similarity index 100% rename from Resources/Prototypes/Nyanotrasen/Entities/Structures/Wallmounts/Signs/paintings.yml rename to Resources/Prototypes/Nyanotrasen/Entities/Structures/Wallmounts/paintings.yml diff --git a/Resources/Prototypes/Nyanotrasen/Entities/Structures/Wallmounts/Signs/posters.yml b/Resources/Prototypes/Nyanotrasen/Entities/Structures/Wallmounts/posters.yml similarity index 73% rename from Resources/Prototypes/Nyanotrasen/Entities/Structures/Wallmounts/Signs/posters.yml rename to Resources/Prototypes/Nyanotrasen/Entities/Structures/Wallmounts/posters.yml index eb45f7d8daa..9a7508d27eb 100644 --- a/Resources/Prototypes/Nyanotrasen/Entities/Structures/Wallmounts/Signs/posters.yml +++ b/Resources/Prototypes/Nyanotrasen/Entities/Structures/Wallmounts/posters.yml @@ -188,3 +188,67 @@ - type: Sprite sprite: Nyanotrasen/Structures/Wallmounts/Posters/Hyenh.rsi state: northwaymap + +# SAFETY MOTH +# Actual original art credit to AspEv +# Some posters are in the upstream posters.yml + +- type: entity + parent: PosterBase + id: PosterContrabandSafetyMothSyndie + name: Syndie Moth - Nuclear Operation + description: Syndie Moth™ tells the viewer to keep the nuclear authentication disk unsecured. "Peace was never an option!" + components: + - type: Sprite + sprite: Nyanotrasen/Structures/Wallmounts/Posters/safetymoth.rsi + state: safetymoth_0 + +- type: entity + parent: PosterBase + id: PosterLegitSafetyMothPoisoning + name: Safety Moth - Poisoning + description: Safety Moth™ tells the viewer not to poison the station donuts. + components: + - type: Sprite + sprite: Nyanotrasen/Structures/Wallmounts/Posters/safetymoth.rsi + state: safetymoth_1 + +- type: entity + parent: PosterBase + id: PosterLegitSafetyMothBoH + name: Safety Moth - Bag of Holding + description: Safety Moth™ informs the viewer of the dangers of Bags of Holding. "Remember! Bags of Holding may be pretty, but they're also pretty dangerous! Never put one inside another!" + components: + - type: Sprite + sprite: Nyanotrasen/Structures/Wallmounts/Posters/safetymoth.rsi + state: safetymoth_2 + +- type: entity + parent: PosterBase + id: PosterLegitSafetyMothFires + name: Safety Moth - Fires + description: Safety Moth™ promotes safe handling of plasma and to keep firefighting equipment within hand reach. + components: + - type: Sprite + sprite: Nyanotrasen/Structures/Wallmounts/Posters/safetymoth.rsi + state: safetymoth_4 + +- type: entity + parent: PosterBase + id: PosterLegitSafetyMothPills + name: Safety Moth - Pill Bottles + description: Safety Moth™ informs the viewer that leaving pills unsupervised on tables could lead to unforeseen consequences. "Hungry critters love to eat everything! Keep your pills safe in crates and pill bottles!" + components: + - type: Sprite + sprite: Nyanotrasen/Structures/Wallmounts/Posters/safetymoth.rsi + state: safetymoth_9 + +- type: entity + parent: PosterBase + id: PosterLegitSafetyMothGlimmer + name: Safety Moth - Glimmer Safety Precautions + description: Safety Moth™ tells the viewer to wear insulative equipments and hide in lockers when the glimmer gets within critical levels. Evacuating might be a better strategy. + components: + - type: Sprite + sprite: Nyanotrasen/Structures/Wallmounts/Posters/safetymoth.rsi + state: safetymoth_11 \ No newline at end of file diff --git a/Resources/Prototypes/Nyanotrasen/Entities/Structures/Wallmounts/Signs/signs.yml b/Resources/Prototypes/Nyanotrasen/Entities/Structures/Wallmounts/signs.yml similarity index 100% rename from Resources/Prototypes/Nyanotrasen/Entities/Structures/Wallmounts/Signs/signs.yml rename to Resources/Prototypes/Nyanotrasen/Entities/Structures/Wallmounts/signs.yml diff --git a/Resources/Textures/Nyanotrasen/Objects/Devices/Holoprojectors/eng.rsi/icon.png b/Resources/Textures/Nyanotrasen/Objects/Devices/Holoprojectors/eng.rsi/icon.png new file mode 100644 index 00000000000..eda050ce887 Binary files /dev/null and b/Resources/Textures/Nyanotrasen/Objects/Devices/Holoprojectors/eng.rsi/icon.png differ diff --git a/Resources/Textures/Nyanotrasen/Objects/Devices/Holoprojectors/eng.rsi/meta.json b/Resources/Textures/Nyanotrasen/Objects/Devices/Holoprojectors/eng.rsi/meta.json new file mode 100644 index 00000000000..ba14e6529e2 --- /dev/null +++ b/Resources/Textures/Nyanotrasen/Objects/Devices/Holoprojectors/eng.rsi/meta.json @@ -0,0 +1,22 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/commit/40d89d11ea4a5cb81d61dc1018b46f4e7d32c62a", + "states": [ + { + "name": "icon", + "delays": [ + [ + 0.3, + 0.3, + 0.3, + 0.3 + ] + ] + } + ] +} diff --git a/Resources/Textures/Nyanotrasen/Structures/Holo/eng.rsi/icon.png b/Resources/Textures/Nyanotrasen/Structures/Holo/eng.rsi/icon.png new file mode 100644 index 00000000000..d3bf1172b27 Binary files /dev/null and b/Resources/Textures/Nyanotrasen/Structures/Holo/eng.rsi/icon.png differ diff --git a/Resources/Textures/Nyanotrasen/Structures/Holo/eng.rsi/meta.json b/Resources/Textures/Nyanotrasen/Structures/Holo/eng.rsi/meta.json new file mode 100644 index 00000000000..ba14e6529e2 --- /dev/null +++ b/Resources/Textures/Nyanotrasen/Structures/Holo/eng.rsi/meta.json @@ -0,0 +1,22 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/commit/40d89d11ea4a5cb81d61dc1018b46f4e7d32c62a", + "states": [ + { + "name": "icon", + "delays": [ + [ + 0.3, + 0.3, + 0.3, + 0.3 + ] + ] + } + ] +} diff --git a/Resources/Textures/Nyanotrasen/Structures/Machines/washer.rsi/broken-base.png b/Resources/Textures/Nyanotrasen/Structures/Machines/washer.rsi/broken-base.png new file mode 100644 index 00000000000..a949658182d Binary files /dev/null and b/Resources/Textures/Nyanotrasen/Structures/Machines/washer.rsi/broken-base.png differ diff --git a/Resources/Textures/Nyanotrasen/Structures/Machines/washer.rsi/broken-closed.png b/Resources/Textures/Nyanotrasen/Structures/Machines/washer.rsi/broken-closed.png new file mode 100644 index 00000000000..852ec5da115 Binary files /dev/null and b/Resources/Textures/Nyanotrasen/Structures/Machines/washer.rsi/broken-closed.png differ diff --git a/Resources/Textures/Nyanotrasen/Structures/Machines/washer.rsi/broken-open.png b/Resources/Textures/Nyanotrasen/Structures/Machines/washer.rsi/broken-open.png new file mode 100644 index 00000000000..3094bcda776 Binary files /dev/null and b/Resources/Textures/Nyanotrasen/Structures/Machines/washer.rsi/broken-open.png differ diff --git a/Resources/Textures/Nyanotrasen/Structures/Machines/washer.rsi/meta.json b/Resources/Textures/Nyanotrasen/Structures/Machines/washer.rsi/meta.json new file mode 100644 index 00000000000..f3d355fb8a4 --- /dev/null +++ b/Resources/Textures/Nyanotrasen/Structures/Machines/washer.rsi/meta.json @@ -0,0 +1,32 @@ +{ + "version": 1, + "license": "CC-BY-SA-4.0", + "copyright": "Hyenh#6078 (313846233099927552)", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "normal-base" + }, + { + "name": "normal-open" + }, + { + "name": "normal-closed" + }, + { + "name": "broken-base" + }, + { + "name": "broken-open" + }, + { + "name": "broken-closed" + }, + { + "name": "stuff" + } + ] +} diff --git a/Resources/Textures/Nyanotrasen/Structures/Machines/washer.rsi/normal-base.png b/Resources/Textures/Nyanotrasen/Structures/Machines/washer.rsi/normal-base.png new file mode 100644 index 00000000000..b9e8fffafc9 Binary files /dev/null and b/Resources/Textures/Nyanotrasen/Structures/Machines/washer.rsi/normal-base.png differ diff --git a/Resources/Textures/Nyanotrasen/Structures/Machines/washer.rsi/normal-closed.png b/Resources/Textures/Nyanotrasen/Structures/Machines/washer.rsi/normal-closed.png new file mode 100644 index 00000000000..663ff398ac3 Binary files /dev/null and b/Resources/Textures/Nyanotrasen/Structures/Machines/washer.rsi/normal-closed.png differ diff --git a/Resources/Textures/Nyanotrasen/Structures/Machines/washer.rsi/normal-open.png b/Resources/Textures/Nyanotrasen/Structures/Machines/washer.rsi/normal-open.png new file mode 100644 index 00000000000..ceb2e98c73c Binary files /dev/null and b/Resources/Textures/Nyanotrasen/Structures/Machines/washer.rsi/normal-open.png differ diff --git a/Resources/Textures/Nyanotrasen/Structures/Machines/washer.rsi/stuff.png b/Resources/Textures/Nyanotrasen/Structures/Machines/washer.rsi/stuff.png new file mode 100644 index 00000000000..84d99538df0 Binary files /dev/null and b/Resources/Textures/Nyanotrasen/Structures/Machines/washer.rsi/stuff.png differ diff --git a/Resources/Textures/Nyanotrasen/Structures/Wallmounts/Posters/safetymoth.rsi/meta.json b/Resources/Textures/Nyanotrasen/Structures/Wallmounts/Posters/safetymoth.rsi/meta.json new file mode 100644 index 00000000000..012947013fe --- /dev/null +++ b/Resources/Textures/Nyanotrasen/Structures/Wallmounts/Posters/safetymoth.rsi/meta.json @@ -0,0 +1,29 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from https://github.com/BeeStation/BeeStation-Hornet/commit/2e05b943a9d832360a895b48778aa652f7f20774", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "safetymoth_0" + }, + { + "name": "safetymoth_1" + }, + { + "name": "safetymoth_2" + }, + { + "name": "safetymoth_4" + }, + { + "name": "safetymoth_9" + }, + { + "name": "safetymoth_11" + } + ] +} diff --git a/Resources/Textures/Nyanotrasen/Structures/Wallmounts/Posters/safetymoth.rsi/safetymoth_0.png b/Resources/Textures/Nyanotrasen/Structures/Wallmounts/Posters/safetymoth.rsi/safetymoth_0.png new file mode 100644 index 00000000000..abb3f4a0fbc Binary files /dev/null and b/Resources/Textures/Nyanotrasen/Structures/Wallmounts/Posters/safetymoth.rsi/safetymoth_0.png differ diff --git a/Resources/Textures/Nyanotrasen/Structures/Wallmounts/Posters/safetymoth.rsi/safetymoth_1.png b/Resources/Textures/Nyanotrasen/Structures/Wallmounts/Posters/safetymoth.rsi/safetymoth_1.png new file mode 100644 index 00000000000..1d9cc600450 Binary files /dev/null and b/Resources/Textures/Nyanotrasen/Structures/Wallmounts/Posters/safetymoth.rsi/safetymoth_1.png differ diff --git a/Resources/Textures/Nyanotrasen/Structures/Wallmounts/Posters/safetymoth.rsi/safetymoth_11.png b/Resources/Textures/Nyanotrasen/Structures/Wallmounts/Posters/safetymoth.rsi/safetymoth_11.png new file mode 100644 index 00000000000..e647dae336b Binary files /dev/null and b/Resources/Textures/Nyanotrasen/Structures/Wallmounts/Posters/safetymoth.rsi/safetymoth_11.png differ diff --git a/Resources/Textures/Nyanotrasen/Structures/Wallmounts/Posters/safetymoth.rsi/safetymoth_2.png b/Resources/Textures/Nyanotrasen/Structures/Wallmounts/Posters/safetymoth.rsi/safetymoth_2.png new file mode 100644 index 00000000000..0efa905a5f8 Binary files /dev/null and b/Resources/Textures/Nyanotrasen/Structures/Wallmounts/Posters/safetymoth.rsi/safetymoth_2.png differ diff --git a/Resources/Textures/Nyanotrasen/Structures/Wallmounts/Posters/safetymoth.rsi/safetymoth_4.png b/Resources/Textures/Nyanotrasen/Structures/Wallmounts/Posters/safetymoth.rsi/safetymoth_4.png new file mode 100644 index 00000000000..a202dd45d1f Binary files /dev/null and b/Resources/Textures/Nyanotrasen/Structures/Wallmounts/Posters/safetymoth.rsi/safetymoth_4.png differ diff --git a/Resources/Textures/Nyanotrasen/Structures/Wallmounts/Posters/safetymoth.rsi/safetymoth_9.png b/Resources/Textures/Nyanotrasen/Structures/Wallmounts/Posters/safetymoth.rsi/safetymoth_9.png new file mode 100644 index 00000000000..ba46f2216c7 Binary files /dev/null and b/Resources/Textures/Nyanotrasen/Structures/Wallmounts/Posters/safetymoth.rsi/safetymoth_9.png differ diff --git a/Resources/migration.yml b/Resources/migration.yml index 43a596b4aa3..7b0414ad4d2 100644 --- a/Resources/migration.yml +++ b/Resources/migration.yml @@ -87,3 +87,24 @@ GeneratorPlasma: PortableGeneratorPacman GeneratorUranium: PortableGeneratorSuperPacman GeneratorPlasmaMachineCircuitboard: PortableGeneratorPacmanMachineCircuitboard GeneratorUraniumMachineCircuitboard: PortableGeneratorSuperPacmanMachineCircuitboard + +## Delta V changes follow ## + +# 2023-09-29 (Rebase related migrations) +PosterContrabandSMSyndie: PosterContrabandSafetyMothSyndie +PosterLegitSMPoisoning: PosterLegitSafetyMothPoisoning +PosterLegitSMBoH: PosterLegitSafetyMothBoH +PosterLegitSMHardhats: PosterLegitSafetyMothHardhat +PosterLegitSMFires: PosterLegitSafetyMothFires +PosterLegitSMPiping: PosterLegitSafetyMothPiping +PosterLegitSMMeth: PosterLegitSafetyMothMeth +PosterLegitSMEpi: PosterLegitSafetyMothEpi +PosterLegitSMPills: PosterLegitSafetyMothPills +PosterLegitSMAnomalies: PosterLegitSafetyMothDelam +PosterLegitSMGlimmer: PosterLegitSafetyMothGlimmer +EngineeringTechFab: Autolathe +EngineeringTechFabCircuitboard: AutolatheMachineCircuitboard +ScienceTechFab: Protolathe +ScienceTechFabCircuitboard: ProtolatheMachineCircuitboard +ServiceTechFab: Autolathe +ServiceTechFabCircuitboard: AutolatheMachineCircuitboard