diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Storage/Crates/base_chest.yml b/Resources/Prototypes/_CP14/Entities/Structures/Storage/Crates/base_chest.yml new file mode 100644 index 0000000000..aae7b112e3 --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Structures/Storage/Crates/base_chest.yml @@ -0,0 +1,69 @@ +- type: entity + parent: BaseStructureDynamic + id: CPChestGeneric + noSpawn: true + name: Chest + description: Chest. + components: + - type: Transform + noRot: true + - type: Icon + sprite: _CP14/Structures/Storage/Crates/woodenchest.rsi + state: icon + - type: Sprite + noRot: true + sprite: _CP14/Structures/Storage/Crates/woodenchest.rsi + layers: + - state: base + map: ["enum.StorageVisualLayers.Base"] + - state: closed + map: ["enum.StorageVisualLayers.Door"] + - type: InteractionOutline + - type: Physics + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.4,-0.4,0.4,0.29" + density: 50 + mask: + - SmallMobMask #this is so they can go under plastic flaps + layer: + - MachineLayer + - type: EntityStorage + - type: PlaceableSurface + isPlaceable: false # defaults to closed. + - type: Damageable + damageContainer: StructuralInorganic + damageModifierSet: Metallic + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 50 + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] + - !type:PlaySoundBehavior + sound: + collection: MetalBreak + - type: Appearance + - type: EntityStorageVisuals + stateDoorOpen: open + stateDoorClosed: closed + - type: PaperLabel + labelSlot: + insertVerbText: Attach Label + ejectVerbText: Remove Label + whitelist: + components: + - Paper + - type: ContainerContainer + containers: + entity_storage: !type:Container + paper_label: !type:ContainerSlot + - type: ItemSlots + - type: StaticPrice + price: 50 + diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Storage/Crates/chests.yml b/Resources/Prototypes/_CP14/Entities/Structures/Storage/Crates/chests.yml new file mode 100644 index 0000000000..36b2fcc13d --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Structures/Storage/Crates/chests.yml @@ -0,0 +1,38 @@ +- type: entity + parent: CPChestGeneric + id: CPWoodenChest + name: wooden chest + description: Good wooden chest. + components: + - type: Icon + sprite: _CP14/Structures/Storage/Crates/woodenchest.rsi + - type: Sprite + sprite: _CP14/Structures/Storage/Crates/woodenchest.rsi + layers: + - state: base + map: ["enum.StorageVisualLayers.Base"] + - state: closed + map: ["enum.StorageVisualLayers.Door"] + - type: Damageable + damageModifierSet: Web + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 150 + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] + - !type:PlaySoundBehavior + sound: + collection: WoodDestroy + - !type:SpawnEntitiesBehavior + spawn: + MaterialWoodPlank: + min: 2 + max: 3 + - type: EntityStorage + closeSound: + path: /Audio/Effects/woodenclosetclose.ogg + openSound: + path: /Audio/Effects/woodenclosetopen.ogg diff --git a/Resources/Textures/_CP14/Structures/Storage/Crates/woodenchest.rsi/base.png b/Resources/Textures/_CP14/Structures/Storage/Crates/woodenchest.rsi/base.png new file mode 100644 index 0000000000..807e696fea Binary files /dev/null and b/Resources/Textures/_CP14/Structures/Storage/Crates/woodenchest.rsi/base.png differ diff --git a/Resources/Textures/_CP14/Structures/Storage/Crates/woodenchest.rsi/closed.png b/Resources/Textures/_CP14/Structures/Storage/Crates/woodenchest.rsi/closed.png new file mode 100644 index 0000000000..5097e5e763 Binary files /dev/null and b/Resources/Textures/_CP14/Structures/Storage/Crates/woodenchest.rsi/closed.png differ diff --git a/Resources/Textures/_CP14/Structures/Storage/Crates/woodenchest.rsi/icon.png b/Resources/Textures/_CP14/Structures/Storage/Crates/woodenchest.rsi/icon.png new file mode 100644 index 0000000000..50e5b6e003 Binary files /dev/null and b/Resources/Textures/_CP14/Structures/Storage/Crates/woodenchest.rsi/icon.png differ diff --git a/Resources/Textures/_CP14/Structures/Storage/Crates/woodenchest.rsi/meta.json b/Resources/Textures/_CP14/Structures/Storage/Crates/woodenchest.rsi/meta.json new file mode 100644 index 0000000000..da6191aa43 --- /dev/null +++ b/Resources/Textures/_CP14/Structures/Storage/Crates/woodenchest.rsi/meta.json @@ -0,0 +1,23 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by Agoichi (Github) for CrystallPunk", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "base" + }, + { + "name": "closed" + }, + { + "name": "open" + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_CP14/Structures/Storage/Crates/woodenchest.rsi/open.png b/Resources/Textures/_CP14/Structures/Storage/Crates/woodenchest.rsi/open.png new file mode 100644 index 0000000000..872130da99 Binary files /dev/null and b/Resources/Textures/_CP14/Structures/Storage/Crates/woodenchest.rsi/open.png differ