diff --git a/Content.Shared/Foldable/FoldableSystem.cs b/Content.Shared/Foldable/FoldableSystem.cs index 63ef376d5f..88a120cbcd 100644 --- a/Content.Shared/Foldable/FoldableSystem.cs +++ b/Content.Shared/Foldable/FoldableSystem.cs @@ -19,6 +19,7 @@ public sealed class FoldableSystem : EntitySystem [Dependency] private readonly SharedContainerSystem _container = default!; [Dependency] private readonly AnchorableSystem _anchorable = default!; [Dependency] private readonly SharedPopupSystem _popup = default!; + [Dependency] private readonly SharedPointLightSystem _pointLight = default!; // DeltaV - Holographic Rollerbeds emit light. public override void Initialize() { @@ -137,6 +138,9 @@ public sealed class FoldableSystem : EntitySystem if (!CanToggleFold(uid, comp)) return false; + if (_pointLight.TryGetLight(uid, out var light)) // DeltaV - Holographic Rollerbeds emit light. + _pointLight.SetEnabled(uid, !state, light); + SetFolded(uid, comp, state); return true; } diff --git a/Resources/Prototypes/Research/experimental.yml b/Resources/Prototypes/Research/experimental.yml index 67af235d19..eb3e8e8ba1 100644 --- a/Resources/Prototypes/Research/experimental.yml +++ b/Resources/Prototypes/Research/experimental.yml @@ -68,7 +68,10 @@ recipeUnlocks: - ClothingShoesBootsMagSci - ClothingShoesBootsMoon - - ClothingShoesBootsSecurityMagboots # DeltaV - Added security magboots. + # Begin DeltaV Additions + - HoverBedHoloSpawnFolded + - ClothingShoesBootsSecurityMagboots + # End DeltaV Additions - type: technology id: AnomalyCoreHarnessing diff --git a/Resources/Prototypes/_DV/Entities/Structures/Furniture/rollerbeds.yml b/Resources/Prototypes/_DV/Entities/Structures/Furniture/rollerbeds.yml index a352720fc7..18d66e2499 100644 --- a/Resources/Prototypes/_DV/Entities/Structures/Furniture/rollerbeds.yml +++ b/Resources/Prototypes/_DV/Entities/Structures/Furniture/rollerbeds.yml @@ -1,8 +1,8 @@ - type: entity parent: RollerBed - id: RollerBedHolo - name: holographic rollerbed - description: Used to carry patients around without damaging them. This one seems to be holographic. + id: HoverBedHolo + name: holographic hoverbed + description: Used to frictionlessly carry around patients and is easily stored in a compacted form. components: - type: Item size: Small @@ -10,23 +10,81 @@ sprite: _DV/Structures/Furniture/rollerbeds.rsi noRot: true layers: - - state: holographic_rollerbed + - state: holographic_hoverbed_shaded map: ["unfoldedLayer"] - - state: holographic_rollerbed_folded + - state: holographic_hoverbed_unshaded + map: ["unfoldedLayerUnshaded"] + shader: unshaded + - state: holographic_hoverbed_folded_shaded map: ["foldedLayer"] visible: false - - state: holographic_rollerbed_buckled + - state: holographic_hoverbed_folded_unshaded + map: [ "foldedLayerUnshaded" ] + shader: unshaded + visible: false + - state: holographic_hoverbed_buckled_shaded map: ["buckledLayer"] + - state: holographic_hoverbed_buckled_unshaded + map: ["buckledLayerUnshaded"] + shader: unshaded + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeCircle + radius: 0.35 + density: 5 + mask: + - MobMask + - type: GenericVisualizer + visuals: + enum.StrapVisuals.State: + buckledLayer: + True: { visible: true } + False: { visible: false } + buckledLayerUnshaded: + True: { visible: true } + False: { visible: false } + unfoldedLayer: + True: { visible: false } + False: { visible: true } + unfoldedLayerUnshaded: + True: { visible: false } + False: { visible: true } + enum.FoldedVisuals.State: # Copypasta from BaseFoldable b/c collections don't merge when overriding component prototypes. + foldedLayer: + True: { visible: true } + False: { visible: false } + foldedLayerUnshaded: + True: { visible: true } + False: { visible: false } + unfoldedLayer: + True: { visible: false } + unfoldedLayerUnshaded: + True: { visible: false } + - type: Strap + position: Down + rotation: -90 + buckleOffset: "0,0.075" + buckleOnInteractHand: False + - type: PointLight + enabled: true + radius: 1.2 + energy: 1 + color: "#58b7b1" + netsync: false - type: StaticPrice price: 200 - type: entity - parent: RollerBedHolo - id: RollerBedHoloSpawnFolded + parent: HoverBedHolo + id: HoverBedHoloSpawnFolded suffix: folded components: - type: Foldable folded: true - type: Strap enabled: False + - type: PointLight + enabled: false diff --git a/Resources/Prototypes/_DV/Recipes/Lathes/Packs/medical.yml b/Resources/Prototypes/_DV/Recipes/Lathes/Packs/medical.yml index 21bdfec656..79446ab72c 100644 --- a/Resources/Prototypes/_DV/Recipes/Lathes/Packs/medical.yml +++ b/Resources/Prototypes/_DV/Recipes/Lathes/Packs/medical.yml @@ -24,6 +24,7 @@ id: MedicalDeltaV recipes: - HandheldCrewMonitor # RE + - HoverBedHoloSpawnFolded - type: latheRecipePack id: MedicalBoardsDeltaV diff --git a/Resources/Prototypes/_DV/Recipes/Lathes/medical.yml b/Resources/Prototypes/_DV/Recipes/Lathes/medical.yml index 0e972e88b1..21a389ff57 100644 --- a/Resources/Prototypes/_DV/Recipes/Lathes/medical.yml +++ b/Resources/Prototypes/_DV/Recipes/Lathes/medical.yml @@ -25,3 +25,13 @@ Steel: 100 Glass: 300 Plasma: 200 + +- type: latheRecipe + id: HoverBedHoloSpawnFolded + result: HoverBedHoloSpawnFolded + completetime: 4 + materials: + Steel: 500 + Glass: 300 + Plastic: 300 + Silver: 200 diff --git a/Resources/Prototypes/_DV/Roles/Jobs/CentComm/EmergencyResponseTeam.yml b/Resources/Prototypes/_DV/Roles/Jobs/CentComm/EmergencyResponseTeam.yml index 294befbb7f..79e0931dab 100644 --- a/Resources/Prototypes/_DV/Roles/Jobs/CentComm/EmergencyResponseTeam.yml +++ b/Resources/Prototypes/_DV/Roles/Jobs/CentComm/EmergencyResponseTeam.yml @@ -273,7 +273,7 @@ - BoxBottleMedicineBasic - CrowbarRed - ChemistryBottleEpinephrine - - RollerBedHoloSpawnFolded + - HoverBedHoloSpawnFolded belt: - DefibrillatorCompact - ChemistryBottleEpinephrine @@ -294,7 +294,7 @@ - CrowbarRed - ChemistryBottleEpinephrine - ChemistryBottleEpinephrine - - RollerBedHoloSpawnFolded + - HoverBedHoloSpawnFolded - FireExtinguisherMini # Janitor diff --git a/Resources/Textures/_DV/Structures/Furniture/rollerbeds.rsi/holographic_hoverbed_buckled_shaded.png b/Resources/Textures/_DV/Structures/Furniture/rollerbeds.rsi/holographic_hoverbed_buckled_shaded.png new file mode 100644 index 0000000000..16a3a7813b Binary files /dev/null and b/Resources/Textures/_DV/Structures/Furniture/rollerbeds.rsi/holographic_hoverbed_buckled_shaded.png differ diff --git a/Resources/Textures/_DV/Structures/Furniture/rollerbeds.rsi/holographic_hoverbed_buckled_unshaded.png b/Resources/Textures/_DV/Structures/Furniture/rollerbeds.rsi/holographic_hoverbed_buckled_unshaded.png new file mode 100644 index 0000000000..111f7848cf Binary files /dev/null and b/Resources/Textures/_DV/Structures/Furniture/rollerbeds.rsi/holographic_hoverbed_buckled_unshaded.png differ diff --git a/Resources/Textures/_DV/Structures/Furniture/rollerbeds.rsi/holographic_hoverbed_folded_shaded.png b/Resources/Textures/_DV/Structures/Furniture/rollerbeds.rsi/holographic_hoverbed_folded_shaded.png new file mode 100644 index 0000000000..1781ed4f62 Binary files /dev/null and b/Resources/Textures/_DV/Structures/Furniture/rollerbeds.rsi/holographic_hoverbed_folded_shaded.png differ diff --git a/Resources/Textures/_DV/Structures/Furniture/rollerbeds.rsi/holographic_hoverbed_folded_unshaded.png b/Resources/Textures/_DV/Structures/Furniture/rollerbeds.rsi/holographic_hoverbed_folded_unshaded.png new file mode 100644 index 0000000000..0b1898471a Binary files /dev/null and b/Resources/Textures/_DV/Structures/Furniture/rollerbeds.rsi/holographic_hoverbed_folded_unshaded.png differ diff --git a/Resources/Textures/_DV/Structures/Furniture/rollerbeds.rsi/holographic_hoverbed_shaded.png b/Resources/Textures/_DV/Structures/Furniture/rollerbeds.rsi/holographic_hoverbed_shaded.png new file mode 100644 index 0000000000..1c88e14133 Binary files /dev/null and b/Resources/Textures/_DV/Structures/Furniture/rollerbeds.rsi/holographic_hoverbed_shaded.png differ diff --git a/Resources/Textures/_DV/Structures/Furniture/rollerbeds.rsi/holographic_hoverbed_unshaded.png b/Resources/Textures/_DV/Structures/Furniture/rollerbeds.rsi/holographic_hoverbed_unshaded.png new file mode 100644 index 0000000000..d56829ce24 Binary files /dev/null and b/Resources/Textures/_DV/Structures/Furniture/rollerbeds.rsi/holographic_hoverbed_unshaded.png differ diff --git a/Resources/Textures/_DV/Structures/Furniture/rollerbeds.rsi/holographic_rollerbed.png b/Resources/Textures/_DV/Structures/Furniture/rollerbeds.rsi/holographic_rollerbed.png deleted file mode 100644 index 5041b5afbb..0000000000 Binary files a/Resources/Textures/_DV/Structures/Furniture/rollerbeds.rsi/holographic_rollerbed.png and /dev/null differ diff --git a/Resources/Textures/_DV/Structures/Furniture/rollerbeds.rsi/holographic_rollerbed_buckled.png b/Resources/Textures/_DV/Structures/Furniture/rollerbeds.rsi/holographic_rollerbed_buckled.png deleted file mode 100644 index 5041b5afbb..0000000000 Binary files a/Resources/Textures/_DV/Structures/Furniture/rollerbeds.rsi/holographic_rollerbed_buckled.png and /dev/null differ diff --git a/Resources/Textures/_DV/Structures/Furniture/rollerbeds.rsi/holographic_rollerbed_folded.png b/Resources/Textures/_DV/Structures/Furniture/rollerbeds.rsi/holographic_rollerbed_folded.png deleted file mode 100644 index 28b5b3e632..0000000000 Binary files a/Resources/Textures/_DV/Structures/Furniture/rollerbeds.rsi/holographic_rollerbed_folded.png and /dev/null differ diff --git a/Resources/Textures/_DV/Structures/Furniture/rollerbeds.rsi/meta.json b/Resources/Textures/_DV/Structures/Furniture/rollerbeds.rsi/meta.json index 96bdf89473..95827472c8 100644 --- a/Resources/Textures/_DV/Structures/Furniture/rollerbeds.rsi/meta.json +++ b/Resources/Textures/_DV/Structures/Furniture/rollerbeds.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Standard rollerbed sprites taken from cev-eris at https://github.com/discordia-space/CEV-Eris/blob/86295657390c25acdab82edca221fe124867aed8/icons/obj/rollerbed.dmi, Baystation 12 at https://github.com/Baystation12/Baystation12/blob/04b76229eb607fcc675c904cf6ca9fed5264a699/icons/obj/rollerbed.dmi,and AuroraStation at https://github.com/Aurorastation/Aurora.3/blob/d5471f20b7ddf1f2d521a2f7a51b528fa3caf367/icons/obj/rollerbed.dmi and modified by AftrLite (Github), Holographic rollerbed sprites taken from Paradise Station at https://github.com/S34NW/Paradise/blob/76a9423a993ed0920e3f969fcbe086bc49c028bc/icons/obj/rollerbed.dmi", + "copyright": "Standard rollerbed sprites taken from cev-eris at https://github.com/discordia-space/CEV-Eris/blob/86295657390c25acdab82edca221fe124867aed8/icons/obj/rollerbed.dmi, Baystation 12 at https://github.com/Baystation12/Baystation12/blob/04b76229eb607fcc675c904cf6ca9fed5264a699/icons/obj/rollerbed.dmi,and AuroraStation at https://github.com/Aurorastation/Aurora.3/blob/d5471f20b7ddf1f2d521a2f7a51b528fa3caf367/icons/obj/rollerbed.dmi and modified by AftrLite (Github), Holographic rollerbed sprites taken from Paradise Station at https://github.com/S34NW/Paradise/blob/76a9423a993ed0920e3f969fcbe086bc49c028bc/icons/obj/rollerbed.dmi, Holographic Hoverbed Sprites animated by SirWarock on Github", "size": { "x": 32, "y": 32 @@ -35,13 +35,40 @@ "name": "emergency_rollerbed_folded" }, { - "name": "holographic_rollerbed" + "name": "holographic_hoverbed_shaded" }, { - "name": "holographic_rollerbed_buckled" + "name": "holographic_hoverbed_unshaded", + "delays": [ + [ + 0.15, + 0.15, + 0.15, + 0.15, + 0.15 + ] + ] }, { - "name": "holographic_rollerbed_folded" + "name": "holographic_hoverbed_buckled_shaded" + }, + { + "name": "holographic_hoverbed_buckled_unshaded", + "delays": [ + [ + 0.15, + 0.15, + 0.15, + 0.15, + 0.15 + ] + ] + }, + { + "name": "holographic_hoverbed_folded_shaded" + }, + { + "name": "holographic_hoverbed_folded_unshaded" } ] }