diff --git a/Resources/Locale/en-US/_Funkystation/construction/recipes/structures.ftl b/Resources/Locale/en-US/_Funkystation/construction/recipes/structures.ftl new file mode 100644 index 00000000000..3dfbfe94313 --- /dev/null +++ b/Resources/Locale/en-US/_Funkystation/construction/recipes/structures.ftl @@ -0,0 +1,35 @@ +structures-steel-curb = steel curb +structures-steel-curb-corner = steel curb corner +structures-steel-curb-inside-corner = steel curb inside corner +structures-steel-curb-ubend = steel curb Ubend +structures-steel-curb-square = steel curb square + +structures-brass-curb = brass curb +structures-brass-curb-corner = brass curb corner +structures-brass-curb-inside-corner = brass curb inside corner +structures-brass-curb-ubend = brass curb Ubend +structures-brass-curb-square = brass curb square + +structures-gold-curb = gold curb +structures-gold-curb-corner = gold curb corner +structures-gold-curb-inside-corner = gold curb inside corner +structures-gold-curb-ubend = gold curb Ubend +structures-gold-curb-square = gold curb square + +structures-hydrogen-curb = hydrogen metal curb +structures-hydrogen-curb-corner = hydrogen metal curb corner +structures-hydrogen-curb-inside-corner = hydrogen metal curb inside corner +structures-hydrogen-curb-ubend = hydrogen metal curb Ubend +structures-hydrogen-curb-square = hydrogen metal curb square + +structures-mail-pipe = mail pipe +structures-mail-tagger = mail tagger +structures-mail-trunk = mail trunk +structures-mail-router = mail router +structures-mail-router-flipped = mail router flipped +structures-mail-junction = mail junction +structures-mail-junction-flipped = mail junction flipped +structures-mail-y-junction = mail y-junction +structures-mail-bend = mail bend +structures-mail-signal-router = mail signal router +structures-mail-signal-signal-router-flipped = mail signal router flipped diff --git a/Resources/Prototypes/Entities/Structures/Storage/Canisters/gas_canisters.yml b/Resources/Prototypes/Entities/Structures/Storage/Canisters/gas_canisters.yml index e55f838af2e..b2ef01d4e27 100644 --- a/Resources/Prototypes/Entities/Structures/Storage/Canisters/gas_canisters.yml +++ b/Resources/Prototypes/Entities/Structures/Storage/Canisters/gas_canisters.yml @@ -1,52 +1,6 @@ -# SPDX-FileCopyrightText: 2020-2021 Swept -# SPDX-FileCopyrightText: 2020-2021 DrSmugleaf -# SPDX-FileCopyrightText: 2020 ike709 -# SPDX-FileCopyrightText: 2020 20kdc -# SPDX-FileCopyrightText: 2020 py01 <60152240+collinlunn@users.noreply.github.com> -# SPDX-FileCopyrightText: 2021-2025 metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> -# SPDX-FileCopyrightText: 2021-2023 Leon Friedrich <60421075+ElectroJr@users.noreply.github.com> -# SPDX-FileCopyrightText: 2021-2022 Paul Ritter -# SPDX-FileCopyrightText: 2021-2022 Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com> -# SPDX-FileCopyrightText: 2021 moonheart08 -# SPDX-FileCopyrightText: 2021 mirrorcult -# SPDX-FileCopyrightText: 2021 ShadowCommander <10494922+ShadowCommander@users.noreply.github.com> -# SPDX-FileCopyrightText: 2021 Galactic Chimp -# SPDX-FileCopyrightText: 2021 Acruid -# SPDX-FileCopyrightText: 2021 Pieter-Jan Briers -# SPDX-FileCopyrightText: 2021 collinlunn <60152240+collinlunn@users.noreply.github.com> -# SPDX-FileCopyrightText: 2022-2024 Kara -# SPDX-FileCopyrightText: 2022-2023 Kevin Zheng -# SPDX-FileCopyrightText: 2022 Mervill -# SPDX-FileCopyrightText: 2022 Justin Trotter -# SPDX-FileCopyrightText: 2022 Rinkashikachi <15rinkashikachi15@gmail.com> -# SPDX-FileCopyrightText: 2022 Rane <60792108+Elijahrane@users.noreply.github.com> -# SPDX-FileCopyrightText: 2022 TekuNut <13456422+TekuNut@users.noreply.github.com> -# SPDX-FileCopyrightText: 2022 Jacob Tong <10494922+ShadowCommander@users.noreply.github.com> -# SPDX-FileCopyrightText: 2022 Profane McBane -# SPDX-FileCopyrightText: 2023-2025 Nemanja <98561806+EmoGarbage404@users.noreply.github.com> -# SPDX-FileCopyrightText: 2023 Łukasz Mędrek -# SPDX-FileCopyrightText: 2023 lzk <124214523+lzk228@users.noreply.github.com> -# SPDX-FileCopyrightText: 2023 potato1234_x <79580518+potato1234x@users.noreply.github.com> -# SPDX-FileCopyrightText: 2023 Vordenburg <114301317+Vordenburg@users.noreply.github.com> -# SPDX-FileCopyrightText: 2024-2025 K-Dynamic <20566341+K-Dynamic@users.noreply.github.com> -# SPDX-FileCopyrightText: 2024 TGRCDev -# SPDX-FileCopyrightText: 2024 Plykiya <58439124+Plykiya@users.noreply.github.com> -# SPDX-FileCopyrightText: 2024 Velcroboy <107660393+IamVelcroboy@users.noreply.github.com> -# SPDX-FileCopyrightText: 2024 MilenVolf <63782763+MilenVolf@users.noreply.github.com> -# SPDX-FileCopyrightText: 2024 lapatison <100279397+lapatison@users.noreply.github.com> -# SPDX-FileCopyrightText: 2024 Flareguy <78941145+Flareguy@users.noreply.github.com> -# SPDX-FileCopyrightText: 2025 Hitlinemoss <209321380+Hitlinemoss@users.noreply.github.com> -# SPDX-FileCopyrightText: 2025 Tiniest Shark -# SPDX-FileCopyrightText: 2025 beck-thompson <107373427+beck-thompson@users.noreply.github.com> -# SPDX-FileCopyrightText: 2025 Whatstone <166147148+whatston3@users.noreply.github.com> -# SPDX-FileCopyrightText: 2025 ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com> -# SPDX-FileCopyrightText: 2025 Winkarst <74284083+Winkarst-cpu@users.noreply.github.com> -# SPDX-FileCopyrightText: 2025 ActiveMammmoth <140334666+ActiveMammmoth@users.noreply.github.com> -# SPDX-License-Identifier: MIT - - type: entity abstract: true - parent: [ BaseStructureDynamic, BasePaperLabelableVisualized ] + parent: BaseStructureDynamic id: GasCanister name: gas canister description: A canister that can contain any type of gas. It can be attached to connector ports using a wrench. @@ -159,6 +113,7 @@ nodeGroupID: Pipe rotationsEnabled: false volume: 1 + - type: ItemSlots - type: GasPortable - type: GasCanister gasTankSlot: @@ -665,6 +620,55 @@ - type: Lock locked: true +- type: entityTable + id: RandomCanTable + table: !type:GroupSelector + children: + - !type:GroupSelector + weight: 100 + children: + - id: StorageCanister + weight: 10 + - id: OxygenCanister + weight: 7 + - id: NitrogenCanister + weight: 7 + - id: HydrogenCanister + weight: 4 + - id: PlasmaCanister + weight: 4 + - id: NitrousOxideCanister + weight: 3 + - id: AmmoniaCanister + weight: 3 + - id: CarbonDioxideCanister + weight: 2 + - id: TritiumCanister + weight: 2 + - id: FrezonCanister + weight: 2 + - id: BZCanister + weight: 1 + - id: HalonCanister + weight: 1 + +- type: entity + name: Random Canister Spawner + id: RandomCanisterSpawner + parent: MarkerBase + placement: + mode: SnapgridCenter + components: + - type: Sprite + layers: + - state: red + - sprite: Structures/Storage/canister.rsi + state: can-rainbow + - type: EntityTableSpawner + offset: 0 + table: !type:NestedSelector + tableId: RandomCanTable + # Broke Entities - type: entity diff --git a/Resources/Prototypes/_Funkystation/Entities/Markers/Spawners/general.yml b/Resources/Prototypes/_Funkystation/Entities/Markers/Spawners/general.yml new file mode 100644 index 00000000000..6a92da4a16e --- /dev/null +++ b/Resources/Prototypes/_Funkystation/Entities/Markers/Spawners/general.yml @@ -0,0 +1,33 @@ +- type: entity + name: Random Chair Spawner + id: RandomChairSpawner + parent: MarkerBase + suffix: 100 + components: + - type: Sprite + layers: + - state: red + - sprite: Structures/Furniture/chairs.rsi + state: rainbow_chair + - type: EntityTableSpawner + offset: 0 + table: !type:NestedSelector + tableId: RandomChair + + +- type: entity + name: Random Chair Spawner + id: RandomChairSpawner50 + parent: MarkerBase + suffix: 50 + components: + - type: Sprite + layers: + - state: red + - sprite: Structures/Furniture/chairs.rsi + state: rainbow_chair + - type: EntityTableSpawner + offset: 0 + table: !type:NestedSelector + tableId: RandomChair + prob: 0.5 diff --git a/Resources/Prototypes/_Funkystation/Entities/Markers/Spawners/maints.yml b/Resources/Prototypes/_Funkystation/Entities/Markers/Spawners/maints.yml new file mode 100644 index 00000000000..95479f71fc1 --- /dev/null +++ b/Resources/Prototypes/_Funkystation/Entities/Markers/Spawners/maints.yml @@ -0,0 +1,234 @@ +- type: entity + name: Liquid Tank Spawner + id: RandomTankSpawner + parent: MarkerBase + suffix: 50 + placement: + mode: SnapgridCenter + components: + - type: Sprite + layers: + - state: red + - sprite: Structures/Storage/tanks.rsi + state: rainbow_tank + - type: EntityTableSpawner + offset: 0 + table: !type:NestedSelector + tableId: RandomFuelTank + prob: 0.5 + +- type: entity + name: Liquid Tank Spawner + id: RandomTankSpawner100 + parent: MarkerBase + suffix: 100 + placement: + mode: SnapgridCenter + components: + - type: Sprite + layers: + - state: red + - sprite: Structures/Storage/tanks.rsi + state: rainbow_tank + - type: EntityTableSpawner + offset: 0 + table: !type:NestedSelector + tableId: RandomFuelTank + +- type: entity + name: Maint Locker Spawner + id: MaintLockerSpawner50 + parent: MarkerBase + suffix: 50 + placement: + mode: SnapgridCenter + components: + - type: Sprite + layers: + - state: red + - sprite: Structures/Storage/closet.rsi + state: generic_icon + - type: EntityTableSpawner + offset: 0 + table: !type:NestedSelector + tableId: MaintLocker50 + prob: 0.5 + +- type: entity + name: Random Maint Locker Spawner + id: RandomMaintLockerSpawner50 + parent: MarkerBase + suffix: 50 + placement: + mode: SnapgridCenter + components: + - type: Sprite + layers: + - state: red + - sprite: Structures/Storage/closet.rsi + state: rainbow_locker + - type: EntityTableSpawner + offset: 0 + table: !type:NestedSelector + tableId: MaintLockerRandom + prob: 0.5 + +- type: entity + name: Random Maint Locker Spawner + id: RandomMaintLockerSpawner100 + parent: MarkerBase + suffix: 100 + placement: + mode: SnapgridCenter + components: + - type: Sprite + layers: + - state: red + - sprite: Structures/Storage/closet.rsi + state: rainbow_locker + - type: EntityTableSpawner + offset: 0 + table: !type:NestedSelector + tableId: MaintLockerRandom + +- type: entity + id: ToolboxMechanicalMaints + name: mechanical toolbox + suffix: Maints + parent: ToolboxMechanical + components: + - type: StorageFill + contents: + - id: CrowbarOrange + prob: 0.8 + - id: Wrench + prob: 0.7 + - id: Welder + prob: 0.5 + - id: Wirecutter + prob: 0.6 + - id: Screwdriver + prob: 0.6 + - id: FlashlightLantern + prob: 0.2 + - id: ClothingHeadHatHardhatBlue + prob: 0.2 + orGroup: mainttoolboxhats + - id: ClothingHeadHatCone + prob: 0.2 + orGroup: mainttoolboxhats + - id: HandheldGPSBasic + prob: 0.2 + - id: DrinkSpaceGlue + prob: 0.05 + - id: RadioHandheld + prob: 0.2 + - id: SheetSteel10 + prob: 0.1 + orGroup: mainttoolboxdrink + - id: DrinkBeerCan + prob: 0.02 + orGroup: mainttoolboxdrink + - id: DrinkSpaceMountainWindCan + prob: 0.05 + orGroup: mainttoolboxdrink + - id: FoodSnackRaisins + prob: 0.05 + orGroup: mainttoolboxsnack + - id: FoodSnackSemki + prob: 0.05 + orGroup: mainttoolboxsnack + - id: FoodSnackCnDs + prob: 0.05 + orGroup: mainttoolboxsnack + +- type: entity + id: ToolboxElectricalMaints + name: electrical toolbox + suffix: Maints + parent: ToolboxElectrical + components: + - type: StorageFill + contents: + - id: CrowbarOrange + prob: 0.8 + - id: CableMVStack10 + prob: 0.5 + - id: CableApcStack10 + prob: 0.5 + - id: Wirecutter + prob: 0.6 + - id: Screwdriver + prob: 0.6 + - id: FlashlightLantern + prob: 0.2 + - id: trayScanner + prob: 0.2 + - id: ClothingHandsGlovesColorYellowBudget + prob: 0.1 + orGroup: mainttoolboxgloves + - id: ClothingHandsGlovesFingerlessInsulated + prob: 0.1 + orGroup: mainttoolboxgloves + - id: ClothingHandsGlovesColorYellow + prob: 0.05 + orGroup: mainttoolboxgloves + - id: DrinkSpaceGlue + prob: 0.05 + - id: RadioHandheld + prob: 0.2 + - id: SheetSteel10 + prob: 0.1 + orGroup: mainttoolboxdrink + - id: DrinkBeerCan + prob: 0.02 + orGroup: mainttoolboxdrink + - id: DrinkSpaceMountainWindCan + prob: 0.05 + orGroup: mainttoolboxdrink + - id: FoodSnackRaisins + prob: 0.05 + orGroup: mainttoolboxsnack + - id: FoodSnackSemki + prob: 0.05 + orGroup: mainttoolboxsnack + - id: FoodSnackCnDs + prob: 0.05 + orGroup: mainttoolboxsnack + +- type: entity + name: Random Toolbox Spawner + id: RandomToolboxSpawner50 + parent: MarkerBase + suffix: 50 + placement: + mode: SnapgridCenter + components: + - type: Sprite + layers: + - state: red + - sprite: _Funkystation/Objects/Tools/rainbow_toolbox.rsi + state: rainbow_toolbox + - type: EntityTableSpawner + offset: 0 + table: !type:NestedSelector + tableId: RandomToolbox + prob: 0.5 + +- type: entity + name: Random Toolbox Spawner + id: RandomToolboxSpawner + parent: MarkerBase + suffix: 100 + placement: + mode: SnapgridCenter + components: + - type: Sprite + layers: + - state: red + - sprite: _Funkystation/Objects/Tools/rainbow_toolbox.rsi + state: rainbow_toolbox + - type: EntityTableSpawner + offset: 0 + table: !type:NestedSelector + tableId: RandomToolbox diff --git a/Resources/Prototypes/_Funkystation/Entities/Markers/Spawners/spawnertables.yml b/Resources/Prototypes/_Funkystation/Entities/Markers/Spawners/spawnertables.yml new file mode 100644 index 00000000000..6e42ab55b0e --- /dev/null +++ b/Resources/Prototypes/_Funkystation/Entities/Markers/Spawners/spawnertables.yml @@ -0,0 +1,81 @@ +- type: entityTable + id: RandomFuelTank + table: !type:GroupSelector + children: + - !type:GroupSelector + weight: 100 + children: + - id: WeldingFuelTankFull + weight: 10 + - id: WaterTankFull + weight: 10 + - id: WeldingFuelTankHighCapacity + weight: 1 + - id: WaterTankHighCapacity + weight: 1 + +- type: entityTable + id: RandomChair + table: !type:GroupSelector + children: + - !type:GroupSelector + weight: 100 + children: + - id: Chair + weight: 10 + - id: ChairFolding + weight: 5 + - id: Stool + weight: 3 + - id: ChairWood + weight: 3 + - id: ChairGreyscale + weight: 1 + +- type: entityTable + id: MaintLocker50 + table: !type:GroupSelector + children: + - !type:GroupSelector + weight: 100 + children: + - id: ClosetMaintenanceFilledRandom + weight: 1 + +- type: entityTable + id: RandomToolbox + table: !type:GroupSelector + children: + - !type:GroupSelector + weight: 100 + children: + - id: ToolboxEmergencyFilled + weight: 1 + - id: ToolboxArtisticFilled + weight: 1 + - id: ToolboxMechanicalMaints + weight: 1 + - id: ToolboxElectricalMaints + weight: 1 + +- type: entityTable + id: MaintLockerRandom + table: !type:GroupSelector + children: + - !type:GroupSelector + weight: 100 + children: + - id: ClosetMaintenanceFilledRandom + weight: 20 + - id: LockerElectricalSuppliesFilled + weight: 3 + - id: LockerWeldingSuppliesFilled + weight: 3 + - id: ClosetToolFilled + weight: 3 + - id: ClosetEmergencyFilledRandom + weight: 1 + - id: ClosetEmergencyN2FilledRandom + weight: 1 + - id: ClosetFireFilled + weight: 0.3 diff --git a/Resources/Prototypes/_Funkystation/Entities/Objects/Decorations/WoodenSupportWithLight.yml b/Resources/Prototypes/_Funkystation/Entities/Objects/Decorations/WoodenSupportWithLight.yml new file mode 100644 index 00000000000..daa9440bb84 --- /dev/null +++ b/Resources/Prototypes/_Funkystation/Entities/Objects/Decorations/WoodenSupportWithLight.yml @@ -0,0 +1,92 @@ +- type: entity + name: wooden support with light + description: "May you travel safe through the darkness" + id: WoodenSupportLight + parent: AlwaysPoweredWallLight + suffix: Dim Light + placement: + mode: SnapgridCenter + components: + - type: AmbientSound + volume: -15 + range: 2 + sound: + path: /Audio/Ambience/Objects/light_hum.ogg + - type: Sprite + noRot: true + sprite: _Funkystation/Objects/Decoration/WoodenSupportLight.rsi + state: base + - type: PointLight + enabled: false + radius: 5 + energy: 0.5 + softness: 3 + color: "#ba473f" + - type: Physics + bodyType: Static + - type: ContainerContainer + containers: + light_bulb: !type:ContainerSlot + - type: PoweredLight + hasLampOnSpawn: DimLightBulb + - type: ApcPowerReceiver + - type: ExtensionCableReceiver + - type: DeviceNetwork + deviceNetId: Wireless + receiveFrequencyId: SmartLight + - type: WirelessNetworkConnection + range: 200 + - type: Appearance + - type: PoweredLightVisuals + spriteStateMap: + empty: empty + off: base + on: base + broken: broken + burned: burned + - type: DeviceLinkSink + ports: + - On + - Off + - Toggle + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.1,-0.5,0.1,0.5" + mask: + - FullTileMask + layer: + - WallLayer + density: 1000 + - type: Damageable + damageContainer: Inorganic + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 100 + behaviors: #excess damage, don't spawn entities. + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 50 + behaviors: + - !type:EmptyAllContainersBehaviour + - !type:SpawnEntitiesBehavior + spawn: + SheetSteel1: + min: 1 + max: 1 + Log: + min: 1 + max: 3 + - !type:DoActsBehavior + acts: ["Destruction"] + - type: DamageOnInteract + damage: + types: + Heat: 2 + popupText: powered-light-component-burn-hand diff --git a/Resources/Prototypes/_Funkystation/Entities/Structures/BrokenCatwalk.yml b/Resources/Prototypes/_Funkystation/Entities/Structures/BrokenCatwalk.yml new file mode 100644 index 00000000000..a5211c85f96 --- /dev/null +++ b/Resources/Prototypes/_Funkystation/Entities/Structures/BrokenCatwalk.yml @@ -0,0 +1,58 @@ +# TODO move this to tiles once tile smoothing is supported +- type: entity + id: BrokenCatwalk + name: broken catwalk + description: This catwalk has seen better days. + placement: + mode: SnapgridCenter + components: + - type: Clickable + - type: Sprite + sprite: _Funkystation/Structures/brokencatwalk.rsi + drawdepth: FloorTiles + - type: Icon + sprite: _Funkystation/Structures/brokencatwalk.rsi + state: broken + - type: Transform + anchored: true + - type: IconSmooth + key: catwalk + base: catwalk_ + - type: FootstepModifier + footstepSoundCollection: + collection: FootstepCatwalk + params: + volume: 8 + - type: Tag + tags: + - Catwalk + - type: Construction + graph: Catwalk + node: Catwalk + - type: Damageable + damageContainer: StructuralInorganic + damageModifierSet: Metallic + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 500 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 200 + behaviors: + - !type:SpawnEntitiesBehavior + spawn: + PartRodMetal: # takes two to construct, so drop less than that + min: 0 + max: 1 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: TrayScanReveal + - type: RCDDeconstructable + cost: 2 + delay: 2 + fx: EffectRCDDeconstruct2 diff --git a/Resources/Prototypes/_Funkystation/Entities/Structures/Curbs.yml b/Resources/Prototypes/_Funkystation/Entities/Structures/Curbs.yml new file mode 100644 index 00000000000..b5477857ccd --- /dev/null +++ b/Resources/Prototypes/_Funkystation/Entities/Structures/Curbs.yml @@ -0,0 +1,722 @@ +#Steel +- type: entity + parent: BaseStructure + id: BaseCurb + abstract: true + name: Curb + description: A curb to keep your crates off my lawn. + components: + - type: Sprite + drawdepth: FloorTiles + sprite: _Funkystation/Structures/curbs.rsi + - type: Icon + sprite: _Funkystation/Structures/curbs.rsi + - type: Physics + bodyType: Static + - type: Clickable + - type: InteractionOutline + - type: Repairable + - type: Damageable + damageContainer: StructuralInorganic + damageModifierSet: FlimsyMetallic + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 20 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 50 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: MetalBreak + - type: Construction + graph: curbs + node: steelCurb + - type: RCDDeconstructable + cost: 2 + delay: 2 + fx: EffectRCDDeconstruct2 + +- type: entity + parent: BaseCurb + id: SteelCurb + name: steel curb + components: + - type: Sprite + state: steel_curb + drawdepth: FloorTiles + - type: Icon + state: steel_curb + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.49,-0.49,0.49,-0.25" + density: 1000 + mask: + - CrateMask + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 100 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 20 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: MetalBreak + params: + volume: -6 + - !type:SpawnEntitiesBehavior + spawn: + SheetSteel1: + min: 0 + max: 1 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: Construction + node: steelCurb + +- type: entity + parent: SteelCurb + id: SteelCurbCorner + name: steel curb corner + components: + - type: Sprite + state: steel_curb_corner + drawdepth: FloorTiles + - type: Icon + state: steel_curb_corner + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.49,-0.49,0.49,-0.25" + density: 1000 + mask: + - CrateMask + fix2: + shape: + !type:PhysShapeAabb + bounds: "0.49,0.49,0.25,-0.49" + density: 1000 + mask: + - CrateMask + - type: Construction + node: steelCurbCorner + +- type: entity + parent: SteelCurb + id: SteelCurbCornerInside + name: steel curb inside corner + components: + - type: Sprite + state: steel_curb_inside_corner + drawdepth: FloorTiles + - type: Icon + state: steel_curb_inside_corner + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.49,0.49,-0.25,0.25" + density: 1000 + mask: + - CrateMask + - type: Construction + node: steelCurbCornerInside + +- type: entity + parent: SteelCurb + id: SteelCurbUbend + name: steel curb u-bend + components: + - type: Sprite + state: steel_curb_ubend + drawdepth: FloorTiles + - type: Icon + state: steel_curb_ubend + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.49,-0.49,0.49,-0.25" + density: 1000 + mask: + - CrateMask + fix2: + shape: + !type:PhysShapeAabb + bounds: "-0.49,-0.49,-0.25,0.49" + density: 1000 + mask: + - CrateMask + fix3: + shape: + !type:PhysShapeAabb + bounds: "0.25,-0.49,0.49,0.49" + density: 1000 + mask: + - CrateMask + - type: Construction + node: steelCurbUbend + +- type: entity + parent: SteelCurb + id: SteelCurbSquare + name: steel curb square + components: + - type: Sprite + state: steel_curb_square + drawdepth: FloorTiles + - type: Icon + state: steel_curb_square + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.49,-0.49,0.49,-0.25" + density: 1000 + mask: + - CrateMask + fix2: + shape: + !type:PhysShapeAabb + bounds: "-0.49,-0.49,-0.25,0.49" + density: 1000 + mask: + - CrateMask + fix3: + shape: + !type:PhysShapeAabb + bounds: "0.25,-0.49,0.49,0.49" + density: 1000 + mask: + - CrateMask + - type: Construction + node: steelCurbSquare + +#Brass +- type: entity + parent: BaseCurb + id: BrassCurb + name: brass curb + components: + - type: Sprite + state: brass_curb + drawdepth: FloorTiles + - type: Icon + state: brass_curb + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.49,-0.49,0.49,-0.25" + density: 1000 + mask: + - CrateMask + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 100 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 20 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: MetalBreak + params: + volume: -6 + - !type:SpawnEntitiesBehavior + spawn: + SheetBrass1: + min: 0 + max: 1 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: Construction + node: brassCurb + +- type: entity + parent: BrassCurb + id: BrassCurbCorner + name: brass curb corner + components: + - type: Sprite + state: brass_curb_corner + drawdepth: FloorTiles + - type: Icon + state: brass_curb_corner + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.49,-0.49,0.49,-0.25" + density: 1000 + mask: + - CrateMask + fix2: + shape: + !type:PhysShapeAabb + bounds: "0.49,0.49,0.25,-0.49" + density: 1000 + mask: + - CrateMask + - type: Construction + node: brassCurbCorner + +- type: entity + parent: BrassCurb + id: BrassCurbCornerInside + name: brass curb inside corner + components: + - type: Sprite + state: brass_curb_inside_corner + drawdepth: FloorTiles + - type: Icon + state: brass_curb_inside_corner + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.49,0.49,-0.25,0.25" + density: 1000 + mask: + - CrateMask + - type: Construction + node: brassCurbCornerInside + +- type: entity + parent: BrassCurb + id: BrassCurbUbend + name: brass curb u-bend + components: + - type: Sprite + state: brass_curb_ubend + drawdepth: FloorTiles + - type: Icon + state: brass_curb_ubend + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.49,-0.49,0.49,-0.25" + density: 1000 + mask: + - CrateMask + fix2: + shape: + !type:PhysShapeAabb + bounds: "-0.49,-0.49,-0.25,0.49" + density: 1000 + mask: + - CrateMask + fix3: + shape: + !type:PhysShapeAabb + bounds: "0.25,-0.49,0.49,0.49" + density: 1000 + mask: + - CrateMask + - type: Construction + node: brassCurbUbend + +- type: entity + parent: BrassCurb + id: BrassCurbSquare + name: brass curb square + components: + - type: Sprite + state: brass_curb_square + drawdepth: FloorTiles + - type: Icon + state: brass_curb_square + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.49,-0.49,0.49,-0.25" + density: 1000 + mask: + - CrateMask + fix2: + shape: + !type:PhysShapeAabb + bounds: "-0.49,-0.49,-0.25,0.49" + density: 1000 + mask: + - CrateMask + fix3: + shape: + !type:PhysShapeAabb + bounds: "0.25,-0.49,0.49,0.49" + density: 1000 + mask: + - CrateMask + - type: Construction + node: brassCurbSquare + +#Gold +- type: entity + parent: BaseCurb + id: GoldCurb + name: gold curb + components: + - type: Sprite + state: gold_curb + drawdepth: FloorTiles + - type: Icon + state: gold_curb + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.49,-0.49,0.49,-0.25" + density: 1000 + mask: + - CrateMask + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 100 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 20 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: MetalBreak + params: + volume: -6 + - !type:SpawnEntitiesBehavior + spawn: + IngotGold1: + min: 0 + max: 1 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: Construction + node: goldCurb + +- type: entity + parent: GoldCurb + id: GoldCurbCorner + name: gold curb corner + components: + - type: Sprite + state: gold_curb_corner + drawdepth: FloorTiles + - type: Icon + state: gold_curb_corner + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.49,-0.49,0.49,-0.25" + density: 1000 + mask: + - CrateMask + fix2: + shape: + !type:PhysShapeAabb + bounds: "0.49,0.49,0.25,-0.49" + density: 1000 + mask: + - CrateMask + - type: Construction + node: goldCurbCorner + +- type: entity + parent: GoldCurb + id: GoldCurbCornerInside + name: gold curb inside corner + components: + - type: Sprite + state: gold_curb_inside_corner + drawdepth: FloorTiles + - type: Icon + state: gold_curb_inside_corner + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.49,0.49,-0.25,0.25" + density: 1000 + mask: + - CrateMask + - type: Construction + node: goldCurbCornerInside + +- type: entity + parent: GoldCurb + id: GoldCurbUbend + name: gold curb u-bend + components: + - type: Sprite + state: gold_curb_ubend + drawdepth: FloorTiles + - type: Icon + state: gold_curb_ubend + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.49,-0.49,0.49,-0.25" + density: 1000 + mask: + - CrateMask + fix2: + shape: + !type:PhysShapeAabb + bounds: "-0.49,-0.49,-0.25,0.49" + density: 1000 + mask: + - CrateMask + fix3: + shape: + !type:PhysShapeAabb + bounds: "0.25,-0.49,0.49,0.49" + density: 1000 + mask: + - CrateMask + - type: Construction + node: goldCurbUbend + +- type: entity + parent: GoldCurb + id: GoldCurbSquare + name: gold curb square + components: + - type: Sprite + state: gold_curb_square + drawdepth: FloorTiles + - type: Icon + state: gold_curb_square + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.49,-0.49,0.49,-0.25" + density: 1000 + mask: + - CrateMask + fix2: + shape: + !type:PhysShapeAabb + bounds: "-0.49,-0.49,-0.25,0.49" + density: 1000 + mask: + - CrateMask + fix3: + shape: + !type:PhysShapeAabb + bounds: "0.25,-0.49,0.49,0.49" + density: 1000 + mask: + - CrateMask + - type: Construction + node: goldCurbSquare + +#Hydrogen +- type: entity + parent: BaseCurb + id: HydrogenCurb + name: hydrogen curb + components: + - type: Sprite + state: hydrogen_curb + drawdepth: FloorTiles + - type: Icon + state: hydrogen_curb + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.49,-0.49,0.49,-0.25" + density: 1000 + mask: + - CrateMask + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 100 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 20 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: MetalBreak + params: + volume: -6 + - !type:SpawnEntitiesBehavior + spawn: + MetalHydrogen1: + min: 0 + max: 1 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: Construction + node: hydrogenCurb + +- type: entity + parent: HydrogenCurb + id: HydrogenCurbCorner + name: hydrogen curb corner + components: + - type: Sprite + state: hydrogen_curb_corner + drawdepth: FloorTiles + - type: Icon + state: hydrogen_curb_corner + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.49,-0.49,0.49,-0.25" + density: 1000 + mask: + - CrateMask + fix2: + shape: + !type:PhysShapeAabb + bounds: "0.49,0.49,0.25,-0.49" + density: 1000 + mask: + - CrateMask + - type: Construction + node: hydrogenCurbCorner + +- type: entity + parent: HydrogenCurb + id: HydrogenCurbCornerInside + name: hydrogen curb inside corner + components: + - type: Sprite + state: hydrogen_curb_inside_corner + drawdepth: FloorTiles + - type: Icon + state: hydrogen_curb_inside_corner + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.49,0.49,-0.25,0.25" + density: 1000 + mask: + - CrateMask + - type: Construction + node: hydrogenCurbCornerInside + +- type: entity + parent: HydrogenCurb + id: HydrogenCurbUbend + name: hydrogen curb u-bend + components: + - type: Sprite + state: hydrogen_curb_ubend + drawdepth: FloorTiles + - type: Icon + state: hydrogen_curb_ubend + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.49,-0.49,0.49,-0.25" + density: 1000 + mask: + - CrateMask + fix2: + shape: + !type:PhysShapeAabb + bounds: "-0.49,-0.49,-0.25,0.49" + density: 1000 + mask: + - CrateMask + fix3: + shape: + !type:PhysShapeAabb + bounds: "0.25,-0.49,0.49,0.49" + density: 1000 + mask: + - CrateMask + - type: Construction + node: hydrogenCurbUbend + +- type: entity + parent: HydrogenCurb + id: HydrogenCurbSquare + name: hydrogen curb square + components: + - type: Sprite + state: hydrogen_curb_square + drawdepth: FloorTiles + - type: Icon + state: hydrogen_curb_square + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.49,-0.49,0.49,-0.25" + density: 1000 + mask: + - CrateMask + fix2: + shape: + !type:PhysShapeAabb + bounds: "-0.49,-0.49,-0.25,0.49" + density: 1000 + mask: + - CrateMask + fix3: + shape: + !type:PhysShapeAabb + bounds: "0.25,-0.49,0.49,0.49" + density: 1000 + mask: + - CrateMask + - type: Construction + node: hydrogenCurbSquare diff --git a/Resources/Prototypes/_Funkystation/Entities/Structures/Piping/mailpiping.yml b/Resources/Prototypes/_Funkystation/Entities/Structures/Piping/mailpiping.yml new file mode 100644 index 00000000000..e20338f75e3 --- /dev/null +++ b/Resources/Prototypes/_Funkystation/Entities/Structures/Piping/mailpiping.yml @@ -0,0 +1,165 @@ +#mail pipes +- type: entity + id: MailPipeBroken + parent: DisposalPipeBroken + name: broken mail pipe + description: A BBP (big broken pipe). + components: + - type: Sprite + drawdepth: ThickPipe + sprite: _Funkystation/Structures/mailpipes.rsi + layers: + - map: [ "pipe" ] + state: pipe-b + +- type: entity + id: MailPipe + parent: DisposalPipe + name: mail pipe segment + description: A huge pipe segment used for sending mail. + components: + - type: Sprite + drawdepth: ThickPipe + sprite: _Funkystation/Structures/mailpipes.rsi + layers: + - map: [ "pipe" ] + state: conpipe-s + - type: Construction + graph: mailpipes + node: pipe + containers: + - DisposalTransit + +- type: entity + id: MailTagger + parent: DisposalTagger + name: mail pipe tagger + description: A pipe that tags entities for routing. + components: + - type: Sprite + drawdepth: ThickPipe + sprite: _Funkystation/Structures/mailpipes.rsi + layers: + - map: [ "pipe" ] + state: conpipe-tagger + - type: Construction + graph: mailpipes + node: tagger + +- type: entity + id: MailTrunk + parent: DisposalTrunk + name: mail trunk + description: A pipe trunk used as an entry point for mail systems. + components: + - type: Sprite + drawdepth: ThickPipe + sprite: _Funkystation/Structures/mailpipes.rsi + layers: + - map: [ "pipe" ] + state: conpipe-t + +- type: entity + id: MailRouter + parent: DisposalRouter + name: mail router + description: A three-way router. Entities with matching tags get routed to the side via configurable filters. + components: + - type: Sprite + drawdepth: ThickPipe + sprite: _Funkystation/Structures/mailpipes.rsi + layers: + - map: [ "pipe" ] + state: conpipe-j1s + +- type: entity + id: MailRouterFlipped + description: A three-way router. Entities with matching tags get routed to the side. + parent: DisposalRouterFlipped + name: mail router + suffix: flipped + components: + - type: Sprite + drawdepth: ThickPipe + sprite: _Funkystation/Structures/mailpipes.rsi + layers: + - map: [ "pipe" ] + state: conpipe-j2s + +- type: entity + id: MailJunction + parent: DisposalJunction + name: mail junction + description: A three-way junction. The arrow indicates where items exit. + components: + - type: Sprite + drawdepth: ThickPipe + sprite: _Funkystation/Structures/mailpipes.rsi + layers: + - map: [ "pipe" ] + state: conpipe-j1 + +- type: entity + id: MailJunctionFlipped + description: A three-way junction. The arrow indicates where items exit. + parent: DisposalJunctionFlipped + suffix: flipped + components: + - type: Sprite + drawdepth: ThickPipe + sprite: _Funkystation/Structures/mailpipes.rsi + layers: + - map: [ "pipe" ] + state: conpipe-j2 + +- type: entity + id: MailYJunction + parent: DisposalYJunction + name: mail y-junction + description: A three-way junction with another exit point. + components: + - type: Sprite + drawdepth: ThickPipe + sprite: _Funkystation/Structures/mailpipes.rsi + layers: + - map: [ "pipe" ] + state: conpipe-y + +- type: entity + id: MailBend + parent: DisposalBend + name: mail bend + description: A tube bent at a 90 degree angle. + components: + - type: Sprite + drawdepth: ThickPipe + sprite: _Funkystation/Structures/mailpipes.rsi + layers: + - map: [ "pipe" ] + state: conpipe-c + +- type: entity + parent: DisposalSignalRouter + id: MailSignalRouter + name: mail signal router + description: A signal-controlled three-way router. + components: + - type: Sprite + drawdepth: ThickPipe + sprite: _Funkystation/Structures/mailpipes.rsi + layers: + - map: [ "pipe" ] + state: signal-router-free + +- type: entity + parent: DisposalSignalRouterFlipped + id: MailSignalRouterFlipped + name: mail signal router + suffix: flipped + components: + - type: Sprite + drawdepth: ThickPipe + sprite: _Funkystation/Structures/mailpipes.rsi + layers: + - map: [ "pipe" ] + state: signal-router-flipped-free diff --git a/Resources/Prototypes/_Funkystation/Recipes/Construction/Graphs/Structures/curbs.yml b/Resources/Prototypes/_Funkystation/Recipes/Construction/Graphs/Structures/curbs.yml new file mode 100644 index 00000000000..e53cf750d4f --- /dev/null +++ b/Resources/Prototypes/_Funkystation/Recipes/Construction/Graphs/Structures/curbs.yml @@ -0,0 +1,371 @@ +#Steel +- type: constructionGraph + id: curbs + start: start + graph: + - node: start + edges: + - to: steelCurb + steps: + - material: Steel + amount: 1 + doAfter: 1 + - to: steelCurbCorner + steps: + - material: Steel + amount: 1 + doAfter: 1 + - to: steelCurbCornerInside + steps: + - material: Steel + amount: 1 + doAfter: 1 + - to: steelCurbUbend + steps: + - material: Steel + amount: 1 + doAfter: 1 + - to: steelCurbSquare + steps: + - material: Steel + amount: 1 + doAfter: 1 +#Brass + - to: brassCurb + steps: + - material: Brass + amount: 1 + doAfter: 1 + - to: brassCurbCorner + steps: + - material: Brass + amount: 1 + doAfter: 1 + - to: brassCurbCornerInside + steps: + - material: Brass + amount: 1 + doAfter: 1 + - to: brassCurbUbend + steps: + - material: Brass + amount: 1 + doAfter: 1 + - to: brassCurbSquare + steps: + - material: Brass + amount: 1 + doAfter: 1 +#Gold + - to: goldCurb + steps: + - material: Gold + amount: 1 + doAfter: 1 + - to: goldCurbCorner + steps: + - material: Gold + amount: 1 + doAfter: 1 + - to: goldCurbCornerInside + steps: + - material: Gold + amount: 1 + doAfter: 1 + - to: goldCurbUbend + steps: + - material: Gold + amount: 1 + doAfter: 1 + - to: goldCurbSquare + steps: + - material: Gold + amount: 1 + doAfter: 1 +#Hydrogen + - to: hydrogenCurb + steps: + - material: MetalHydrogen + amount: 1 + doAfter: 1 + - to: hydrogenCurbCorner + steps: + - material: MetalHydrogen + amount: 1 + doAfter: 1 + - to: hydrogenCurbCornerInside + steps: + - material: MetalHydrogen + amount: 1 + doAfter: 1 + - to: hydrogenCurbUbend + steps: + - material: MetalHydrogen + amount: 1 + doAfter: 1 + - to: hydrogenCurbSquare + steps: + - material: MetalHydrogen + amount: 1 + doAfter: 1 + +#Steel + - node: steelCurb + entity: SteelCurb + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 1 + - !type:DeleteEntity + steps: + - tool: Welding + doAfter: 1 + + - node: steelCurbCorner + entity: SteelCurbCorner + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 1 + - !type:DeleteEntity + steps: + - tool: Welding + doAfter: 1 + + - node: steelCurbCornerInside + entity: SteelCurbCornerInside + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 1 + - !type:DeleteEntity + steps: + - tool: Welding + doAfter: 1 + + - node: steelCurbUbend + entity: SteelCurbUbend + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 1 + - !type:DeleteEntity + steps: + - tool: Welding + doAfter: 1 + + - node: steelCurbSquare + entity: SteelCurbSquare + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 1 + - !type:DeleteEntity + steps: + - tool: Welding + doAfter: 1 +#Brass + - node: brassCurb + entity: BrassCurb + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetBrass1 + amount: 1 + - !type:DeleteEntity + steps: + - tool: Welding + doAfter: 1 + + - node: brassCurbCorner + entity: BrassCurbCorner + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetBrass1 + amount: 1 + - !type:DeleteEntity + steps: + - tool: Welding + doAfter: 1 + + - node: brassCurbCornerInside + entity: BrassCurbCornerInside + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetBrass1 + amount: 1 + - !type:DeleteEntity + steps: + - tool: Welding + doAfter: 1 + + - node: brassCurbUbend + entity: BrassCurbUbend + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetBrass1 + amount: 1 + - !type:DeleteEntity + steps: + - tool: Welding + doAfter: 1 + + - node: brassCurbSquare + entity: BrassCurbSquare + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetBrass1 + amount: 1 + - !type:DeleteEntity + steps: + - tool: Welding + doAfter: 1 +#Gold + - node: goldCurb + entity: GoldCurb + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: IngotGold1 + amount: 1 + - !type:DeleteEntity + steps: + - tool: Welding + doAfter: 1 + + - node: goldCurbCorner + entity: GoldCurbCorner + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: IngotGold1 + amount: 1 + - !type:DeleteEntity + steps: + - tool: Welding + doAfter: 1 + + - node: goldCurbCornerInside + entity: GoldCurbCornerInside + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: IngotGold1 + amount: 1 + - !type:DeleteEntity + steps: + - tool: Welding + doAfter: 1 + + - node: goldCurbUbend + entity: GoldCurbUbend + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: IngotGold1 + amount: 1 + - !type:DeleteEntity + steps: + - tool: Welding + doAfter: 1 + + - node: goldCurbSquare + entity: GoldCurbSquare + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: IngotGold1 + amount: 1 + - !type:DeleteEntity + steps: + - tool: Welding + doAfter: 1 +#Hydrogen + - node: hydrogenCurb + entity: HydrogenCurb + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: MetalHydrogen1 + amount: 1 + - !type:DeleteEntity + steps: + - tool: Welding + doAfter: 1 + + - node: hydrogenCurbCorner + entity: HydrogenCurbCorner + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: MetalHydrogen1 + amount: 1 + - !type:DeleteEntity + steps: + - tool: Welding + doAfter: 1 + + - node: hydrogenCurbCornerInside + entity: HydrogenCurbCornerInside + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: MetalHydrogen1 + amount: 1 + - !type:DeleteEntity + steps: + - tool: Welding + doAfter: 1 + + - node: hydrogenCurbUbend + entity: HydrogenCurbUbend + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: MetalHydrogen1 + amount: 1 + - !type:DeleteEntity + steps: + - tool: Welding + doAfter: 1 + + - node: hydrogenCurbSquare + entity: HydrogenCurbSquare + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: MetalHydrogen1 + amount: 1 + - !type:DeleteEntity + steps: + - tool: Welding + doAfter: 1 diff --git a/Resources/Prototypes/_Funkystation/Recipes/Construction/Graphs/Structures/mailpipes.yml b/Resources/Prototypes/_Funkystation/Recipes/Construction/Graphs/Structures/mailpipes.yml new file mode 100644 index 00000000000..a974806a6b2 --- /dev/null +++ b/Resources/Prototypes/_Funkystation/Recipes/Construction/Graphs/Structures/mailpipes.yml @@ -0,0 +1,236 @@ +- type: constructionGraph + id: mailpipes + start: start + graph: + - node: start + edges: + - to: pipe + steps: + - material: Steel + amount: 2 + doAfter: 1 + - to: tagger + steps: + - material: Steel + amount: 2 + doAfter: 1 + - to: trunk + steps: + - material: Steel + amount: 2 + doAfter: 1 + # DisposalRouter + - to: router + steps: + - material: Steel + amount: 2 + doAfter: 1 + - to: routerflipped + steps: + - material: Steel + amount: 2 + doAfter: 1 + # DisposalJunction + - to: junction + steps: + - material: Steel + amount: 2 + doAfter: 1 + - to: junctionflipped + steps: + - material: Steel + amount: 2 + doAfter: 1 + - to: yJunction + steps: + - material: Steel + amount: 2 + doAfter: 1 + - to: bend + steps: + - material: Steel + amount: 2 + doAfter: 1 + # DisposalSignalRouter + - to: signal_router + steps: + - material: Steel + amount: 2 + doAfter: 1 + - material: Cable + amount: 1 + doAfter: 1 + - to: signal_router_flipped + steps: + - material: Steel + amount: 2 + doAfter: 1 + - material: Cable + amount: 1 + doAfter: 1 + - node: broken + entity: DisposalPipeBroken + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + - !type:DeleteEntity + steps: + - tool: Welding + doAfter: 1 + - node: pipe + entity: MailPipe + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 2 + - !type:DeleteEntity + steps: + - tool: Welding + doAfter: 1 + - node: tagger + entity: MailTagger + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 2 + - !type:DeleteEntity + steps: + - tool: Welding + doAfter: 1 + - node: trunk + entity: MailTrunk + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 2 + - !type:DeleteEntity + steps: + - tool: Welding + doAfter: 1 + # DisposalRouter + - node: router + entity: MailRouter + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 2 + - !type:DeleteEntity + steps: + - tool: Welding + doAfter: 1 + - node: routerflipped + entity: MailRouterFlipped + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 2 + - !type:DeleteEntity + steps: + - tool: Welding + doAfter: 1 + # DisposalJunction + - node: junction + entity: MailJunction + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 2 + - !type:DeleteEntity + steps: + - tool: Welding + doAfter: 1 + - to: yJunction + steps: + - tool: Screwing + doAfter: 1 + - node: junctionflipped + entity: MailJunctionFlipped + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 2 + - !type:DeleteEntity + steps: + - tool: Welding + doAfter: 1 + - to: yJunction + steps: + - tool: Screwing + doAfter: 1 + - node: yJunction + entity: MailYJunction + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 2 + - !type:DeleteEntity + steps: + - tool: Welding + doAfter: 1 + - to: junction + steps: + - tool: Screwing + doAfter: 1 + - to: junctionflipped + steps: + - tool: Screwing + doAfter: 1 + - node: bend + entity: MailBend + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 2 + - !type:DeleteEntity + steps: + - tool: Welding + doAfter: 1 + # DisposalRouter + - node: signal_router + entity: MailSignalRouter + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 2 + - !type:SpawnPrototype + prototype: CableApcStack1 + - !type:DeleteEntity + steps: + - tool: Welding + doAfter: 1 + - node: signal_router_flipped + entity: MailSignalRouterFlipped + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 2 + - !type:SpawnPrototype + prototype: CableApcStack1 + - !type:DeleteEntity + steps: + - tool: Welding + doAfter: 1 diff --git a/Resources/Prototypes/_Funkystation/Recipes/Construction/Graphs/Structures/structures.yml b/Resources/Prototypes/_Funkystation/Recipes/Construction/Graphs/Structures/structures.yml new file mode 100644 index 00000000000..7af8179b100 --- /dev/null +++ b/Resources/Prototypes/_Funkystation/Recipes/Construction/Graphs/Structures/structures.yml @@ -0,0 +1,203 @@ +#Steel +- type: construction + name: structures-steel-curb + id: SteelCurb + graph: curbs + startNode: start + targetNode: steelCurb + category: construction-category-structures + placementMode: SnapgridCenter + objectType: Structure + +- type: construction + name: structures-steel-curb-corner + id: SteelCurbCorner + graph: curbs + startNode: start + targetNode: steelCurbCorner + category: construction-category-structures + placementMode: SnapgridCenter + objectType: Structure + +- type: construction + name: structures-steel-curb-inside-corner + id: SteelCurbCornerInside + graph: curbs + startNode: start + targetNode: steelCurbCornerInside + category: construction-category-structures + placementMode: SnapgridCenter + objectType: Structure + +- type: construction + name: structures-steel-curb-ubend + id: SteelCurbUbend + graph: curbs + startNode: start + targetNode: steelCurbUbend + category: construction-category-structures + placementMode: SnapgridCenter + objectType: Structure + +- type: construction + name: structures-steel-curb-square + id: SteelCurbSquare + graph: curbs + startNode: start + targetNode: steelCurbSquare + category: construction-category-structures + placementMode: SnapgridCenter + objectType: Structure + +#Brass +- type: construction + name: structures-brass-curb + id: BrassCurb + graph: curbs + startNode: start + targetNode: brassCurb + category: construction-category-structures + placementMode: SnapgridCenter + objectType: Structure + +- type: construction + name: structures-brass-curb-corner + id: BrassCurbCorner + graph: curbs + startNode: start + targetNode: brassCurbCorner + category: construction-category-structures + placementMode: SnapgridCenter + objectType: Structure + +- type: construction + name: structures-brass-curb-inside-corner + id: BrassCurbCornerInside + graph: curbs + startNode: start + targetNode: brassCurbCornerInside + category: construction-category-structures + placementMode: SnapgridCenter + objectType: Structure + +- type: construction + name: structures-brass-curb-ubend + id: BrassCurbUbend + graph: curbs + startNode: start + targetNode: brassCurbUbend + category: construction-category-structures + placementMode: SnapgridCenter + objectType: Structure + +- type: construction + name: structures-brass-curb-square + id: BrassCurbSquare + graph: curbs + startNode: start + targetNode: brassCurbSquare + category: construction-category-structures + placementMode: SnapgridCenter + objectType: Structure + +#Gold +- type: construction + name: structures-gold-curb + id: GoldCurb + graph: curbs + startNode: start + targetNode: goldCurb + category: construction-category-structures + placementMode: SnapgridCenter + objectType: Structure + +- type: construction + name: structures-gold-curb-corner + id: GoldCurbCorner + graph: curbs + startNode: start + targetNode: goldCurbCorner + category: construction-category-structures + placementMode: SnapgridCenter + objectType: Structure + +- type: construction + name: structures-gold-curb-inside-corner + id: GoldCurbCornerInside + graph: curbs + startNode: start + targetNode: goldCurbCornerInside + category: construction-category-structures + placementMode: SnapgridCenter + objectType: Structure + +- type: construction + name: structures-gold-curb-ubend + id: GoldCurbUbend + graph: curbs + startNode: start + targetNode: goldCurbUbend + category: construction-category-structures + placementMode: SnapgridCenter + objectType: Structure + +- type: construction + name: structures-gold-curb-square + id: GoldCurbSquare + graph: curbs + startNode: start + targetNode: goldCurbSquare + category: construction-category-structures + placementMode: SnapgridCenter + objectType: Structure + +#Hydrogen +- type: construction + name: structures-hydrogen-curb + id: HydrogenCurb + graph: curbs + startNode: start + targetNode: hydrogenCurb + category: construction-category-structures + placementMode: SnapgridCenter + objectType: Structure + +- type: construction + name: structures-hydrogen-curb-corner + id: HydrogenCurbCorner + graph: curbs + startNode: start + targetNode: hydrogenCurbCorner + category: construction-category-structures + placementMode: SnapgridCenter + objectType: Structure + +- type: construction + name: structures-hydrogen-curb-inside-corner + id: HydrogenCurbCornerInside + graph: curbs + startNode: start + targetNode: hydrogenCurbCornerInside + category: construction-category-structures + placementMode: SnapgridCenter + objectType: Structure + +- type: construction + name: structures-hydrogen-curb-ubend + id: HydrogenCurbUbend + graph: curbs + startNode: start + targetNode: hydrogenCurbUbend + category: construction-category-structures + placementMode: SnapgridCenter + objectType: Structure + +- type: construction + name: structures-hydrogen-curb-square + id: HydrogenCurbSquare + graph: curbs + startNode: start + targetNode: hydrogenCurbSquare + category: construction-category-structures + placementMode: SnapgridCenter + objectType: Structure diff --git a/Resources/Prototypes/_Funkystation/Recipes/Construction/Graphs/utilities.yml b/Resources/Prototypes/_Funkystation/Recipes/Construction/Graphs/utilities.yml new file mode 100644 index 00000000000..fdf852246c2 --- /dev/null +++ b/Resources/Prototypes/_Funkystation/Recipes/Construction/Graphs/utilities.yml @@ -0,0 +1,109 @@ +- type: construction + name: structures-mail-pipe + id: MailPipe + graph: mailpipes + startNode: start + targetNode: pipe + category: construction-category-utilities + placementMode: SnapgridCenter + canBuildInImpassable: false + +- type: construction + name: structures-mail-tagger + id: MailTagger + graph: mailpipes + startNode: start + targetNode: tagger + category: construction-category-utilities + placementMode: SnapgridCenter + canBuildInImpassable: false + +- type: construction + name: structures-mail-trunk + id: MailTrunk + graph: mailpipes + startNode: start + targetNode: trunk + category: construction-category-utilities + placementMode: SnapgridCenter + canBuildInImpassable: false + +- type: construction + name: structures-mail-router + id: MailRouter + graph: mailpipes + startNode: start + targetNode: router + category: construction-category-utilities + placementMode: SnapgridCenter + canBuildInImpassable: false + +- type: construction + name: structures-mail-router-flipped + id: MailRouterFlipped + graph: mailpipes + startNode: start + targetNode: routerflipped + category: construction-category-utilities + placementMode: SnapgridCenter + canBuildInImpassable: false + +- type: construction + name: structures-mail-junction + id: MailJunction + graph: mailpipes + startNode: start + targetNode: junction + category: construction-category-utilities + placementMode: SnapgridCenter + canBuildInImpassable: false + +- type: construction + name: structures-mail-junction-flipped + id: MailJunctionFlipped + graph: mailpipes + startNode: start + targetNode: junctionflipped + category: construction-category-utilities + placementMode: SnapgridCenter + canBuildInImpassable: false + +- type: construction + name: structures-mail-y-junction + id: MailYJunction + graph: mailpipes + startNode: start + targetNode: yJunction + category: construction-category-utilities + placementMode: SnapgridCenter + canBuildInImpassable: false + +- type: construction + name: structures-mail-bend + id: MailBend + graph: mailpipes + startNode: start + targetNode: bend + category: construction-category-utilities + placementMode: SnapgridCenter + canBuildInImpassable: false + +- type: construction + name: structures-mail-signal-router + id: MailSignalRouter + graph: mailpipes + startNode: start + targetNode: signal_router + category: construction-category-utilities + placementMode: SnapgridCenter + canBuildInImpassable: false + +- type: construction + name: structures-mail-signal-signal-router-flipped + id: MailSignalRouterFlipped + graph: mailpipes + startNode: start + targetNode: signal_router_flipped + category: construction-category-utilities + placementMode: SnapgridCenter + canBuildInImpassable: false diff --git a/Resources/Textures/Structures/Furniture/chairs.rsi/meta.json b/Resources/Textures/Structures/Furniture/chairs.rsi/meta.json index 1616f665c8a..2607a24d0e6 100644 --- a/Resources/Textures/Structures/Furniture/chairs.rsi/meta.json +++ b/Resources/Textures/Structures/Furniture/chairs.rsi/meta.json @@ -106,6 +106,9 @@ { "name": "card-stool", "directions": 4 + }, + { + "name": "rainbow_chair" } ] } diff --git a/Resources/Textures/Structures/Furniture/chairs.rsi/rainbow_chair.png b/Resources/Textures/Structures/Furniture/chairs.rsi/rainbow_chair.png new file mode 100644 index 00000000000..ca2acb584c5 Binary files /dev/null and b/Resources/Textures/Structures/Furniture/chairs.rsi/rainbow_chair.png differ diff --git a/Resources/Textures/Structures/Storage/canister.rsi/can-rainbow.png b/Resources/Textures/Structures/Storage/canister.rsi/can-rainbow.png new file mode 100644 index 00000000000..232d57dcf5e Binary files /dev/null and b/Resources/Textures/Structures/Storage/canister.rsi/can-rainbow.png differ diff --git a/Resources/Textures/Structures/Storage/canister.rsi/meta.json b/Resources/Textures/Structures/Storage/canister.rsi/meta.json index 4cae50b9c8a..d67acd21579 100644 --- a/Resources/Textures/Structures/Storage/canister.rsi/meta.json +++ b/Resources/Textures/Structures/Storage/canister.rsi/meta.json @@ -189,6 +189,9 @@ }, { "name": "antinob-1" + }, + { + "name": "can-rainbow" } ] } diff --git a/Resources/Textures/Structures/Storage/closet.rsi/meta.json b/Resources/Textures/Structures/Storage/closet.rsi/meta.json index f3295b97183..766b5cb51cf 100644 --- a/Resources/Textures/Structures/Storage/closet.rsi/meta.json +++ b/Resources/Textures/Structures/Storage/closet.rsi/meta.json @@ -603,6 +603,9 @@ }, { "name": "representative_door" + }, + { + "name": "rainbow_locker" } ] } diff --git a/Resources/Textures/Structures/Storage/closet.rsi/rainbow_locker.png b/Resources/Textures/Structures/Storage/closet.rsi/rainbow_locker.png new file mode 100644 index 00000000000..8b01c86af89 Binary files /dev/null and b/Resources/Textures/Structures/Storage/closet.rsi/rainbow_locker.png differ diff --git a/Resources/Textures/Structures/Storage/tanks.rsi/meta.json b/Resources/Textures/Structures/Storage/tanks.rsi/meta.json index 93b557cf5a2..0f972615923 100644 --- a/Resources/Textures/Structures/Storage/tanks.rsi/meta.json +++ b/Resources/Textures/Structures/Storage/tanks.rsi/meta.json @@ -115,6 +115,9 @@ { "name": "watercooler-2-4" }, + { + "name": "rainbow_tank" + }, { "name": "generictank-1" } diff --git a/Resources/Textures/Structures/Storage/tanks.rsi/rainbow_tank.png b/Resources/Textures/Structures/Storage/tanks.rsi/rainbow_tank.png new file mode 100644 index 00000000000..8b4a8733f99 Binary files /dev/null and b/Resources/Textures/Structures/Storage/tanks.rsi/rainbow_tank.png differ diff --git a/Resources/Textures/_Funkystation/Objects/Decoration/WoodenSupportLight.rsi/base.png b/Resources/Textures/_Funkystation/Objects/Decoration/WoodenSupportLight.rsi/base.png new file mode 100644 index 00000000000..0b2a11985b2 Binary files /dev/null and b/Resources/Textures/_Funkystation/Objects/Decoration/WoodenSupportLight.rsi/base.png differ diff --git a/Resources/Textures/_Funkystation/Objects/Decoration/WoodenSupportLight.rsi/broken.png b/Resources/Textures/_Funkystation/Objects/Decoration/WoodenSupportLight.rsi/broken.png new file mode 100644 index 00000000000..2205176d042 Binary files /dev/null and b/Resources/Textures/_Funkystation/Objects/Decoration/WoodenSupportLight.rsi/broken.png differ diff --git a/Resources/Textures/_Funkystation/Objects/Decoration/WoodenSupportLight.rsi/burned.png b/Resources/Textures/_Funkystation/Objects/Decoration/WoodenSupportLight.rsi/burned.png new file mode 100644 index 00000000000..0e56feb8688 Binary files /dev/null and b/Resources/Textures/_Funkystation/Objects/Decoration/WoodenSupportLight.rsi/burned.png differ diff --git a/Resources/Textures/_Funkystation/Objects/Decoration/WoodenSupportLight.rsi/empty.png b/Resources/Textures/_Funkystation/Objects/Decoration/WoodenSupportLight.rsi/empty.png new file mode 100644 index 00000000000..0680d831e10 Binary files /dev/null and b/Resources/Textures/_Funkystation/Objects/Decoration/WoodenSupportLight.rsi/empty.png differ diff --git a/Resources/Textures/_Funkystation/Objects/Decoration/WoodenSupportLight.rsi/glow.png b/Resources/Textures/_Funkystation/Objects/Decoration/WoodenSupportLight.rsi/glow.png new file mode 100644 index 00000000000..145a4ae3c32 Binary files /dev/null and b/Resources/Textures/_Funkystation/Objects/Decoration/WoodenSupportLight.rsi/glow.png differ diff --git a/Resources/Textures/_Funkystation/Objects/Decoration/WoodenSupportLight.rsi/meta.json b/Resources/Textures/_Funkystation/Objects/Decoration/WoodenSupportLight.rsi/meta.json new file mode 100644 index 00000000000..17b47b4c238 --- /dev/null +++ b/Resources/Textures/_Funkystation/Objects/Decoration/WoodenSupportLight.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from TGMC at commit https://github.com/tgstation/TerraGov-Marine-Corps/commit/4bf5d1aafbcbbb7bd2a7d0f52ef87f28e2bbb384 mashed up with https://github.com/discordia-space/CEV-Eris/blob/2b969adc2dfd3e9621bf3597c5cbffeb3ac8c9f0/icons/obj/lighting.dmi by mkanke", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "base" + }, + { + "name": "broken" + }, + { + "name": "burned" + }, + { + "name": "empty" + }, + { + "name": "glow" + } + ] +} diff --git a/Resources/Textures/_Funkystation/Objects/Tools/rainbow_toolbox.rsi/meta.json b/Resources/Textures/_Funkystation/Objects/Tools/rainbow_toolbox.rsi/meta.json new file mode 100644 index 00000000000..b6c6c6047e7 --- /dev/null +++ b/Resources/Textures/_Funkystation/Objects/Tools/rainbow_toolbox.rsi/meta.json @@ -0,0 +1,14 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from baystation at commit https://github.com/Baystation12/Baystation12/commit/a929584d9db319eb7484113221be25cfa1d5dc09", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "rainbow_toolbox" + } + ] +} diff --git a/Resources/Textures/_Funkystation/Objects/Tools/rainbow_toolbox.rsi/rainbow_toolbox.png b/Resources/Textures/_Funkystation/Objects/Tools/rainbow_toolbox.rsi/rainbow_toolbox.png new file mode 100644 index 00000000000..e52e520aa8f Binary files /dev/null and b/Resources/Textures/_Funkystation/Objects/Tools/rainbow_toolbox.rsi/rainbow_toolbox.png differ diff --git a/Resources/Textures/_Funkystation/Structures/brokencatwalk.rsi/broken.png b/Resources/Textures/_Funkystation/Structures/brokencatwalk.rsi/broken.png new file mode 100644 index 00000000000..f8e843ed0b4 Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/brokencatwalk.rsi/broken.png differ diff --git a/Resources/Textures/_Funkystation/Structures/brokencatwalk.rsi/catwalk_0.png b/Resources/Textures/_Funkystation/Structures/brokencatwalk.rsi/catwalk_0.png new file mode 100644 index 00000000000..cc49bd63911 Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/brokencatwalk.rsi/catwalk_0.png differ diff --git a/Resources/Textures/_Funkystation/Structures/brokencatwalk.rsi/catwalk_1.png b/Resources/Textures/_Funkystation/Structures/brokencatwalk.rsi/catwalk_1.png new file mode 100644 index 00000000000..680b2a96aba Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/brokencatwalk.rsi/catwalk_1.png differ diff --git a/Resources/Textures/_Funkystation/Structures/brokencatwalk.rsi/catwalk_2.png b/Resources/Textures/_Funkystation/Structures/brokencatwalk.rsi/catwalk_2.png new file mode 100644 index 00000000000..a2295320bb3 Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/brokencatwalk.rsi/catwalk_2.png differ diff --git a/Resources/Textures/_Funkystation/Structures/brokencatwalk.rsi/catwalk_3.png b/Resources/Textures/_Funkystation/Structures/brokencatwalk.rsi/catwalk_3.png new file mode 100644 index 00000000000..680b2a96aba Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/brokencatwalk.rsi/catwalk_3.png differ diff --git a/Resources/Textures/_Funkystation/Structures/brokencatwalk.rsi/catwalk_4.png b/Resources/Textures/_Funkystation/Structures/brokencatwalk.rsi/catwalk_4.png new file mode 100644 index 00000000000..fa879556562 Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/brokencatwalk.rsi/catwalk_4.png differ diff --git a/Resources/Textures/_Funkystation/Structures/brokencatwalk.rsi/catwalk_5.png b/Resources/Textures/_Funkystation/Structures/brokencatwalk.rsi/catwalk_5.png new file mode 100644 index 00000000000..eef2c0ec2af Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/brokencatwalk.rsi/catwalk_5.png differ diff --git a/Resources/Textures/_Funkystation/Structures/brokencatwalk.rsi/catwalk_6.png b/Resources/Textures/_Funkystation/Structures/brokencatwalk.rsi/catwalk_6.png new file mode 100644 index 00000000000..fa879556562 Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/brokencatwalk.rsi/catwalk_6.png differ diff --git a/Resources/Textures/_Funkystation/Structures/brokencatwalk.rsi/catwalk_7.png b/Resources/Textures/_Funkystation/Structures/brokencatwalk.rsi/catwalk_7.png new file mode 100644 index 00000000000..88ffa378d2a Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/brokencatwalk.rsi/catwalk_7.png differ diff --git a/Resources/Textures/_Funkystation/Structures/brokencatwalk.rsi/meta.json b/Resources/Textures/_Funkystation/Structures/brokencatwalk.rsi/meta.json new file mode 100644 index 00000000000..906de43fbc6 --- /dev/null +++ b/Resources/Textures/_Funkystation/Structures/brokencatwalk.rsi/meta.json @@ -0,0 +1,46 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/c6e3401f2e7e1e55c57060cdf956a98ef1fefc24 and modified by Swept, modified by mkanke for the broken sprite", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "catwalk_0", + "directions": 4 + }, + { + "name": "catwalk_1", + "directions": 4 + }, + { + "name": "catwalk_2", + "directions": 4 + }, + { + "name": "catwalk_3", + "directions": 4 + }, + { + "name": "catwalk_4", + "directions": 4 + }, + { + "name": "catwalk_5", + "directions": 4 + }, + { + "name": "catwalk_6", + "directions": 4 + }, + { + "name": "catwalk_7", + "directions": 4 + }, + { + "name": "broken" + } + ] +} diff --git a/Resources/Textures/_Funkystation/Structures/curbs.rsi/brass_curb.png b/Resources/Textures/_Funkystation/Structures/curbs.rsi/brass_curb.png new file mode 100644 index 00000000000..2f78aa642b7 Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/curbs.rsi/brass_curb.png differ diff --git a/Resources/Textures/_Funkystation/Structures/curbs.rsi/brass_curb_corner.png b/Resources/Textures/_Funkystation/Structures/curbs.rsi/brass_curb_corner.png new file mode 100644 index 00000000000..c6f2c877dff Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/curbs.rsi/brass_curb_corner.png differ diff --git a/Resources/Textures/_Funkystation/Structures/curbs.rsi/brass_curb_inside_corner.png b/Resources/Textures/_Funkystation/Structures/curbs.rsi/brass_curb_inside_corner.png new file mode 100644 index 00000000000..bb79c6250a5 Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/curbs.rsi/brass_curb_inside_corner.png differ diff --git a/Resources/Textures/_Funkystation/Structures/curbs.rsi/brass_curb_square.png b/Resources/Textures/_Funkystation/Structures/curbs.rsi/brass_curb_square.png new file mode 100644 index 00000000000..462a573f186 Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/curbs.rsi/brass_curb_square.png differ diff --git a/Resources/Textures/_Funkystation/Structures/curbs.rsi/brass_curb_ubend.png b/Resources/Textures/_Funkystation/Structures/curbs.rsi/brass_curb_ubend.png new file mode 100644 index 00000000000..b24ad3cb998 Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/curbs.rsi/brass_curb_ubend.png differ diff --git a/Resources/Textures/_Funkystation/Structures/curbs.rsi/gold_curb.png b/Resources/Textures/_Funkystation/Structures/curbs.rsi/gold_curb.png new file mode 100644 index 00000000000..8edc2583d62 Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/curbs.rsi/gold_curb.png differ diff --git a/Resources/Textures/_Funkystation/Structures/curbs.rsi/gold_curb_corner.png b/Resources/Textures/_Funkystation/Structures/curbs.rsi/gold_curb_corner.png new file mode 100644 index 00000000000..27eac657f00 Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/curbs.rsi/gold_curb_corner.png differ diff --git a/Resources/Textures/_Funkystation/Structures/curbs.rsi/gold_curb_inside_corner.png b/Resources/Textures/_Funkystation/Structures/curbs.rsi/gold_curb_inside_corner.png new file mode 100644 index 00000000000..297406f525e Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/curbs.rsi/gold_curb_inside_corner.png differ diff --git a/Resources/Textures/_Funkystation/Structures/curbs.rsi/gold_curb_square.png b/Resources/Textures/_Funkystation/Structures/curbs.rsi/gold_curb_square.png new file mode 100644 index 00000000000..dc95a5520a2 Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/curbs.rsi/gold_curb_square.png differ diff --git a/Resources/Textures/_Funkystation/Structures/curbs.rsi/gold_curb_ubend.png b/Resources/Textures/_Funkystation/Structures/curbs.rsi/gold_curb_ubend.png new file mode 100644 index 00000000000..4dd1bb728e8 Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/curbs.rsi/gold_curb_ubend.png differ diff --git a/Resources/Textures/_Funkystation/Structures/curbs.rsi/hydrogen_curb.png b/Resources/Textures/_Funkystation/Structures/curbs.rsi/hydrogen_curb.png new file mode 100644 index 00000000000..58d034597b1 Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/curbs.rsi/hydrogen_curb.png differ diff --git a/Resources/Textures/_Funkystation/Structures/curbs.rsi/hydrogen_curb_corner.png b/Resources/Textures/_Funkystation/Structures/curbs.rsi/hydrogen_curb_corner.png new file mode 100644 index 00000000000..6fff8ee6c1d Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/curbs.rsi/hydrogen_curb_corner.png differ diff --git a/Resources/Textures/_Funkystation/Structures/curbs.rsi/hydrogen_curb_inside_corner.png b/Resources/Textures/_Funkystation/Structures/curbs.rsi/hydrogen_curb_inside_corner.png new file mode 100644 index 00000000000..af263785a59 Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/curbs.rsi/hydrogen_curb_inside_corner.png differ diff --git a/Resources/Textures/_Funkystation/Structures/curbs.rsi/hydrogen_curb_square.png b/Resources/Textures/_Funkystation/Structures/curbs.rsi/hydrogen_curb_square.png new file mode 100644 index 00000000000..1b24d284b60 Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/curbs.rsi/hydrogen_curb_square.png differ diff --git a/Resources/Textures/_Funkystation/Structures/curbs.rsi/hydrogen_curb_ubend.png b/Resources/Textures/_Funkystation/Structures/curbs.rsi/hydrogen_curb_ubend.png new file mode 100644 index 00000000000..5deacc4b37a Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/curbs.rsi/hydrogen_curb_ubend.png differ diff --git a/Resources/Textures/_Funkystation/Structures/curbs.rsi/meta.json b/Resources/Textures/_Funkystation/Structures/curbs.rsi/meta.json new file mode 100644 index 00000000000..434442d9b18 --- /dev/null +++ b/Resources/Textures/_Funkystation/Structures/curbs.rsi/meta.json @@ -0,0 +1,72 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Made by mkanke for Funkystation https://funkystation.org/", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "steel_curb" + }, + { + "name": "steel_curb_corner" + }, + { + "name": "steel_curb_inside_corner" + }, + { + "name": "steel_curb_square" + }, + { + "name": "steel_curb_ubend" + }, + { + "name": "brass_curb" + }, + { + "name": "brass_curb_corner" + }, + { + "name": "brass_curb_inside_corner" + }, + { + "name": "brass_curb_square" + }, + { + "name": "brass_curb_ubend" + }, + { + "name": "gold_curb" + }, + { + "name": "gold_curb_corner" + }, + { + "name": "gold_curb_inside_corner" + }, + { + "name": "gold_curb_square" + }, + { + "name": "gold_curb_ubend" + }, + { + "name": "hydrogen_curb" + }, + { + "name": "hydrogen_curb_corner" + }, + { + "name": "hydrogen_curb_inside_corner" + }, + { + "name": "hydrogen_curb_square" + }, + { + "name": "hydrogen_curb_ubend" + } + + ] +} diff --git a/Resources/Textures/_Funkystation/Structures/curbs.rsi/steel_curb.png b/Resources/Textures/_Funkystation/Structures/curbs.rsi/steel_curb.png new file mode 100644 index 00000000000..f4395fa8b7f Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/curbs.rsi/steel_curb.png differ diff --git a/Resources/Textures/_Funkystation/Structures/curbs.rsi/steel_curb_corner.png b/Resources/Textures/_Funkystation/Structures/curbs.rsi/steel_curb_corner.png new file mode 100644 index 00000000000..8f9e3faa38b Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/curbs.rsi/steel_curb_corner.png differ diff --git a/Resources/Textures/_Funkystation/Structures/curbs.rsi/steel_curb_inside_corner.png b/Resources/Textures/_Funkystation/Structures/curbs.rsi/steel_curb_inside_corner.png new file mode 100644 index 00000000000..5952285bb58 Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/curbs.rsi/steel_curb_inside_corner.png differ diff --git a/Resources/Textures/_Funkystation/Structures/curbs.rsi/steel_curb_square.png b/Resources/Textures/_Funkystation/Structures/curbs.rsi/steel_curb_square.png new file mode 100644 index 00000000000..f36f4ea65c4 Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/curbs.rsi/steel_curb_square.png differ diff --git a/Resources/Textures/_Funkystation/Structures/curbs.rsi/steel_curb_ubend.png b/Resources/Textures/_Funkystation/Structures/curbs.rsi/steel_curb_ubend.png new file mode 100644 index 00000000000..926a6ff5ff6 Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/curbs.rsi/steel_curb_ubend.png differ diff --git a/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/conpipe-c.png b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/conpipe-c.png new file mode 100644 index 00000000000..d0a367cb26b Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/conpipe-c.png differ diff --git a/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/conpipe-j1.png b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/conpipe-j1.png new file mode 100644 index 00000000000..a93c6c44ca3 Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/conpipe-j1.png differ diff --git a/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/conpipe-j1s.png b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/conpipe-j1s.png new file mode 100644 index 00000000000..99945c1d8fc Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/conpipe-j1s.png differ diff --git a/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/conpipe-j2.png b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/conpipe-j2.png new file mode 100644 index 00000000000..3fbfb3befc8 Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/conpipe-j2.png differ diff --git a/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/conpipe-j2s.png b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/conpipe-j2s.png new file mode 100644 index 00000000000..4708aa8ad70 Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/conpipe-j2s.png differ diff --git a/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/conpipe-s.png b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/conpipe-s.png new file mode 100644 index 00000000000..d60d9ec6564 Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/conpipe-s.png differ diff --git a/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/conpipe-t.png b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/conpipe-t.png new file mode 100644 index 00000000000..cfbdeb96d0f Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/conpipe-t.png differ diff --git a/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/conpipe-tagger.png b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/conpipe-tagger.png new file mode 100644 index 00000000000..de7f58173d3 Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/conpipe-tagger.png differ diff --git a/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/conpipe-y.png b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/conpipe-y.png new file mode 100644 index 00000000000..7bec1a5e589 Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/conpipe-y.png differ diff --git a/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/meta.json b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/meta.json new file mode 100644 index 00000000000..59d7808f87e --- /dev/null +++ b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/meta.json @@ -0,0 +1,151 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "https://github.com/discordia-space/CEV-Eris/blob/bbe32606902c90f5290b57d905a3f31b84dc6d7d/icons/obj/pipes/disposal.dmi and modified by DrSmugleaf. Signal router sprites based on normal router modified by deltanedas (github). disposal bins by EmoGarbage404 (github), recolored by mkanke", + "states": [ + { + "name": "conpipe-c", + "directions": 4 + }, + { + "name": "conpipe-j1", + "directions": 4 + }, + { + "name": "conpipe-j1s", + "directions": 4 + }, + { + "name": "conpipe-j2", + "directions": 4 + }, + { + "name": "conpipe-j2s", + "directions": 4 + }, + { + "name": "conpipe-s", + "directions": 4 + }, + { + "name": "conpipe-t", + "directions": 4 + }, + { + "name": "conpipe-tagger", + "directions": 4 + }, + { + "name": "conpipe-y", + "directions": 4 + }, + { + "name": "pipe-b", + "directions": 4 + }, + { + "name": "pipe-bf", + "directions": 4 + }, + { + "name": "pipe-c", + "directions": 4 + }, + { + "name": "pipe-cf", + "directions": 4 + }, + { + "name": "pipe-d", + "directions": 4 + }, + { + "name": "pipe-j1", + "directions": 4 + }, + { + "name": "pipe-j1f", + "directions": 4 + }, + { + "name": "pipe-j1s", + "directions": 4 + }, + { + "name": "pipe-j1sf", + "directions": 4 + }, + { + "name": "pipe-j2", + "directions": 4 + }, + { + "name": "pipe-j2f", + "directions": 4 + }, + { + "name": "pipe-j2s", + "directions": 4 + }, + { + "name": "pipe-j2sf", + "directions": 4 + }, + { + "name": "pipe-s", + "directions": 4 + }, + { + "name": "pipe-sf", + "directions": 4 + }, + { + "name": "pipe-t", + "directions": 4 + }, + { + "name": "pipe-tagger", + "directions": 4 + }, + { + "name": "pipe-tagger-partial", + "directions": 4 + }, + { + "name": "pipe-tf", + "directions": 4 + }, + { + "name": "pipe-u", + "directions": 4 + }, + { + "name": "pipe-y", + "directions": 4 + }, + { + "name": "pipe-yf", + "directions": 4 + }, + { + "name": "signal-router", + "directions": 4 + }, + { + "name": "signal-router-free", + "directions": 4 + }, + { + "name": "signal-router-flipped", + "directions": 4 + }, + { + "name": "signal-router-flipped-free", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-b.png b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-b.png new file mode 100644 index 00000000000..0eeb133ff02 Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-b.png differ diff --git a/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-bf.png b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-bf.png new file mode 100644 index 00000000000..f520d02ff83 Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-bf.png differ diff --git a/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-c.png b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-c.png new file mode 100644 index 00000000000..fc568c2063e Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-c.png differ diff --git a/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-cf.png b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-cf.png new file mode 100644 index 00000000000..3910b9de3ae Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-cf.png differ diff --git a/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-d.png b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-d.png new file mode 100644 index 00000000000..6eec51931ba Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-d.png differ diff --git a/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-j1.png b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-j1.png new file mode 100644 index 00000000000..9f4c3806d31 Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-j1.png differ diff --git a/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-j1f.png b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-j1f.png new file mode 100644 index 00000000000..4c200b67752 Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-j1f.png differ diff --git a/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-j1s.png b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-j1s.png new file mode 100644 index 00000000000..350f6db11b1 Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-j1s.png differ diff --git a/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-j1sf.png b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-j1sf.png new file mode 100644 index 00000000000..b065f00d322 Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-j1sf.png differ diff --git a/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-j2.png b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-j2.png new file mode 100644 index 00000000000..e4b8cc6ae2e Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-j2.png differ diff --git a/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-j2f.png b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-j2f.png new file mode 100644 index 00000000000..8c7c6d76de0 Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-j2f.png differ diff --git a/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-j2s.png b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-j2s.png new file mode 100644 index 00000000000..193ed219e68 Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-j2s.png differ diff --git a/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-j2sf.png b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-j2sf.png new file mode 100644 index 00000000000..3a6812f8e31 Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-j2sf.png differ diff --git a/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-s.png b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-s.png new file mode 100644 index 00000000000..860dc251416 Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-s.png differ diff --git a/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-sf.png b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-sf.png new file mode 100644 index 00000000000..ef25a0dfc44 Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-sf.png differ diff --git a/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-t.png b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-t.png new file mode 100644 index 00000000000..cfbdeb96d0f Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-t.png differ diff --git a/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-tagger-partial.png b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-tagger-partial.png new file mode 100644 index 00000000000..811228dd89f Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-tagger-partial.png differ diff --git a/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-tagger.png b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-tagger.png new file mode 100644 index 00000000000..baaed79deb8 Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-tagger.png differ diff --git a/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-tf.png b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-tf.png new file mode 100644 index 00000000000..b5730c8a54e Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-tf.png differ diff --git a/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-u.png b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-u.png new file mode 100644 index 00000000000..cfbdeb96d0f Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-u.png differ diff --git a/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-y.png b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-y.png new file mode 100644 index 00000000000..ceee0b7f3ea Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-y.png differ diff --git a/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-yf.png b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-yf.png new file mode 100644 index 00000000000..a9e37dff62a Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/pipe-yf.png differ diff --git a/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/signal-router-flipped-free.png b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/signal-router-flipped-free.png new file mode 100644 index 00000000000..701b4fa49e1 Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/signal-router-flipped-free.png differ diff --git a/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/signal-router-flipped.png b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/signal-router-flipped.png new file mode 100644 index 00000000000..63ba5576312 Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/signal-router-flipped.png differ diff --git a/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/signal-router-free.png b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/signal-router-free.png new file mode 100644 index 00000000000..1e44a8a0e85 Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/signal-router-free.png differ diff --git a/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/signal-router.png b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/signal-router.png new file mode 100644 index 00000000000..7f73c92bf7f Binary files /dev/null and b/Resources/Textures/_Funkystation/Structures/mailpipes.rsi/signal-router.png differ