diff --git a/Resources/Prototypes/Floof/Entities/Structures/Furniture/sleeping_bag.yml b/Resources/Prototypes/Floof/Entities/Structures/Furniture/sleeping_bag.yml new file mode 100644 index 00000000000..7ec8dea80c6 --- /dev/null +++ b/Resources/Prototypes/Floof/Entities/Structures/Furniture/sleeping_bag.yml @@ -0,0 +1,90 @@ +- type: entity + id: SleepingBag + parent: BaseFoldable + name: sleeping bag + description: A warm cocoon, cradling you under the stars as the night passes. Has enough space for two. + components: + - type: HealOnBuckle + damage: + types: + Poison: -0.1 + Blunt: -0.1 + - type: Construction + graph: SleepingBag + node: sleepingbag + - type: Item + size: Normal + - type: Sprite + drawdepth: SmallObjects # I guess body bags need appear above a coroner's table? + sprite: Floof/Structures/sleepingbag.rsi + layers: + - state: closed + map: ["unfoldedLayer", "enum.StorageVisualLayers.Base"] + - map: ["foldedLayer"] + state: folded + visible: false + - state: open + map: [ "enum.StorageVisualLayers.Door" ] + - type: Icon + sprite: Floof/Structures/sleepingbag.rsi + state: closed + - type: EntityStorageVisuals + stateDoorOpen: open + - type: Tag + tags: + - BodyBag + - type: Clickable + - type: InteractionOutline + - type: MovedByPressure + - type: Physics + bodyType: Dynamic + - type: Strap + position: Down + rotation: -90 + - type: Transform + noRot: true + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.25,-0.4,0.25,0.1" + density: 20 + mask: + - Impassable + - type: EntityStorageLayingDownOverride + - type: Appearance + - type: GenericVisualizer + visuals: + enum.FoldedVisuals.State: + foldedLayer: + True: {visible: true} + False: {visible: false} + unfoldedLayer: + True: {visible: false} + False: {visible: true} + - type: Pullable + - type: ContainerContainer + containers: + entity_storage: !type:Container + - type: EntityStorage + airtight: false + capacity: 2 + isCollidableWhenOpen: true + closeSound: + path: /Audio/Misc/zip.ogg + openSound: + path: /Audio/Misc/zip.ogg + +- type: entity + id: SleepingBagFolded + name: sleeping bag + description: A warm cocoon, cradling you under the stars as the night passes. Has enough space for two. + parent: SleepingBag + suffix: folded + components: + - type: Icon + sprite: Floof/Structures/sleepingbag.rsi + state: folded + - type: Foldable + folded: true diff --git a/Resources/Prototypes/Floof/Recipes/Crafting/improvised.yml b/Resources/Prototypes/Floof/Recipes/Crafting/improvised.yml new file mode 100644 index 00000000000..a89e5f5e418 --- /dev/null +++ b/Resources/Prototypes/Floof/Recipes/Crafting/improvised.yml @@ -0,0 +1,26 @@ +- type: constructionGraph + id: SleepingBag + start: start + graph: + - node: start + edges: + - to: sleepingbag + steps: + - material: Cloth + amount: 5 + doAfter: 4 + - node: sleepingbag + entity: SleepingBagFolded + +- type: construction + name: sleeping bag + id: sleeping_bag + graph: SleepingBag + startNode: start + targetNode: sleepingbag + category: construction-category-furniture + description: A sleeping bed, perfect for those calm nights under a stary sky. + icon: + sprite: Floof/Structures/sleepingbag.rsi + state: open + objectType: Item diff --git a/Resources/Textures/Floof/Structures/sleepingbag.rsi/closed.png b/Resources/Textures/Floof/Structures/sleepingbag.rsi/closed.png new file mode 100644 index 00000000000..2d1b4f6a3a2 Binary files /dev/null and b/Resources/Textures/Floof/Structures/sleepingbag.rsi/closed.png differ diff --git a/Resources/Textures/Floof/Structures/sleepingbag.rsi/folded.png b/Resources/Textures/Floof/Structures/sleepingbag.rsi/folded.png new file mode 100644 index 00000000000..786ae71602d Binary files /dev/null and b/Resources/Textures/Floof/Structures/sleepingbag.rsi/folded.png differ diff --git a/Resources/Textures/Floof/Structures/sleepingbag.rsi/meta.json b/Resources/Textures/Floof/Structures/sleepingbag.rsi/meta.json new file mode 100644 index 00000000000..659c9dadaae --- /dev/null +++ b/Resources/Textures/Floof/Structures/sleepingbag.rsi/meta.json @@ -0,0 +1,23 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Fansana", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "open" + }, + { + "name": "folded" + }, + { + "name": "closed" + }, + { + "name": "opening" + } + ] +} diff --git a/Resources/Textures/Floof/Structures/sleepingbag.rsi/open.png b/Resources/Textures/Floof/Structures/sleepingbag.rsi/open.png new file mode 100644 index 00000000000..44c2193499e Binary files /dev/null and b/Resources/Textures/Floof/Structures/sleepingbag.rsi/open.png differ diff --git a/Resources/Textures/Floof/Structures/sleepingbag.rsi/opening.png b/Resources/Textures/Floof/Structures/sleepingbag.rsi/opening.png new file mode 100644 index 00000000000..86edefb9f69 Binary files /dev/null and b/Resources/Textures/Floof/Structures/sleepingbag.rsi/opening.png differ