Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Barrels & Kegs #829

Closed
wants to merge 11 commits into from
30 changes: 30 additions & 0 deletions Resources/Prototypes/DeltaV/Catalog/Cargo/cargo_food.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,3 +27,33 @@
cost: 6000 # Thanks bounties
category: Food
group: market

- type: cargoProduct
id: FoodBeerKeg
icon:
sprite: DeltaV/Structures/Storage/keg.rsi
state: base
product: WoodenKegBeer
cost: 500
category: Food
group: market

- type: cargoProduct
id: FoodRootBeerKeg
icon:
sprite: DeltaV/Structures/Storage/keg.rsi
state: base
product: WoodenKegRootBeer
cost: 500
category: Food
group: market

- type: cargoProduct
id: FoodWineBarrel
icon:
sprite: DeltaV/Structures/Storage/keg.rsi
state: base
product: WoodenKegWine
cost: 500
category: Food
group: market
Original file line number Diff line number Diff line change
@@ -0,0 +1,180 @@
- type: entity
parent: CrateGeneric
id: WoodenBarrel
name: wooden barrel
description: A musty old wooden barrel.
components:
- type: Sprite
sprite: DeltaV/Structures/Storage/barrel.rsi
layers:
- state: base
map: ["enum.StorageVisualLayers.Base"]
- state: closed
map: ["enum.StorageVisualLayers.Door"]
- type: Icon
sprite: DeltaV/Structures/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: 125
mask:
- SmallMobMask #this is so they can go under plastic flaps
layer:
- MachineLayer
- type: Climbable

- type: entity
parent: BaseStructureDynamic
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
canMix: true
- type: DrainableSolution
solution: tank
- type: ExaminableSolution
solution: tank
- type: UserInterface
interfaces:
- key: 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/Structures/Storage/keg.rsi
layers:
- state: base
map: ["enum.StorageVisualLayers.Base"]
- type: Icon
sprite: DeltaV/Structures/Storage/keg.rsi
state: base
- type: Damageable
damageContainer: StructuralInorganic
damageModifierSet: Wood
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 30
behaviors:
- !type:PlaySoundBehavior
sound:
collection: WoodDestroy
- !type:SpillBehavior
solution: tank
- !type:SpawnEntitiesBehavior
spawn:
MaterialWoodPlank1:
min: 1
max: 4
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: StaticPrice
price: 50
- type: Construction
graph: WoodenKeg
node: woodenkeg
containers:
- entity_storage
- type: InteractionOutline
- type: Physics
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.2,-0.3,0.2,0.4"
density: 125
mask:
- SmallMobMask #this is so they can go under plastic flaps
layer:
- MachineLayer
- type: Transform
noRot: true

- 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/Structures/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/Structures/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.
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/pull/38977, 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.
14 changes: 14 additions & 0 deletions Resources/Textures/DeltaV/Structures/Storage/keg.rsi/meta.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Taken from tgstation PR https://github.com/tgstation/tgstation/pull/38977, modified by rosieposieeee",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "base"
}
]
}
Loading