diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Storage/Crates/base_chest.yml b/Resources/Prototypes/_CP14/Entities/Structures/Storage/Crates/base_chest.yml index fe65ae7370..fec84eae5d 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Storage/Crates/base_chest.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Storage/Crates/base_chest.yml @@ -4,6 +4,7 @@ categories: [ HideSpawnMenu, ForkFiltered ] name: Chest description: Chest. + abstract: true components: - type: Transform noRot: true @@ -27,12 +28,18 @@ shape: !type:PhysShapeAabb bounds: "-0.4,-0.4,0.4,0.29" - density: 50 + density: 500 mask: - SmallMobMask #this is so they can go under plastic flaps layer: - MachineLayer - type: EntityStorage + closeSound: + path: /Audio/Effects/woodenclosetclose.ogg + openSound: + path: /Audio/Effects/woodenclosetopen.ogg + - type: StaticPrice + price: 0 - type: PlaceableSurface isPlaceable: false # defaults to closed. - type: Appearance @@ -51,8 +58,6 @@ entity_storage: !type:Container paper_label: !type:ContainerSlot - type: ItemSlots - - type: StaticPrice - price: 5 - type: CP14Lock #Empty, for installing new locks - type: Lock locked: false diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Storage/Crates/chests.yml b/Resources/Prototypes/_CP14/Entities/Structures/Storage/Crates/chests.yml index f5677dcc3d..88943f6829 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Storage/Crates/chests.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Storage/Crates/chests.yml @@ -6,17 +6,6 @@ name: wooden chest description: A simple wooden chest for easy storage of junk. components: - - type: Fixtures - fixtures: - fix1: - shape: - !type:PhysShapeAabb - bounds: "-0.4,-0.4,0.4,0.29" - density: 500 - mask: - - SmallMobMask #this is so they can go under plastic flaps - layer: - - MachineLayer - type: Icon sprite: _CP14/Structures/Storage/Crates/chest.rsi state: icon @@ -46,19 +35,89 @@ collection: WoodDestroy - !type:DoActsBehavior acts: [ "Destruction" ] - - type: EntityStorage - closeSound: - path: /Audio/Effects/woodenclosetclose.ogg - openSound: - path: /Audio/Effects/woodenclosetopen.ogg - - type: StaticPrice - price: 0 - type: Construction graph: CP14WoodenChest node: CP14WoodenChest - containers: - - entity_storage - type: PhysicalComposition materialComposition: CP14WoodenPlanks: 50 - CP14Iron: 10 \ No newline at end of file + CP14Iron: 10 + +- type: entity + parent: CP14WoodenChest + id: CP14WoodenChestOld + name: old wooden chest + description: An old chest. It has seen a lot. + components: + - type: Icon + sprite: _CP14/Structures/Storage/Crates/chest_old.rsi + state: icon + - type: Sprite + sprite: _CP14/Structures/Storage/Crates/chest_old.rsi + layers: + - state: base + map: ["enum.StorageVisualLayers.Base"] + - state: closed + map: ["enum.StorageVisualLayers.Door"] + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 30 + behaviors: + - !type:SpawnEntitiesBehavior + spawn: + CP14WoodenPlanks1: + min: 3 + max: 5 + - !type:PlaySoundBehavior + sound: + collection: WoodDestroy + - !type:DoActsBehavior + acts: [ "Destruction" ] + +- type: entity + parent: + - CP14ChestGeneric + - CP14BaseFlammable + id: CP14GoldChest + name: gold chest + description: Someone spent a lot of money and effort to decorate this chest with gold. It didn't make the chest more functional, but it did make it beautiful. + components: + - type: Icon + sprite: _CP14/Structures/Storage/Crates/chest_gold.rsi + state: icon + - type: Sprite + sprite: _CP14/Structures/Storage/Crates/chest_gold.rsi + layers: + - state: base + map: ["enum.StorageVisualLayers.Base"] + - state: closed + map: ["enum.StorageVisualLayers.Door"] + - type: Damageable + damageContainer: StructuralInorganic + damageModifierSet: CP14WoodStructural + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 50 + behaviors: + - !type:SpawnEntitiesBehavior + spawn: + CP14WoodenPlanks1: + min: 3 + max: 5 + - !type:PlaySoundBehavior + sound: + collection: WoodDestroy + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: Construction + graph: CP14GoldChest + node: CP14GoldChest + - type: PhysicalComposition + materialComposition: + CP14WoodenPlanks: 50 + CP14Iron: 10 + CP14Gold: 10 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Storage/Crates/crates.yml b/Resources/Prototypes/_CP14/Entities/Structures/Storage/Crates/crates.yml index b42e1faf04..3ee2f627e0 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Storage/Crates/crates.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Storage/Crates/crates.yml @@ -41,9 +41,9 @@ radius: 0.45 density: 525 mask: - - MachineMask + - SmallMobMask #this is so they can go under plastic flaps layer: - - WallLayer + - MachineLayer - type: entity id: CP14BaseSmallCrate diff --git a/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Storage/chests.yml b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Storage/chests.yml index 7ceae3bbaf..e8221839b1 100644 --- a/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Storage/chests.yml +++ b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Storage/chests.yml @@ -29,3 +29,38 @@ steps: - tool: Prying doAfter: 4 + +- type: constructionGraph + id: CP14GoldChest + start: start + graph: + - node: start + actions: + - !type:DestroyEntity {} + edges: + - to: CP14GoldChest + steps: + - material: CP14WoodenPlanks + amount: 5 + doAfter: 2 + - material: CP14IronBar + amount: 1 + doAfter: 2 + - material: CP14GoldBar + amount: 1 + doAfter: 2 + + - node: CP14GoldChest + entity: CP14GoldChest + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: CP14WoodenPlanks1 + amount: 2 + conditions: + - !type:Locked + locked: false + steps: + - tool: Prying + doAfter: 4 diff --git a/Resources/Prototypes/_CP14/Recipes/Construction/storage.yml b/Resources/Prototypes/_CP14/Recipes/Construction/storage.yml index 517517e44b..d842684e46 100644 --- a/Resources/Prototypes/_CP14/Recipes/Construction/storage.yml +++ b/Resources/Prototypes/_CP14/Recipes/Construction/storage.yml @@ -27,6 +27,19 @@ conditions: - !type:TileNotBlocked +- type: construction + crystallPunkAllowed: true + id: CP14GoldChest + graph: CP14GoldChest + startNode: start + targetNode: CP14GoldChest + category: construction-category-storage + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + - type: construction crystallPunkAllowed: true id: CP14SmallWoodenCrate diff --git a/Resources/Textures/_CP14/Mobs/Species/Goblin/parts.rsi/r_hand.png b/Resources/Textures/_CP14/Mobs/Species/Goblin/parts.rsi/r_hand.png index be1a9321c2..1cf663579b 100644 Binary files a/Resources/Textures/_CP14/Mobs/Species/Goblin/parts.rsi/r_hand.png and b/Resources/Textures/_CP14/Mobs/Species/Goblin/parts.rsi/r_hand.png differ diff --git a/Resources/Textures/_CP14/Structures/Storage/Crates/chest_gold.rsi/base.png b/Resources/Textures/_CP14/Structures/Storage/Crates/chest_gold.rsi/base.png new file mode 100644 index 0000000000..4030989a47 Binary files /dev/null and b/Resources/Textures/_CP14/Structures/Storage/Crates/chest_gold.rsi/base.png differ diff --git a/Resources/Textures/_CP14/Structures/Storage/Crates/chest_gold.rsi/closed.png b/Resources/Textures/_CP14/Structures/Storage/Crates/chest_gold.rsi/closed.png new file mode 100644 index 0000000000..ad494af4ac Binary files /dev/null and b/Resources/Textures/_CP14/Structures/Storage/Crates/chest_gold.rsi/closed.png differ diff --git a/Resources/Textures/_CP14/Structures/Storage/Crates/chest_gold.rsi/icon.png b/Resources/Textures/_CP14/Structures/Storage/Crates/chest_gold.rsi/icon.png new file mode 100644 index 0000000000..98ceb97ee6 Binary files /dev/null and b/Resources/Textures/_CP14/Structures/Storage/Crates/chest_gold.rsi/icon.png differ diff --git a/Resources/Textures/_CP14/Structures/Storage/Crates/chest_gold.rsi/meta.json b/Resources/Textures/_CP14/Structures/Storage/Crates/chest_gold.rsi/meta.json new file mode 100644 index 0000000000..27db2ef7d7 --- /dev/null +++ b/Resources/Textures/_CP14/Structures/Storage/Crates/chest_gold.rsi/meta.json @@ -0,0 +1,23 @@ +{ + "version": 1, + "license": "CC-BY-SA-4.0", + "copyright": "Created by .kreks. (Discord)", + "size": { + "x": 32, + "y": 48 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "base" + }, + { + "name": "closed" + }, + { + "name": "open" + } + ] +} diff --git a/Resources/Textures/_CP14/Structures/Storage/Crates/chest_gold.rsi/open.png b/Resources/Textures/_CP14/Structures/Storage/Crates/chest_gold.rsi/open.png new file mode 100644 index 0000000000..f69ecf8ee0 Binary files /dev/null and b/Resources/Textures/_CP14/Structures/Storage/Crates/chest_gold.rsi/open.png differ diff --git a/Resources/Textures/_CP14/Structures/Storage/Crates/chest_old.rsi/base.png b/Resources/Textures/_CP14/Structures/Storage/Crates/chest_old.rsi/base.png new file mode 100644 index 0000000000..a7be021f45 Binary files /dev/null and b/Resources/Textures/_CP14/Structures/Storage/Crates/chest_old.rsi/base.png differ diff --git a/Resources/Textures/_CP14/Structures/Storage/Crates/chest_old.rsi/closed.png b/Resources/Textures/_CP14/Structures/Storage/Crates/chest_old.rsi/closed.png new file mode 100644 index 0000000000..c1e3c6f1e2 Binary files /dev/null and b/Resources/Textures/_CP14/Structures/Storage/Crates/chest_old.rsi/closed.png differ diff --git a/Resources/Textures/_CP14/Structures/Storage/Crates/chest_old.rsi/icon.png b/Resources/Textures/_CP14/Structures/Storage/Crates/chest_old.rsi/icon.png new file mode 100644 index 0000000000..ba714fe332 Binary files /dev/null and b/Resources/Textures/_CP14/Structures/Storage/Crates/chest_old.rsi/icon.png differ diff --git a/Resources/Textures/_CP14/Structures/Storage/Crates/chest_old.rsi/meta.json b/Resources/Textures/_CP14/Structures/Storage/Crates/chest_old.rsi/meta.json new file mode 100644 index 0000000000..27db2ef7d7 --- /dev/null +++ b/Resources/Textures/_CP14/Structures/Storage/Crates/chest_old.rsi/meta.json @@ -0,0 +1,23 @@ +{ + "version": 1, + "license": "CC-BY-SA-4.0", + "copyright": "Created by .kreks. (Discord)", + "size": { + "x": 32, + "y": 48 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "base" + }, + { + "name": "closed" + }, + { + "name": "open" + } + ] +} diff --git a/Resources/Textures/_CP14/Structures/Storage/Crates/chest_old.rsi/open.png b/Resources/Textures/_CP14/Structures/Storage/Crates/chest_old.rsi/open.png new file mode 100644 index 0000000000..27e6d81f97 Binary files /dev/null and b/Resources/Textures/_CP14/Structures/Storage/Crates/chest_old.rsi/open.png differ diff --git a/Resources/Textures/_CP14/Tiles/Marble/attribution.yml b/Resources/Textures/_CP14/Tiles/Marble/attribution.yml index 2f1f8864f0..ef89dfdae4 100644 --- a/Resources/Textures/_CP14/Tiles/Marble/attribution.yml +++ b/Resources/Textures/_CP14/Tiles/Marble/attribution.yml @@ -3,5 +3,5 @@ - double_edge_S.png - small_bricks license: "All Right Reserved" - copyright: "Created by TheShuEd" - source: "https://github.com/crystallpunk-14/crystall-punk-14" + copyright: "Created by TheShuEd, marble.png & double_edge_S.png resprite by KREKS" + source: "https://github.com/crystallpunk-14/crystall-punk-14" \ No newline at end of file diff --git a/Resources/Textures/_CP14/Tiles/Marble/double_edge_S.png b/Resources/Textures/_CP14/Tiles/Marble/double_edge_S.png index 4437ac3637..7063b617ac 100644 Binary files a/Resources/Textures/_CP14/Tiles/Marble/double_edge_S.png and b/Resources/Textures/_CP14/Tiles/Marble/double_edge_S.png differ diff --git a/Resources/Textures/_CP14/Tiles/Marble/marble.png b/Resources/Textures/_CP14/Tiles/Marble/marble.png index 9854ab9ef7..e6f4071808 100644 Binary files a/Resources/Textures/_CP14/Tiles/Marble/marble.png and b/Resources/Textures/_CP14/Tiles/Marble/marble.png differ