diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Furniture/barrel.yml b/Resources/Prototypes/_CP14/Entities/Structures/Furniture/barrel.yml index 24cd0d3d84..a0042c05c4 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Furniture/barrel.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Furniture/barrel.yml @@ -1,7 +1,27 @@ +- type: entity + id: CP14BarrelSolution + abstract: true + components: + - type: InteractionOutline + - type: Appearance + - type: DrainableSolution + solution: barrel + - type: MixableSolution + solution: barrel + - type: RefillableSolution + solution: barrel + - type: DrawableSolution + solution: barrel + - type: DumpableSolution + solution: barrel + - type: Drink + solution: barrel + - type: entity id: CP14BaseBarrel parent: - BaseStructureDynamic + - CP14BarrelSolution - CP14BaseFlammable name: wooden barrel suffix: Empty @@ -24,7 +44,7 @@ False: {visible: true} - type: Sprite drawdepth: Mobs - sprite: _CP14/Structures/Furniture/barrel.rsi + sprite: _CP14/Structures/Furniture/Barrels/barrel.rsi noRot: true layers: - state: barrel_open @@ -35,7 +55,6 @@ map: ["enum.OpenableVisuals.Layer"] - type: Transform noRot: true - - type: InteractionOutline - type: Physics - type: Construction graph: CP14BaseBarrel @@ -87,7 +106,6 @@ collection: WoodDestroy - !type:DoActsBehavior acts: ["Destruction"] - - type: Appearance - type: SolutionContainerManager solutions: barrel: @@ -95,20 +113,8 @@ - type: SolutionContainerVisuals maxFillLevels: 5 fillBaseName: liq - - type: DrainableSolution - solution: barrel - type: ExaminableSolution solution: barrel - - type: MixableSolution - solution: barrel - - type: RefillableSolution - solution: barrel - - type: DrawableSolution - solution: barrel - - type: DumpableSolution - solution: barrel - - type: Drink - solution: barrel - type: entity id: CP14BarrelWater diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Furniture/barrel_crane.yml b/Resources/Prototypes/_CP14/Entities/Structures/Furniture/barrel_crane.yml new file mode 100644 index 0000000000..5a960741ef --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Structures/Furniture/barrel_crane.yml @@ -0,0 +1,153 @@ +- type: entity + id: CP14CraneBarrel + parent: [BaseStructure, CP14BarrelSolution, CP14BaseFlammable] + name: wooden crane barrel + description: Large lying barrel with tap, for storing valuable liquids. + suffix: Empty + categories: [ ForkFiltered ] + components: + - type: Sprite + drawdepth: Mobs + sprite: _CP14/Structures/Furniture/Barrels/crane_barrel.rsi + layers: + - state: barrel + - type: Damageable + damageContainer: Inorganic + damageModifierSet: Wood + - type: Transform + - type: Anchorable + delay: 3 + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 80 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTypeTrigger + damageType: Heat + damage: 5 + behaviors: + - !type:SolutionExplosionBehavior + solution: barrel + - trigger: + !type:DamageTypeTrigger + damageType: Piercing + damage: 5 + behaviors: + - !type:SolutionExplosionBehavior + solution: barrel + - trigger: + !type:DamageTrigger + damage: 25 + behaviors: + - !type:SpillBehavior + solution: barrel + - !type:PlaySoundBehavior + sound: + collection: WoodDestroy + - !type:DoActsBehavior + acts: ["Destruction"] + - type: SolutionContainerManager + solutions: + barrel: + maxVol: 500 + +- type: entity + parent: CP14CraneBarrel + id: CP14CraneBarrelBeer + suffix: Beer + categories: [ ForkFiltered ] + components: + - type: SolutionContainerManager + solutions: + barrel: + reagents: + - ReagentId: Beer + Quantity: 500 + +- type: entity + id: CP14CraneBarrelSmall + parent: [BaseStructureDynamic, CP14BarrelSolution, CP14BaseFlammable] + name: wooden small crane barrel + description: A small lying barrel with a tap to quickly pour liquid into mugs. + suffix: Empty + categories: [ ForkFiltered ] + placement: + mode: SnapgridCenter + components: + - type: Sprite + drawdepth: Mobs + sprite: _CP14/Structures/Furniture/Barrels/crane_barrel_small.rsi + layers: + - state: barrel + - type: Transform + anchored: true + noRot: true + - type: Pullable + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.25,-0.25,0.25,0.25" + density: 200 + mask: + - TabletopMachineMask + layer: + - TabletopMachineLayer + - type: Damageable + damageContainer: Inorganic + damageModifierSet: Wood + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 50 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTypeTrigger + damageType: Heat + damage: 5 + behaviors: + - !type:SolutionExplosionBehavior + solution: barrel + - trigger: + !type:DamageTypeTrigger + damageType: Piercing + damage: 5 + behaviors: + - !type:SolutionExplosionBehavior + solution: barrel + - trigger: + !type:DamageTrigger + damage: 15 + behaviors: + - !type:SpillBehavior + solution: barrel + - !type:PlaySoundBehavior + sound: + collection: WoodDestroy + - !type:DoActsBehavior + acts: ["Destruction"] + - type: SolutionContainerManager + solutions: + barrel: + maxVol: 50 + +- type: entity + parent: CP14CraneBarrelSmall + id: CP14CraneBarrelSmallBeer + suffix: Beer + categories: [ ForkFiltered ] + components: + - type: SolutionContainerManager + solutions: + barrel: + reagents: + - ReagentId: Beer + Quantity: 50 diff --git a/Resources/Prototypes/_CP14/Recipes/Construction/furniture.yml b/Resources/Prototypes/_CP14/Recipes/Construction/furniture.yml index 49416bad73..1c5c08d833 100644 --- a/Resources/Prototypes/_CP14/Recipes/Construction/furniture.yml +++ b/Resources/Prototypes/_CP14/Recipes/Construction/furniture.yml @@ -26,7 +26,7 @@ targetNode: CP14BaseBarrel category: construction-category-furniture icon: - sprite: _CP14/Structures/Furniture/barrel.rsi + sprite: _CP14/Structures/Furniture/Barrels/barrel.rsi state: barrel objectType: Structure placementMode: PlaceFree diff --git a/Resources/Textures/_CP14/Structures/Furniture/barrel.rsi/barrel.png b/Resources/Textures/_CP14/Structures/Furniture/Barrels/barrel.rsi/barrel.png similarity index 100% rename from Resources/Textures/_CP14/Structures/Furniture/barrel.rsi/barrel.png rename to Resources/Textures/_CP14/Structures/Furniture/Barrels/barrel.rsi/barrel.png diff --git a/Resources/Textures/_CP14/Structures/Furniture/barrel.rsi/barrel_open.png b/Resources/Textures/_CP14/Structures/Furniture/Barrels/barrel.rsi/barrel_open.png similarity index 100% rename from Resources/Textures/_CP14/Structures/Furniture/barrel.rsi/barrel_open.png rename to Resources/Textures/_CP14/Structures/Furniture/Barrels/barrel.rsi/barrel_open.png diff --git a/Resources/Textures/_CP14/Structures/Furniture/barrel.rsi/liq1.png b/Resources/Textures/_CP14/Structures/Furniture/Barrels/barrel.rsi/liq1.png similarity index 100% rename from Resources/Textures/_CP14/Structures/Furniture/barrel.rsi/liq1.png rename to Resources/Textures/_CP14/Structures/Furniture/Barrels/barrel.rsi/liq1.png diff --git a/Resources/Textures/_CP14/Structures/Furniture/barrel.rsi/liq2.png b/Resources/Textures/_CP14/Structures/Furniture/Barrels/barrel.rsi/liq2.png similarity index 100% rename from Resources/Textures/_CP14/Structures/Furniture/barrel.rsi/liq2.png rename to Resources/Textures/_CP14/Structures/Furniture/Barrels/barrel.rsi/liq2.png diff --git a/Resources/Textures/_CP14/Structures/Furniture/barrel.rsi/liq3.png b/Resources/Textures/_CP14/Structures/Furniture/Barrels/barrel.rsi/liq3.png similarity index 100% rename from Resources/Textures/_CP14/Structures/Furniture/barrel.rsi/liq3.png rename to Resources/Textures/_CP14/Structures/Furniture/Barrels/barrel.rsi/liq3.png diff --git a/Resources/Textures/_CP14/Structures/Furniture/barrel.rsi/liq4.png b/Resources/Textures/_CP14/Structures/Furniture/Barrels/barrel.rsi/liq4.png similarity index 100% rename from Resources/Textures/_CP14/Structures/Furniture/barrel.rsi/liq4.png rename to Resources/Textures/_CP14/Structures/Furniture/Barrels/barrel.rsi/liq4.png diff --git a/Resources/Textures/_CP14/Structures/Furniture/barrel.rsi/liq5.png b/Resources/Textures/_CP14/Structures/Furniture/Barrels/barrel.rsi/liq5.png similarity index 100% rename from Resources/Textures/_CP14/Structures/Furniture/barrel.rsi/liq5.png rename to Resources/Textures/_CP14/Structures/Furniture/Barrels/barrel.rsi/liq5.png diff --git a/Resources/Textures/_CP14/Structures/Furniture/barrel.rsi/meta.json b/Resources/Textures/_CP14/Structures/Furniture/Barrels/barrel.rsi/meta.json similarity index 100% rename from Resources/Textures/_CP14/Structures/Furniture/barrel.rsi/meta.json rename to Resources/Textures/_CP14/Structures/Furniture/Barrels/barrel.rsi/meta.json diff --git a/Resources/Textures/_CP14/Structures/Furniture/Barrels/crane_barrel.rsi/barrel.png b/Resources/Textures/_CP14/Structures/Furniture/Barrels/crane_barrel.rsi/barrel.png new file mode 100644 index 0000000000..86692034a5 Binary files /dev/null and b/Resources/Textures/_CP14/Structures/Furniture/Barrels/crane_barrel.rsi/barrel.png differ diff --git a/Resources/Textures/_CP14/Structures/Furniture/Barrels/crane_barrel.rsi/meta.json b/Resources/Textures/_CP14/Structures/Furniture/Barrels/crane_barrel.rsi/meta.json new file mode 100644 index 0000000000..787a20198f --- /dev/null +++ b/Resources/Textures/_CP14/Structures/Furniture/Barrels/crane_barrel.rsi/meta.json @@ -0,0 +1,15 @@ +{ + "version": 1, + "license": "CLA", + "copyright": "created by vladimir.s", + "size": { + "x": 48, + "y": 48 + }, + "states": [ + { + "name": "barrel", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_CP14/Structures/Furniture/Barrels/crane_barrel_small.rsi/barrel.png b/Resources/Textures/_CP14/Structures/Furniture/Barrels/crane_barrel_small.rsi/barrel.png new file mode 100644 index 0000000000..cf8be3e553 Binary files /dev/null and b/Resources/Textures/_CP14/Structures/Furniture/Barrels/crane_barrel_small.rsi/barrel.png differ diff --git a/Resources/Textures/_CP14/Structures/Furniture/Barrels/crane_barrel_small.rsi/meta.json b/Resources/Textures/_CP14/Structures/Furniture/Barrels/crane_barrel_small.rsi/meta.json new file mode 100644 index 0000000000..c7c1c82ac6 --- /dev/null +++ b/Resources/Textures/_CP14/Structures/Furniture/Barrels/crane_barrel_small.rsi/meta.json @@ -0,0 +1,15 @@ +{ + "version": 1, + "license": "CLA", + "copyright": "created by vladimir.s", + "size": { + "x": 32, + "y": 48 + }, + "states": [ + { + "name": "barrel", + "directions": 4 + } + ] +}