Skip to content

Commit

Permalink
Barrels & Kegs (#2378)
Browse files Browse the repository at this point in the history
* initial commit

* fixes
  • Loading branch information
rosieposieeee authored and dvir001 committed Dec 26, 2024
1 parent a9efdd6 commit 3faaaa7
Show file tree
Hide file tree
Showing 9 changed files with 268 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,154 @@
- type: entity
parent: CrateGeneric
id: WoodenBarrel
name: wooden barrel
description: A musty old wooden barrel.
components:
- type: Sprite
sprite: DeltaV/Objects/Storage/barrel.rsi
layers:
- state: base
map: ["enum.StorageVisualLayers.Base"]
- state: closed
map: ["enum.StorageVisualLayers.Door"]
- type: Icon
sprite: DeltaV/Objects/Storage/barrel.rsi
state: base
- type: Damageable
damageContainer: StructuralInorganic
damageModifierSet: Wood
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 30
behaviors:
- !type:PlaySoundBehavior
sound:
collection: WoodDestroy
- !type:SpawnEntitiesBehavior
spawn:
MaterialWoodPlank1:
min: 1
max: 4
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: Construction
graph: WoodenBarrel
node: woodenbarrel
containers:
- entity_storage
- type: StaticPrice
price: 50
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.2,-0.3,0.2,0.4"
density: 150
mask:
- SmallMobMask #this is so they can go under plastic flaps
layer:
- MachineLayer
- type: Climbable

- type: entity
parent: StorageTank
id: WoodenKeg
name: wooden keg
description: A musty old wooden keg, with a tap attached to the front.
components:
- type: SolutionContainerManager
solutions:
tank:
maxVol: 500
- type: ExaminableSolution
solution: tank
- type: UserInterface
interfaces:
enum.TransferAmountUiKey.Key:
type: TransferAmountBoundUserInterface
- type: DrawableSolution
solution: tank
- type: InjectableSolution
solution: tank
- type: Drink
solution: tank
- type: Spillable
solution: tank
- type: DumpableSolution
solution: tank
- type: Sprite
sprite: DeltaV/Objects/Storage/keg.rsi
layers:
- state: base
map: ["enum.StorageVisualLayers.Base"]
- type: Damageable
damageContainer: StructuralInorganic
damageModifierSet: Wood
- type: StaticPrice
price: 50
- type: Construction
graph: WoodenKeg
node: woodenkeg
containers:
- entity_storage
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.2,-0.3,0.2,0.4"
density: 200
mask:
- SmallMobMask #this is so they can go under plastic flaps
layer:
- MachineLayer
- type: Transform
noRot: false

- type: entity
parent: WoodenKeg
name: root beer keg
description: A musty old wooden keg, with a tap attached to the front. Smells like root beer.
id: WoodenKegRootBeer
components:
- type: Label
currentLabel: reagent-name-root-beer
- type: SolutionContainerManager
solutions:
tank:
reagents:
- ReagentId: RootBeer
Quantity: 500

- type: entity
parent: WoodenKeg
name: beer keg
description: A musty old wooden keg, with a tap attached to the front. Smells like beer.
id: WoodenKegBeer
components:
- type: Label
currentLabel: reagent-name-beer
- type: SolutionContainerManager
solutions:
tank:
reagents:
- ReagentId: Beer
Quantity: 500

- type: entity
parent: WoodenKeg
name: wine keg
description: A musty old wooden keg, with a tap attached to the front. Smells like wine.
id: WoodenKegWine
components:
- type: Label
currentLabel: reagent-name-wine
- type: SolutionContainerManager
solutions:
tank:
reagents:
- ReagentId: Wine
Quantity: 500
54 changes: 54 additions & 0 deletions Resources/Prototypes/DeltaV/Recipes/Crafting/Graphs/barrel.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
- type: constructionGraph
id: WoodenBarrel
start: start
graph:
- node: start
edges:
- to: woodenbarrel
steps:
- material: WoodPlank
amount: 5
doAfter: 5

- node: woodenbarrel
entity: WoodenBarrel
edges:
- to: start
steps:
- tool: Prying
doAfter: 2
completed:
- !type:SpawnPrototype
prototype: MaterialWoodPlank1
amount: 5
- !type:EmptyAllContainers
- !type:DeleteEntity

- type: constructionGraph
id: WoodenKeg
start: start
graph:
- node: start
edges:
- to: woodenkeg
steps:
- material: WoodPlank
amount: 5
doAfter: 5

- node: woodenkeg
entity: WoodenKeg
edges:
- to: start
steps:
- tool: Prying
doAfter: 2
conditions:
- !type:SolutionEmpty
solution: tank
completed:
- !type:SpawnPrototype
prototype: MaterialWoodPlank1
amount: 5
- !type:EmptyAllContainers
- !type:DeleteEntity
25 changes: 25 additions & 0 deletions Resources/Prototypes/DeltaV/Recipes/Crafting/barrel.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
- type: construction
name: wooden barrel
id: WoodenBarrel
graph: WoodenBarrel
startNode: start
targetNode: woodenbarrel
category: construction-category-storage
description: A musty old wooden barrel.
icon:
sprite: DeltaV/Objects/Storage/barrel.rsi
state: base
objectType: Structure

- type: construction
name: wooden keg
id: WoodenKeg
graph: WoodenKeg
startNode: start
targetNode: woodenkeg
category: construction-category-storage
description: A musty old wooden keg, with a tap attached to the front.
icon:
sprite: DeltaV/Objects/Storage/keg.rsi
state: base
objectType: Structure
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
20 changes: 20 additions & 0 deletions Resources/Textures/DeltaV/Objects/Storage/barrel.rsi/meta.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Taken from tgstation PR https://github.com/tgstation/tgstation/blob/master/icons/obj/objects.dmi, modified by rosieposieeee",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "base"
},
{
"name": "open"
},
{
"name": "closed"
}
]
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
15 changes: 15 additions & 0 deletions Resources/Textures/DeltaV/Objects/Storage/keg.rsi/meta.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Made by rosieposieeee",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "base",
"directions": 4
}
]
}

0 comments on commit 3faaaa7

Please sign in to comment.