diff --git a/Resources/Prototypes/Entities/buildings/storage/closet_base.yml b/Resources/Prototypes/Entities/buildings/storage/closet_base.yml index 685e1628b8..b9f5f20b8c 100644 --- a/Resources/Prototypes/Entities/buildings/storage/closet_base.yml +++ b/Resources/Prototypes/Entities/buildings/storage/closet_base.yml @@ -4,6 +4,7 @@ description: A standard-issue Nanotrasen storage unit. components: - type: Sprite + netsync: false sprite: Buildings/closet.rsi layers: - state: generic diff --git a/Resources/Prototypes/Entities/buildings/storage/crate_base.yml b/Resources/Prototypes/Entities/buildings/storage/crate_base.yml index de4c846a38..161b954fdf 100644 --- a/Resources/Prototypes/Entities/buildings/storage/crate_base.yml +++ b/Resources/Prototypes/Entities/buildings/storage/crate_base.yml @@ -4,10 +4,12 @@ description: A large container for items. components: - type: Sprite + netsync: false sprite: Buildings/crate.rsi layers: - state: crate - state: crate_door + map: ["enum.StorageVisualLayers.Door"] - type: Icon sprite: Buildings/crate.rsi @@ -15,14 +17,24 @@ - type: Clickable - type: BoundingBox + aabb: -0.4, -0.4, 0.4, 0.4 + + - type: Physics + mass: 25 + Anchored: false + - type: Collidable - - type: Storage + - type: EntityStorage Capacity: 60 + - type: PlaceableSurface - type: Damageable - type: Destructible thresholdvalue: 100 - placement: - snap: - - Wall + - type: Appearance + visuals: + - type: StorageVisualizer2D + state_open: crate_open + state_closed: crate_door + diff --git a/Resources/Prototypes/Entities/buildings/storage/crate_types.yml b/Resources/Prototypes/Entities/buildings/storage/crate_types.yml new file mode 100644 index 0000000000..6f4238d1fa --- /dev/null +++ b/Resources/Prototypes/Entities/buildings/storage/crate_types.yml @@ -0,0 +1,120 @@ +- type: entity + id: crate_plastic + name: Plastic Crate + parent: crate_generic + components: + - type: Sprite + layers: + - state: plasticcrate + - state: plasticcrate_door + map: ["enum.StorageVisualLayers.Door"] + + - type: Appearance + visuals: + - type: StorageVisualizer2D + state_open: plasticcrate_open + state_closed: plasticcrate_door + + - type: Icon + state: plasticcrate + +- type: entity + id: crate_freezer + name: Freezer + parent: crate_generic + components: + - type: Sprite + layers: + - state: freezer + - state: freezer_door + map: ["enum.StorageVisualLayers.Door"] + + - type: Appearance + visuals: + - type: StorageVisualizer2D + state_open: freezer_open + state_closed: freezer_door + + - type: Icon + state: freezer + +- type: entity + id: crate_hydroponics + name: Hydroponics Crate + parent: crate_generic + components: + - type: Sprite + layers: + - state: hydrocrate + - state: hydrocrate_door + map: ["enum.StorageVisualLayers.Door"] + + - type: Appearance + visuals: + - type: StorageVisualizer2D + state_open: hydrocrate_open + state_closed: hydrocrate_door + + - type: Icon + state: hydrocrate + +- type: entity + id: crate_medical + name: Medical Crate + parent: crate_generic + components: + - type: Sprite + layers: + - state: medicalcrate + - state: medicalcrate_door + map: ["enum.StorageVisualLayers.Door"] + + - type: Appearance + visuals: + - type: StorageVisualizer2D + state_open: medicalcrate_open + state_closed: medicalcrate_door + + - type: Icon + state: medicalcrate + +- type: entity + id: crate_radiation + name: Radiation Gear Crate + description: Is not actually lead lined. Do not store your plutonium in this. + parent: crate_generic + components: + - type: Sprite + layers: + - state: radiationcrate + - state: radiationcrate_door + map: ["enum.StorageVisualLayers.Door"] + + - type: Appearance + visuals: + - type: StorageVisualizer2D + state_open: radiationcrate_open + state_closed: radiationcrate_door + + - type: Icon + state: radiationcrate + +- type: entity + id: crate_internals + name: Internals Crate + parent: crate_generic + components: + - type: Sprite + layers: + - state: o2crate + - state: o2crate_door + map: ["enum.StorageVisualLayers.Door"] + + - type: Appearance + visuals: + - type: StorageVisualizer2D + state_open: o2crate_open + state_closed: o2crate_door + + - type: Icon + state: o2crate diff --git a/Resources/Textures/Buildings/crate.rsi/crate.png b/Resources/Textures/Buildings/crate.rsi/crate.png index c6a11f9f6a..09ceade5d2 100644 Binary files a/Resources/Textures/Buildings/crate.rsi/crate.png and b/Resources/Textures/Buildings/crate.rsi/crate.png differ diff --git a/Resources/Textures/Buildings/crate.rsi/crate_door.png b/Resources/Textures/Buildings/crate.rsi/crate_door.png index a191869066..c0546d988e 100644 Binary files a/Resources/Textures/Buildings/crate.rsi/crate_door.png and b/Resources/Textures/Buildings/crate.rsi/crate_door.png differ diff --git a/Resources/Textures/Buildings/crate.rsi/crate_open.png b/Resources/Textures/Buildings/crate.rsi/crate_open.png index abafc09751..05c811e36f 100644 Binary files a/Resources/Textures/Buildings/crate.rsi/crate_open.png and b/Resources/Textures/Buildings/crate.rsi/crate_open.png differ diff --git a/Resources/Textures/Buildings/crate.rsi/freezer.png b/Resources/Textures/Buildings/crate.rsi/freezer.png new file mode 100644 index 0000000000..90c0d5715e Binary files /dev/null and b/Resources/Textures/Buildings/crate.rsi/freezer.png differ diff --git a/Resources/Textures/Buildings/crate.rsi/freezer_door.png b/Resources/Textures/Buildings/crate.rsi/freezer_door.png new file mode 100644 index 0000000000..a03690e115 Binary files /dev/null and b/Resources/Textures/Buildings/crate.rsi/freezer_door.png differ diff --git a/Resources/Textures/Buildings/crate.rsi/freezer_open.png b/Resources/Textures/Buildings/crate.rsi/freezer_open.png new file mode 100644 index 0000000000..0ab9fd3996 Binary files /dev/null and b/Resources/Textures/Buildings/crate.rsi/freezer_open.png differ diff --git a/Resources/Textures/Buildings/crate.rsi/hydrocrate.png b/Resources/Textures/Buildings/crate.rsi/hydrocrate.png new file mode 100644 index 0000000000..8f717bb2f9 Binary files /dev/null and b/Resources/Textures/Buildings/crate.rsi/hydrocrate.png differ diff --git a/Resources/Textures/Buildings/crate.rsi/hydrocrate_door.png b/Resources/Textures/Buildings/crate.rsi/hydrocrate_door.png new file mode 100644 index 0000000000..b6d9ca8cf8 Binary files /dev/null and b/Resources/Textures/Buildings/crate.rsi/hydrocrate_door.png differ diff --git a/Resources/Textures/Buildings/crate.rsi/hydrocrate_open.png b/Resources/Textures/Buildings/crate.rsi/hydrocrate_open.png new file mode 100644 index 0000000000..05c811e36f Binary files /dev/null and b/Resources/Textures/Buildings/crate.rsi/hydrocrate_open.png differ diff --git a/Resources/Textures/Buildings/crate.rsi/hydrosecurecrate.png b/Resources/Textures/Buildings/crate.rsi/hydrosecurecrate.png new file mode 100644 index 0000000000..e555d8cd8c Binary files /dev/null and b/Resources/Textures/Buildings/crate.rsi/hydrosecurecrate.png differ diff --git a/Resources/Textures/Buildings/crate.rsi/hydrosecurecrate_door.png b/Resources/Textures/Buildings/crate.rsi/hydrosecurecrate_door.png new file mode 100644 index 0000000000..4ea9cf39e1 Binary files /dev/null and b/Resources/Textures/Buildings/crate.rsi/hydrosecurecrate_door.png differ diff --git a/Resources/Textures/Buildings/crate.rsi/hydrosecurecrate_open.png b/Resources/Textures/Buildings/crate.rsi/hydrosecurecrate_open.png new file mode 100644 index 0000000000..05c811e36f Binary files /dev/null and b/Resources/Textures/Buildings/crate.rsi/hydrosecurecrate_open.png differ diff --git a/Resources/Textures/Buildings/crate.rsi/lock_locked.png b/Resources/Textures/Buildings/crate.rsi/lock_locked.png new file mode 100644 index 0000000000..e2fde877e8 Binary files /dev/null and b/Resources/Textures/Buildings/crate.rsi/lock_locked.png differ diff --git a/Resources/Textures/Buildings/crate.rsi/lock_off.png b/Resources/Textures/Buildings/crate.rsi/lock_off.png new file mode 100644 index 0000000000..783088854b Binary files /dev/null and b/Resources/Textures/Buildings/crate.rsi/lock_off.png differ diff --git a/Resources/Textures/Buildings/crate.rsi/lock_unlocked.png b/Resources/Textures/Buildings/crate.rsi/lock_unlocked.png new file mode 100644 index 0000000000..83175cbb8e Binary files /dev/null and b/Resources/Textures/Buildings/crate.rsi/lock_unlocked.png differ diff --git a/Resources/Textures/Buildings/crate.rsi/medicalcrate.png b/Resources/Textures/Buildings/crate.rsi/medicalcrate.png new file mode 100644 index 0000000000..cfc42cc577 Binary files /dev/null and b/Resources/Textures/Buildings/crate.rsi/medicalcrate.png differ diff --git a/Resources/Textures/Buildings/crate.rsi/medicalcrate_door.png b/Resources/Textures/Buildings/crate.rsi/medicalcrate_door.png new file mode 100644 index 0000000000..1ad547beb9 Binary files /dev/null and b/Resources/Textures/Buildings/crate.rsi/medicalcrate_door.png differ diff --git a/Resources/Textures/Buildings/crate.rsi/medicalcrate_open.png b/Resources/Textures/Buildings/crate.rsi/medicalcrate_open.png new file mode 100644 index 0000000000..0ab9fd3996 Binary files /dev/null and b/Resources/Textures/Buildings/crate.rsi/medicalcrate_open.png differ diff --git a/Resources/Textures/Buildings/crate.rsi/meta.json b/Resources/Textures/Buildings/crate.rsi/meta.json index e8fa1c03c2..4afb51c966 100644 --- a/Resources/Textures/Buildings/crate.rsi/meta.json +++ b/Resources/Textures/Buildings/crate.rsi/meta.json @@ -7,6 +7,31 @@ "y": 32 }, "states": [ + { + "name": "lock_locked", + "select": [], + "flags": {}, + "directions": 1 + }, + { + "name": "lock_off", + "select": [], + "flags": {}, + "directions": 1 + }, + { + "name": "lock_unlocked", + "select": [], + "flags": {}, + "directions": 1 + }, + { + "name": "sparking", + "select": [], + "flags": {}, + "directions": 1, + "delays": [[0.1,0.1,0.1,0.1,0.1,0.1]] + }, { "name": "crate", "select": [], @@ -24,6 +49,204 @@ "select": [], "flags": {}, "directions": 1 + }, + { + "name": "freezer", + "select": [], + "flags": {}, + "directions": 1 + }, + { + "name": "freezer_door", + "select": [], + "flags": {}, + "directions": 1 + }, + { + "name": "freezer_open", + "select": [], + "flags": {}, + "directions": 1 + }, + { + "name": "hydrocrate", + "select": [], + "flags": {}, + "directions": 1 + }, + { + "name": "hydrocrate_door", + "select": [], + "flags": {}, + "directions": 1 + }, + { + "name": "hydrocrate_open", + "select": [], + "flags": {}, + "directions": 1 + }, + { + "name": "hydrosecurecrate", + "select": [], + "flags": {}, + "directions": 1 + }, + { + "name": "hydrosecurecrate_door", + "select": [], + "flags": {}, + "directions": 1 + }, + { + "name": "hydrosecurecrate_open", + "select": [], + "flags": {}, + "directions": 1 + }, + { + "name": "medicalcrate", + "select": [], + "flags": {}, + "directions": 1 + }, + { + "name": "medicalcrate_door", + "select": [], + "flags": {}, + "directions": 1 + }, + { + "name": "medicalcrate_open", + "select": [], + "flags": {}, + "directions": 1 + }, + { + "name": "o2crate", + "select": [], + "flags": {}, + "directions": 1 + }, + { + "name": "o2crate_door", + "select": [], + "flags": {}, + "directions": 1 + }, + { + "name": "o2crate_open", + "select": [], + "flags": {}, + "directions": 1 + }, + { + "name": "plasmacrate", + "select": [], + "flags": {}, + "directions": 1 + }, + { + "name": "plasmacrate_door", + "select": [], + "flags": {}, + "directions": 1 + }, + { + "name": "plasmacrate_open", + "select": [], + "flags": {}, + "directions": 1 + }, + { + "name": "plasticcrate", + "select": [], + "flags": {}, + "directions": 1 + }, + { + "name": "plasticcrate_door", + "select": [], + "flags": {}, + "directions": 1 + }, + { + "name": "plasticcrate_open", + "select": [], + "flags": {}, + "directions": 1 + }, + { + "name": "radiationcrate", + "select": [], + "flags": {}, + "directions": 1 + }, + { + "name": "radiationcrate_door", + "select": [], + "flags": {}, + "directions": 1 + }, + { + "name": "radiationcrate_open", + "select": [], + "flags": {}, + "directions": 1 + }, + { + "name": "secgearcrate", + "select": [], + "flags": {}, + "directions": 1 + }, + { + "name": "secgearcrate_door", + "select": [], + "flags": {}, + "directions": 1 + }, + { + "name": "secgearcrate_open", + "select": [], + "flags": {}, + "directions": 1 + }, + { + "name": "securecrate", + "select": [], + "flags": {}, + "directions": 1 + }, + { + "name": "securecrate_door", + "select": [], + "flags": {}, + "directions": 1 + }, + { + "name": "securecrate_open", + "select": [], + "flags": {}, + "directions": 1 + }, + { + "name": "weaponcrate", + "select": [], + "flags": {}, + "directions": 1 + }, + { + "name": "weaponcrate_door", + "select": [], + "flags": {}, + "directions": 1 + }, + { + "name": "weaponcrate_open", + "select": [], + "flags": {}, + "directions": 1 } ] -} \ No newline at end of file +} diff --git a/Resources/Textures/Buildings/crate.rsi/o2crate.png b/Resources/Textures/Buildings/crate.rsi/o2crate.png new file mode 100644 index 0000000000..29b9eb3733 Binary files /dev/null and b/Resources/Textures/Buildings/crate.rsi/o2crate.png differ diff --git a/Resources/Textures/Buildings/crate.rsi/o2crate_door.png b/Resources/Textures/Buildings/crate.rsi/o2crate_door.png new file mode 100644 index 0000000000..4de2c8a77f Binary files /dev/null and b/Resources/Textures/Buildings/crate.rsi/o2crate_door.png differ diff --git a/Resources/Textures/Buildings/crate.rsi/o2crate_open.png b/Resources/Textures/Buildings/crate.rsi/o2crate_open.png new file mode 100644 index 0000000000..0cd6312d06 Binary files /dev/null and b/Resources/Textures/Buildings/crate.rsi/o2crate_open.png differ diff --git a/Resources/Textures/Buildings/crate.rsi/plasmacrate.png b/Resources/Textures/Buildings/crate.rsi/plasmacrate.png new file mode 100644 index 0000000000..86bc320023 Binary files /dev/null and b/Resources/Textures/Buildings/crate.rsi/plasmacrate.png differ diff --git a/Resources/Textures/Buildings/crate.rsi/plasmacrate_door.png b/Resources/Textures/Buildings/crate.rsi/plasmacrate_door.png new file mode 100644 index 0000000000..0f0727d4b3 Binary files /dev/null and b/Resources/Textures/Buildings/crate.rsi/plasmacrate_door.png differ diff --git a/Resources/Textures/Buildings/crate.rsi/plasmacrate_open.png b/Resources/Textures/Buildings/crate.rsi/plasmacrate_open.png new file mode 100644 index 0000000000..1a194dad10 Binary files /dev/null and b/Resources/Textures/Buildings/crate.rsi/plasmacrate_open.png differ diff --git a/Resources/Textures/Buildings/crate.rsi/plasticcrate.png b/Resources/Textures/Buildings/crate.rsi/plasticcrate.png new file mode 100644 index 0000000000..90c0d5715e Binary files /dev/null and b/Resources/Textures/Buildings/crate.rsi/plasticcrate.png differ diff --git a/Resources/Textures/Buildings/crate.rsi/plasticcrate_door.png b/Resources/Textures/Buildings/crate.rsi/plasticcrate_door.png new file mode 100644 index 0000000000..a03690e115 Binary files /dev/null and b/Resources/Textures/Buildings/crate.rsi/plasticcrate_door.png differ diff --git a/Resources/Textures/Buildings/crate.rsi/plasticcrate_open.png b/Resources/Textures/Buildings/crate.rsi/plasticcrate_open.png new file mode 100644 index 0000000000..0ab9fd3996 Binary files /dev/null and b/Resources/Textures/Buildings/crate.rsi/plasticcrate_open.png differ diff --git a/Resources/Textures/Buildings/crate.rsi/radiationcrate.png b/Resources/Textures/Buildings/crate.rsi/radiationcrate.png new file mode 100644 index 0000000000..1ed466469c Binary files /dev/null and b/Resources/Textures/Buildings/crate.rsi/radiationcrate.png differ diff --git a/Resources/Textures/Buildings/crate.rsi/radiationcrate_door.png b/Resources/Textures/Buildings/crate.rsi/radiationcrate_door.png new file mode 100644 index 0000000000..1551bc09fc Binary files /dev/null and b/Resources/Textures/Buildings/crate.rsi/radiationcrate_door.png differ diff --git a/Resources/Textures/Buildings/crate.rsi/radiationcrate_open.png b/Resources/Textures/Buildings/crate.rsi/radiationcrate_open.png new file mode 100644 index 0000000000..0ab9fd3996 Binary files /dev/null and b/Resources/Textures/Buildings/crate.rsi/radiationcrate_open.png differ diff --git a/Resources/Textures/Buildings/crate.rsi/secgearcrate.png b/Resources/Textures/Buildings/crate.rsi/secgearcrate.png new file mode 100644 index 0000000000..66b98656e5 Binary files /dev/null and b/Resources/Textures/Buildings/crate.rsi/secgearcrate.png differ diff --git a/Resources/Textures/Buildings/crate.rsi/secgearcrate_door.png b/Resources/Textures/Buildings/crate.rsi/secgearcrate_door.png new file mode 100644 index 0000000000..1949650bbc Binary files /dev/null and b/Resources/Textures/Buildings/crate.rsi/secgearcrate_door.png differ diff --git a/Resources/Textures/Buildings/crate.rsi/secgearcrate_open.png b/Resources/Textures/Buildings/crate.rsi/secgearcrate_open.png new file mode 100644 index 0000000000..b284819fc3 Binary files /dev/null and b/Resources/Textures/Buildings/crate.rsi/secgearcrate_open.png differ diff --git a/Resources/Textures/Buildings/crate.rsi/securecrate.png b/Resources/Textures/Buildings/crate.rsi/securecrate.png new file mode 100644 index 0000000000..d30acc782c Binary files /dev/null and b/Resources/Textures/Buildings/crate.rsi/securecrate.png differ diff --git a/Resources/Textures/Buildings/crate.rsi/securecrate_door.png b/Resources/Textures/Buildings/crate.rsi/securecrate_door.png new file mode 100644 index 0000000000..90b4c7ebe6 Binary files /dev/null and b/Resources/Textures/Buildings/crate.rsi/securecrate_door.png differ diff --git a/Resources/Textures/Buildings/crate.rsi/securecrate_open.png b/Resources/Textures/Buildings/crate.rsi/securecrate_open.png new file mode 100644 index 0000000000..05c811e36f Binary files /dev/null and b/Resources/Textures/Buildings/crate.rsi/securecrate_open.png differ diff --git a/Resources/Textures/Buildings/crate.rsi/sparking.png b/Resources/Textures/Buildings/crate.rsi/sparking.png new file mode 100644 index 0000000000..87b78b9b46 Binary files /dev/null and b/Resources/Textures/Buildings/crate.rsi/sparking.png differ diff --git a/Resources/Textures/Buildings/crate.rsi/weaponcrate.png b/Resources/Textures/Buildings/crate.rsi/weaponcrate.png new file mode 100644 index 0000000000..94e4da9d28 Binary files /dev/null and b/Resources/Textures/Buildings/crate.rsi/weaponcrate.png differ diff --git a/Resources/Textures/Buildings/crate.rsi/weaponcrate_door.png b/Resources/Textures/Buildings/crate.rsi/weaponcrate_door.png new file mode 100644 index 0000000000..2141125b11 Binary files /dev/null and b/Resources/Textures/Buildings/crate.rsi/weaponcrate_door.png differ diff --git a/Resources/Textures/Buildings/crate.rsi/weaponcrate_open.png b/Resources/Textures/Buildings/crate.rsi/weaponcrate_open.png new file mode 100644 index 0000000000..fc2255b59a Binary files /dev/null and b/Resources/Textures/Buildings/crate.rsi/weaponcrate_open.png differ