Add hunger and thirst (#363)

* Add hunger and thirst

Based on the SS13 systems.
Food (Nutriment) / Drink -> Stomach -> Hunger / Thirst

* Cleanup rebase

* Cleanup stuff that was prototyped

* Address feedback

Still need to add a statuseffects system in a separate branch

* More cleanup on nutrition

Fix Remie's feedback and also damage tick.

* Re-implement nutrition with master

* Updated to use the StatusEffectsUI update
* Removed all clientside components as they only receive the UI updates now
* Implemented PR feedback
* Had to make a slight adjustment to the chemistry SolutionComponent given it doesn't have an Owner, same with Solution

Still TODO:
* Metabolisation effects
* Change drink contents to alcohol / wine etc.
* Add items to the dispensers
* For transparent containers use RecalculateColor

Could probably genericise DrinkFoodContainer as well to be a temporary item dispenser

* Fix broken bottle parent
This commit is contained in:
metalgearsloth
2019-11-12 08:20:03 +11:00
committed by Pieter-Jan Briers
parent 6de5c01afb
commit de148fc98f
1026 changed files with 9617 additions and 8 deletions

View File

@@ -24,6 +24,7 @@
- chem.C
- chem.Cu
- chem.N
- chem.Nutriment
- chem.Fe
- chem.F
- chem.Al

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,287 @@
- type: entity
parent: DrinkBase
id: DrinkAbsintheBottleFull
name: Jailbreaker Verte
description: One sip of this and you just know you're gonna have a good time.
components:
- type: Drink
max_volume: 10
spawn_on_finish: DrinkBottleAbsinthe
contents:
reagents:
- ReagentId: chem.H2O
Quantity: 10
- type: Sprite
sprite: Objects/Drinks/absinthebottle.rsi
- type: Icon
sprite: Objects/Drinks/absinthebottle.rsi
- type: entity
parent: DrinkBase
id: DrinkAlcoGreenFull
name: Emeraldine Melon Liquor
description: A bottle of 46 proof Emeraldine Melon Liquor. Sweet and light.
components:
- type: Drink
max_volume: 10
spawn_on_finish: DrinkBottleAlcoClear
contents:
reagents:
- ReagentId: chem.H2O
Quantity: 10
- type: Sprite
sprite: Objects/Drinks/alco-green.rsi
- type: Icon
sprite: Objects/Drinks/alco-green.rsi
- type: entity
parent: DrinkBase
id: DrinkAleBottleFull
name: Magm-Ale
description: A true dorf's drink of choice.
components:
- type: Drink
max_volume: 10
spawn_on_finish: DrinkBottleAle
contents:
reagents:
- ReagentId: chem.H2O
Quantity: 10
- type: Sprite
sprite: Objects/Drinks/alebottle.rsi
- type: Icon
sprite: Objects/Drinks/alebottle.rsi
- type: entity
parent: DrinkBase
id: DrinkBottleOfNothingFull
name: Bottle of nothing
description: A bottle filled with nothing
components:
- type: Drink
max_volume: 10
spawn_on_finish: DrinkBottleAlcoClear
contents:
reagents:
- ReagentId: chem.H2O
Quantity: 10
- type: Sprite
sprite: Objects/Drinks/bottleofnothing.rsi
- type: Icon
sprite: Objects/Drinks/bottleofnothing.rsi
- type: entity
parent: DrinkBase
id: DrinkCognacBottleFull
name: Cognac bottle
description: A sweet and strongly alchoholic drink, made after numerous distillations and years of maturing. You might as well not scream 'SHITCURITY' this time.
components:
- type: Drink
max_volume: 10
spawn_on_finish: DrinkBottleCognac
contents:
reagents:
- ReagentId: chem.H2O
Quantity: 10
- type: Sprite
sprite: Objects/Drinks/cognacbottle.rsi
- type: Icon
sprite: Objects/Drinks/cognacbottle.rsi
- type: entity
parent: DrinkBase
id: DrinkGinBottleFull
name: Griffeater gin bottle
description: A bottle of high quality gin, produced in the New London Space Station.
components:
- type: Drink
max_volume: 10
spawn_on_finish: DrinkBottleGin
contents:
reagents:
- ReagentId: chem.H2O
Quantity: 10
- type: Sprite
sprite: Objects/Drinks/ginbottle.rsi
- type: Icon
sprite: Objects/Drinks/ginbottle.rsi
- type: entity
parent: DrinkBase
id: DrinkGoldschlagerBottleFull
name: Goldschlager bottle
description: 100 proof cinnamon schnapps, made for alcoholic teen girls on spring break.
components:
- type: Drink
max_volume: 10
spawn_on_finish: DrinkBottleGoldschlager
contents:
reagents:
- ReagentId: chem.H2O
Quantity: 10
- type: Sprite
sprite: Objects/Drinks/goldschlagerbottle.rsi
- type: Icon
sprite: Objects/Drinks/goldschlagerbottle.rsi
- type: entity
parent: DrinkBase
id: DrinkKahluaBottleFull
name: Kahlua bottle
description: A widely known, Mexican coffee-flavoured liqueur. In production since 1936, HONK
components:
- type: Drink
max_volume: 10
spawn_on_finish: DrinkBottleKahlua
contents:
reagents:
- ReagentId: chem.H2O
Quantity: 10
- type: Sprite
sprite: Objects/Drinks/kahluabottle.rsi
- type: Icon
sprite: Objects/Drinks/kahluabottle.rsi
- type: entity
parent: DrinkBase
id: DrinkPatronBottleFull
name: Wrapp artiste patron bottle
description: Silver laced tequilla, served in space night clubs across the galaxy.
components:
- type: Drink
max_volume: 10
spawn_on_finish: DrinkBottlePatron
contents:
reagents:
- ReagentId: chem.H2O
Quantity: 10
- type: Sprite
sprite: Objects/Drinks/patronbottle.rsi
- type: Icon
sprite: Objects/Drinks/patronbottle.rsi
- type: entity
parent: DrinkBase
id: DrinkPoisonWinebottleFull
name: Warlock's velvet bottle
description: What a delightful packaging for a surely high quality wine! The vintage must be amazing!
components:
- type: Drink
max_volume: 10
spawn_on_finish: DrinkBottlePoisonWine
contents:
reagents:
- ReagentId: chem.H2O
Quantity: 10
- type: Sprite
sprite: Objects/Drinks/pwinebottle.rsi
- type: Icon
sprite: Objects/Drinks/pwinebottle.rsi
- type: entity
parent: DrinkBase
id: DrinkRumbottleFull
name: Captain Pete's cuban spiced rum
description: This isn't just rum, oh no. It's practically GRIFF in a bottle.
components:
- type: Drink
max_volume: 10
spawn_on_finish: DrinkBottleRum
contents:
reagents:
- ReagentId: chem.H2O
Quantity: 10
- type: Sprite
sprite: Objects/Drinks/rumbottle.rsi
- type: Icon
sprite: Objects/Drinks/rumbottle.rsi
- type: entity
parent: DrinkBase
id: DrinkTequilabottleFull
name: Caccavo guaranteed quality tequila bottle
description: Made from premium petroleum distillates, pure thalidomide and other fine quality ingredients!
components:
- type: Drink
max_volume: 10
spawn_on_finish: DrinkBottleTequila
contents:
reagents:
- ReagentId: chem.H2O
Quantity: 10
- type: Sprite
sprite: Objects/Drinks/tequillabottle.rsi
- type: Icon
sprite: Objects/Drinks/tequillabottle.rsi
- type: entity
parent: DrinkBase
id: DrinkVermouthBottleFull
name: Goldeneye vermouth bottle
description: Sweet, sweet dryness~
components:
- type: Drink
max_volume: 10
spawn_on_finish: DrinkBottleVermouth
contents:
reagents:
- ReagentId: chem.H2O
Quantity: 10
- type: Sprite
sprite: Objects/Drinks/vermouthbottle.rsi
- type: Icon
sprite: Objects/Drinks/vermouthbottle.rsi
- type: entity
parent: DrinkBase
id: DrinkVodkaBottleFull
name: Vodka bottle
description: Aah, vodka. Prime choice of drink AND fuel by Russians worldwide.
components:
- type: Drink
max_volume: 10
spawn_on_finish: DrinkBottleVodka
contents:
reagents:
- ReagentId: chem.H2O
Quantity: 10
- type: Sprite
sprite: Objects/Drinks/vodkabottle.rsi
- type: Icon
sprite: Objects/Drinks/vodkabottle.rsi
- type: entity
parent: DrinkBase
id: DrinkWhiskeyBottleFull
name: Uncle Git's special reserve
description: A premium single-malt whiskey, gently matured inside the tunnels of a nuclear shelter. TUNNEL WHISKEY RULES.
components:
- type: Drink
max_volume: 10
spawn_on_finish: DrinkBottleWhiskey
contents:
reagents:
- ReagentId: chem.H2O
Quantity: 10
- type: Sprite
sprite: Objects/Drinks/whiskeybottle.rsi
- type: Icon
sprite: Objects/Drinks/whiskeybottle.rsi
- type: entity
parent: DrinkBase
id: DrinkWineBottleFull
name: Doublebearded bearded special wine bottle
description: A faint aura of unease and asspainery surrounds the bottle.
components:
- type: Drink
max_volume: 10
spawn_on_finish: DrinkBottleWine
contents:
reagents:
- ReagentId: chem.H2O
Quantity: 10
- type: Sprite
sprite: Objects/Drinks/winebottle.rsi
- type: Icon
sprite: Objects/Drinks/winebottle.rsi

View File

@@ -0,0 +1,258 @@
- type: entity
parent: DrinkFoodContainerBase
name: Base can
id: DrinkFoodContainerBaseCan
abstract: true
components:
- type: Sound
- type: DrinkFoodContainer
use_sound: /Audio/items/canopen.ogg
capacity: 1
# Below are grouped paired as "unopened" and "opened"
- type: entity
parent: DrinkFoodContainerBaseCan
name: Space cola (unopened)
id: DrinkFoodContainerColaCanUnopened
components:
- type: Sound
- type: DrinkFoodContainer
prototypes:
DrinkColaCan: 100
- type: Sprite
sprite: Objects/Drinks/cola.rsi
- type: Icon
sprite: Objects/Drinks/cola.rsi
- type: entity
parent: DrinkBase
id: DrinkColaCan
name: Space cola
description: A refreshing beverage.
components:
- type: Drink
contents:
reagents:
- ReagentId: chem.H2O
Quantity: 4
- type: Sprite
sprite: Objects/Drinks/cola.rsi
- type: Icon
sprite: Objects/Drinks/cola.rsi
- type: entity
parent: DrinkFoodContainerBaseCan
name: Ice tea can (unopened)
id: DrinkFoodContainerIceTeaCanUnopened
components:
- type: Sound
- type: DrinkFoodContainer
prototypes:
DrinkIceTeaCan: 100
- type: Sprite
sprite: Objects/Drinks/ice_tea_can.rsi
- type: Icon
sprite: Objects/Drinks/ice_tea_can.rsi
- type: entity
parent: DrinkBase
id: DrinkIceTeaCan
name: Ice tea can
description: ''
components:
- type: Drink
contents:
reagents:
- ReagentId: chem.H2O
Quantity: 4
- type: Sprite
sprite: Objects/Drinks/ice_tea_can.rsi
- type: Icon
sprite: Objects/Drinks/ice_tea_can.rsi
- type: entity
parent: DrinkFoodContainerBaseCan
name: Lemon-lime can (unopened)
id: DrinkFoodContainerLemonLimeCanUnopened
components:
- type: Sound
- type: DrinkFoodContainer
prototypes:
DrinkLemonLimeCan: 100
- type: Sprite
sprite: Objects/Drinks/lemon-lime.rsi
- type: Icon
sprite: Objects/Drinks/lemon-lime.rsi
- type: entity
parent: DrinkBase
id: DrinkLemonLimeCan
name: Lemon-lime can
description: You wanted ORANGE. It gave you Lemon Lime.
components:
- type: Drink
contents:
reagents:
- ReagentId: chem.H2O
Quantity: 4
- type: Sprite
sprite: Objects/Drinks/lemon-lime.rsi
- type: Icon
sprite: Objects/Drinks/lemon-lime.rsi
- type: entity
parent: DrinkFoodContainerBaseCan
name: Purple can (unopened)
id: DrinkFoodContainerPurpleCanUnopened
components:
- type: Sound
- type: DrinkFoodContainer
prototypes:
DrinkPurpleCan: 100
- type: Sprite
sprite: Objects/Drinks/purple_can.rsi
- type: Icon
sprite: Objects/Drinks/purple_can.rsi
- type: entity
parent: DrinkBase
id: DrinkPurpleCan
name: Purple Can
description: ''
components:
- type: Drink
contents:
reagents:
- ReagentId: chem.H2O
Quantity: 4
- type: Sprite
sprite: Objects/Drinks/purple_can.rsi
- type: Icon
sprite: Objects/Drinks/purple_can.rsi
- type: entity
parent: DrinkFoodContainerBaseCan
name: Space mountain wind can (unopened)
id: DrinkFoodContainerSpaceMountainWindCanUnopened
components:
- type: Sound
- type: DrinkFoodContainer
prototypes:
DrinkSpaceMountainWindCan: 100
- type: Sprite
sprite: Objects/Drinks/space_mountain_wind.rsi
- type: Icon
sprite: Objects/Drinks/space_mountain_wind.rsi
- type: entity
parent: DrinkBase
id: DrinkSpaceMountainWindCan
name: Space mountain wind can
description: Blows right through you like a space wind.
components:
- type: Drink
contents:
reagents:
- ReagentId: chem.H2O
Quantity: 4
- type: Sprite
sprite: Objects/Drinks/space_mountain_wind.rsi
- type: Icon
sprite: Objects/Drinks/space_mountain_wind.rsi
- type: entity
parent: DrinkFoodContainerBaseCan
name: Space-up can (unopened)
id: DrinkFoodContainerSpaceUpCanUnopened
components:
- type: Sound
- type: DrinkFoodContainer
prototypes:
DrinkSpaceUpCan: 100
- type: Sprite
sprite: Objects/Drinks/space-up.rsi
- type: Icon
sprite: Objects/Drinks/space-up.rsi
- type: entity
parent: DrinkBase
id: DrinkSpaceUpCan
name: Space-up can
description: Tastes like a hull breach in your mouth.
components:
- type: Drink
contents:
reagents:
- ReagentId: chem.H2O
Quantity: 4
- type: Sprite
sprite: Objects/Drinks/space-up.rsi
- type: Icon
sprite: Objects/Drinks/space-up.rsi
- type: entity
parent: DrinkFoodContainerBaseCan
name: Starkist can (unopened)
id: DrinkFoodContaineStarkistCanUnopened
components:
- type: Sound
- type: DrinkFoodContainer
prototypes:
DrinkStarkistCan: 100
- type: Sprite
sprite: Objects/Drinks/starkist.rsi
- type: Icon
sprite: Objects/Drinks/starkist.rsi
- type: entity
parent: DrinkBase
id: DrinkStarkistCan
name: Starkist can
description: The taste of a star in liquid form. And, a bit of tuna...?
components:
- type: Drink
contents:
reagents:
- ReagentId: chem.H2O
Quantity: 4
- type: Sprite
sprite: Objects/Drinks/starkist.rsi
- type: Icon
sprite: Objects/Drinks/starkist.rsi
- type: entity
parent: DrinkFoodContainerBaseCan
name: Thirteen loko can (unopened)
id: DrinkFoodContaineThirteenLokoCanUnopened
components:
- type: Sound
- type: DrinkFoodContainer
prototypes:
DrinkThirteenLokoCan: 100
- type: Sprite
sprite: Objects/Drinks/thirteen_loko.rsi
- type: Icon
sprite: Objects/Drinks/thirteen_loko.rsi
- type: entity
parent: DrinkBase
id: DrinkThirteenLokoCan
name: Thirteen loko can
description: The MBO has advised crew members that consumption of Thirteen Loko may result in seizures, blindness, drunkeness, or even death. Please Drink Responsibly.
components:
- type: Drink
contents:
reagents:
- ReagentId: chem.H2O
Quantity: 4
- type: Sprite
sprite: Objects/Drinks/thirteen_loko.rsi
- type: Icon
sprite: Objects/Drinks/thirteen_loko.rsi

View File

@@ -0,0 +1,236 @@
# Empty drink containers; different from bottles in that these are intended to be spawned empty
- type: entity
parent: BaseItem
id: DrinkBaseCup
name: Base cup
abstract: true
components:
- type: Drink
max_volume: 4
despawn_empty: false
- type: Sprite
state: icon
- type: Icon
state: icon
- type: entity
parent: DrinkBaseCup
id: DrinkGoldenCup
name: Golden cup
description: A golden cup
components:
- type: Drink
max_volume: 10
- type: Sprite
sprite: Objects/Drinks/golden_cup.rsi
- type: Icon
sprite: Objects/Drinks/golden_cup.rsi
- type: entity
parent: DrinkBaseCup
id: DrinkPitcher
name: Insulated pitcher
description: A stainless steel insulated pitcher. Everyone's best friend in the morning.
components:
- type: Drink
max_volume: 15
- type: Sprite
sprite: Objects/Drinks/pitcher.rsi
state: icon-6
- type: Icon
sprite: Objects/Drinks/pitcher.rsi
state: icon-6
- type: Appearance
visuals:
- type: DrinkFoodVisualizer2D
steps: 7
- type: entity
parent: DrinkBaseCup
id: DrinkMug
name: Mug
description: A plain white mug.
components:
- type: Drink
max_volume: 4
- type: Sprite
sprite: Objects/Drinks/mug.rsi
state: icon-3
- type: Icon
sprite: Objects/Drinks/mug.rsi
state: icon-3
- type: Appearance
visuals:
- type: DrinkFoodVisualizer2D
steps: 4
- type: entity
parent: DrinkBaseCup
id: DrinkMugBlack
name: Mug Black
description: A sleek black mug.
components:
- type: Drink
max_volume: 4
- type: Sprite
sprite: Objects/Drinks/mug_black.rsi
state: icon-3
- type: Icon
sprite: Objects/Drinks/mug_black.rsi
state: icon-3
- type: Appearance
visuals:
- type: DrinkFoodVisualizer2D
steps: 4
- type: entity
parent: DrinkBaseCup
id: DrinkMugBlue
name: Mug Blue
description: A blue and black mug.
components:
- type: Drink
max_volume: 4
- type: Sprite
sprite: Objects/Drinks/mug_blue.rsi
state: icon-3
- type: Icon
sprite: Objects/Drinks/mug_blue.rsi
state: icon-3
- type: Appearance
visuals:
- type: DrinkFoodVisualizer2D
steps: 4
- type: entity
parent: DrinkBaseCup
id: DrinkMugGreen
name: Mug Green
description: A pale green and pink mug.
components:
- type: Drink
max_volume: 4
- type: Sprite
sprite: Objects/Drinks/mug_green.rsi
state: icon-3
- type: Icon
sprite: Objects/Drinks/mug_green.rsi
state: icon-3
- type: Appearance
visuals:
- type: DrinkFoodVisualizer2D
steps: 4
- type: entity
parent: DrinkBaseCup
id: DrinkMugHeart
name: Mug Heart
description: A white mug, it prominently features a red heart.
components:
- type: Drink
max_volume: 4
- type: Sprite
sprite: Objects/Drinks/mug_heart.rsi
state: icon-3
- type: Icon
sprite: Objects/Drinks/mug_heart.rsi
state: icon-3
- type: Appearance
visuals:
- type: DrinkFoodVisualizer2D
steps: 4
- type: entity
parent: DrinkBaseCup
id: DrinkMugMetal
name: Mug Metal
description: A metal mug. You're not sure which metal.
components:
- type: Drink
max_volume: 4
- type: Sprite
sprite: Objects/Drinks/mug_metal.rsi
state: icon-3
- type: Icon
sprite: Objects/Drinks/mug_metal.rsi
state: icon-3
- type: Appearance
visuals:
- type: DrinkFoodVisualizer2D
steps: 4
- type: entity
parent: DrinkBaseCup
id: DrinkMugMoebius
name: Mug Moebius
description: A mug with a Moebius Laboratories logo on it. Not even your morning coffee is safe from corporate advertising.
components:
- type: Drink
max_volume: 4
- type: Sprite
sprite: Objects/Drinks/mug_moebius.rsi
state: icon-3
- type: Icon
sprite: Objects/Drinks/mug_moebius.rsi
state: icon-3
- type: Appearance
visuals:
- type: DrinkFoodVisualizer2D
steps: 4
- type: entity
parent: DrinkBaseCup
id: DrinkMugOne
name: "#1 mug"
description: "A white mug, it prominently features a #1."
components:
- type: Drink
max_volume: 4
- type: Sprite
sprite: Objects/Drinks/mug_one.rsi
state: icon-3
- type: Icon
sprite: Objects/Drinks/mug_one.rsi
state: icon-3
- type: Appearance
visuals:
- type: DrinkFoodVisualizer2D
steps: 4
- type: entity
parent: DrinkBaseCup
id: DrinkMugRainbow
name: Mug Rainbow
description: A rainbow mug. The colors are almost as blinding as a welder.
components:
- type: Drink
max_volume: 4
- type: Sprite
sprite: Objects/Drinks/mug_rainbow.rsi
state: icon-3
- type: Icon
sprite: Objects/Drinks/mug_rainbow.rsi
state: icon-3
- type: Appearance
visuals:
- type: DrinkFoodVisualizer2D
steps: 4
- type: entity
parent: DrinkBaseCup
id: DrinkMugRed
name: Mug Red
description: A red and black mug.
components:
- type: Drink
max_volume: 4
- type: Sprite
sprite: Objects/Drinks/mug_red.rsi
state: icon-3
- type: Icon
sprite: Objects/Drinks/mug_red.rsi
state: icon-3
- type: Appearance
visuals:
- type: DrinkFoodVisualizer2D
steps: 4

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,447 @@
- type: entity
parent: BaseItem
id: DrinkFoodContainerBase
abstract: true
components:
- type: DrinkFoodContainer
capacity: 5
- type: Sprite
state: icon
netsync: false
- type: Icon
state: icon
# Containers
- type: entity
parent: DrinkFoodContainerBase
name: Apple cake
id: DrinkFoodContainerAppleCake
components:
- type: DrinkFoodContainer
capacity: 5
prototypes:
FoodAppleCakeSlice: 100
spawn_on_finish: TrashTray
- type: Sprite
sprite: Objects/DrinkFoodContainers/apple_cake.rsi
- type: Icon
sprite: Objects/DrinkFoodContainers/apple_cake.rsi
- type: entity
parent: DrinkFoodContainerBase
name: Banana bread
id: DrinkFoodContainerBananaBread
components:
- type: DrinkFoodContainer
capacity: 5
prototypes:
FoodBananaBreadSlice: 100
- type: Sprite
sprite: Objects/DrinkFoodContainers/bananabread.rsi
- type: Icon
sprite: Objects/DrinkFoodContainers/bananabread.rsi
- type: entity
parent: DrinkFoodContainerBase
name: Birthday cake
id: DrinkFoodContainerBirthdayCake
components:
- type: DrinkFoodContainer
capacity: 5
prototypes:
FoodBirthdayCakeSlice: 100
- type: Sprite
sprite: Objects/DrinkFoodContainers/birthdaycake.rsi
- type: Icon
sprite: Objects/DrinkFoodContainers/birthdaycake.rsi
- type: entity
parent: DrinkFoodContainerBase
name: Brain cake
id: DrinkFoodContainerBrainCake
components:
- type: DrinkFoodContainer
capacity: 5
prototypes:
FoodBrainCakeSlice: 100
- type: Sprite
sprite: Objects/DrinkFoodContainers/braincake.rsi
- type: Icon
sprite: Objects/DrinkFoodContainers/braincake.rsi
- type: entity
parent: DrinkFoodContainerBase
name: Bread
id: DrinkFoodContainerBread
components:
- type: DrinkFoodContainer
capacity: 5
prototypes:
FoodBreadSlice: 100
- type: Sprite
sprite: Objects/DrinkFoodContainers/bread.rsi
- type: Icon
sprite: Objects/DrinkFoodContainers/bread.rsi
- type: entity
parent: DrinkFoodContainerBase
name: Carrot cake
id: DrinkFoodContainerCarrotCake
components:
- type: DrinkFoodContainer
capacity: 5
prototypes:
FoodCarrotCakeSlice: 100
- type: Sprite
sprite: Objects/DrinkFoodContainers/carrotcake.rsi
- type: Icon
sprite: Objects/DrinkFoodContainers/carrotcake.rsi
- type: entity
parent: DrinkFoodContainerBase
name: Cheesecake
id: DrinkFoodContainerCheeseCake
components:
- type: DrinkFoodContainer
capacity: 5
prototypes:
FoodCheeseCakeSlice: 100
- type: Sprite
sprite: Objects/DrinkFoodContainers/cheesecake.rsi
- type: Icon
sprite: Objects/DrinkFoodContainers/cheesecake.rsi
- type: entity
parent: DrinkFoodContainerBase
name: Cheese wheel
id: DrinkFoodContainerCheeseWheel
components:
- type: DrinkFoodContainer
capacity: 5
prototypes:
FoodCheeseWedge: 100
- type: Sprite
sprite: Objects/DrinkFoodContainers/apple_cake.rsi
- type: Icon
sprite: Objects/DrinkFoodContainers/apple_cake.rsi
- type: entity
parent: DrinkFoodContainerBase
name: Chocolate cake
id: DrinkFoodContainerChocolateCake
components:
- type: DrinkFoodContainer
capacity: 5
prototypes:
FoodChocolateCakeSlice: 100
- type: Sprite
sprite: Objects/DrinkFoodContainers/chocolatecake.rsi
- type: Icon
sprite: Objects/DrinkFoodContainers/chocolatecake.rsi
- type: entity
parent: DrinkFoodContainerBase
name: Cream cheese bread
id: DrinkFoodContainerCreamCheeseBread
components:
- type: DrinkFoodContainer
capacity: 5
prototypes:
FoodCreamCheeseBreadSlice: 100
- type: Sprite
sprite: Objects/DrinkFoodContainers/creamcheesebread.rsi
- type: Icon
sprite: Objects/DrinkFoodContainers/creamcheesebread.rsi
- type: entity
parent: DrinkFoodContainerBase
name: Donut box
id: DrinkFoodContainerDonutBox
components:
- type: DrinkFoodContainer
capacity: 6
prototypes:
FoodDonut: 70
FoodFrostedDonut: 30
- type: Sprite
sprite: Objects/DrinkFoodContainers/donutbox.rsi
- type: Icon
sprite: Objects/DrinkFoodContainers/donutbox.rsi
- type: Appearance
visuals:
- type: DrinkFoodContainerVisualizer2D
mode: Discrete
base_state: donutbox
steps: 7
- type: entity
parent: DrinkFoodContainerBase
name: Egg box (shut)
id: DrinkFoodContainerEggBoxShut
components:
- type: DrinkFoodContainer
capacity: 1
prototypes:
DrinkFoodContainerEggBox: 100
- type: Sprite
sprite: Objects/DrinkFoodContainers/eggbox_shut.rsi
- type: Icon
sprite: Objects/DrinkFoodContainers/eggbox_shut.rsi
- type: entity
parent: DrinkFoodContainerBase
name: Egg box
id: DrinkFoodContainerEggBox
components:
- type: DrinkFoodContainer
capacity: 12
prototypes:
FoodEgg: 100
- type: Sprite
sprite: Objects/DrinkFoodContainers/eggbox.rsi
state: eggbox-12
- type: Icon
sprite: Objects/DrinkFoodContainers/eggbox.rsi
state: eggbox-12
- type: Appearance
visuals:
- type: DrinkFoodContainerVisualizer2D
mode: Discrete
base_state: eggbox
steps: 13
- type: entity
parent: DrinkFoodContainerBase
name: Lemon cake
id: DrinkFoodContainerLemonCake
components:
- type: DrinkFoodContainer
capacity: 5
prototypes:
FoodLemonCakeSlice: 100
- type: Sprite
sprite: Objects/DrinkFoodContainers/lemoncake.rsi
- type: Icon
sprite: Objects/DrinkFoodContainers/lemoncake.rsi
- type: entity
parent: DrinkFoodContainerBase
name: Lime cake
id: DrinkFoodContainerLimeCake
components:
- type: DrinkFoodContainer
capacity: 5
prototypes:
FoodLimeCakeSlice: 100
- type: Sprite
sprite: Objects/DrinkFoodContainers/limecake.rsi
- type: Icon
sprite: Objects/DrinkFoodContainers/limecake.rsi
- type: entity
parent: DrinkFoodContainerBase
name: Meat bread
id: DrinkFoodContainerMeatBread
components:
- type: DrinkFoodContainer
capacity: 5
prototypes:
FoodMeatBreadSlice: 100
- type: Sprite
sprite: Objects/DrinkFoodContainers/meatbread.rsi
- type: Icon
sprite: Objects/DrinkFoodContainers/meatbread.rsi
- type: entity
parent: DrinkFoodContainerBase
name: Meat pizza
id: DrinkFoodContainerMeatPizza
components:
- type: DrinkFoodContainer
capacity: 6
prototypes:
FoodMeatPizzaSlice: 100
- type: Sprite
sprite: Objects/DrinkFoodContainers/meatpizza.rsi
- type: Icon
sprite: Objects/DrinkFoodContainers/meatpizza.rsi
# These two will probably get moved one day
- type: entity
parent: DrinkFoodContainerBase
name: Monkey cube box
id: DrinkFoodContainerMonkeyCubeBox
components:
- type: DrinkFoodContainer
capacity: 5
prototypes:
DrinkFoodContainerMonkeyCubeWrap: 100
- type: Sprite
sprite: Objects/DrinkFoodContainers/monkeycubebox.rsi
- type: Icon
sprite: Objects/DrinkFoodContainers/monkeycubebox.rsi
- type: entity
parent: DrinkFoodContainerBase
name: Monkey cube wrap
id: DrinkFoodContainerMonkeyCubeWrap
components:
- type: DrinkFoodContainer
capacity: 5
prototypes:
FoodMonkeyCube: 100
- type: Sprite
sprite: Objects/DrinkFoodContainers/monkeycubewrap.rsi
- type: Icon
sprite: Objects/DrinkFoodContainers/monkeycubewrap.rsi
- type: entity
parent: DrinkFoodContainerBase
name: Mushroom pizza
id: DrinkFoodContainerMushroomPizza
components:
- type: DrinkFoodContainer
capacity: 6
prototypes:
FoodMushroomPizzaSlice: 100
- type: Sprite
sprite: Objects/DrinkFoodContainers/mushroompizza.rsi
- type: Icon
sprite: Objects/DrinkFoodContainers/mushroompizza.rsi
- type: entity
parent: DrinkFoodContainerBase
name: Orange cake
id: DrinkFoodContainerOrangeCake
components:
- type: DrinkFoodContainer
capacity: 5
prototypes:
FoodOrangeCakeSlice: 100
- type: Sprite
sprite: Objects/DrinkFoodContainers/orangecake.rsi
- type: Icon
sprite: Objects/DrinkFoodContainers/orangecake.rsi
# TODO: Probably replace it with a stacking thing
- type: entity
parent: DrinkFoodContainerBase
name: Pizza box stack
id: DrinkFoodContainerPizzaBoxStack
components:
- type: DrinkFoodContainer
capacity: 5
prototypes:
DrinkFoodContainerPizzaBox: 100
- type: Sprite
sprite: Objects/DrinkFoodContainers/pizzaboxstack.rsi
- type: Icon
sprite: Objects/DrinkFoodContainers/pizzaboxstack.rsi
- type: Appearance
visuals:
- type: DrinkFoodContainerVisualizer2D
mode: Discrete
base_state: pizzaboxstack
steps: 5
- type: entity
parent: DrinkFoodContainerBase
name: Pizza box
id: DrinkFoodContainerPizzaBox
components:
- type: DrinkFoodContainer
capacity: 1
prototypes:
DrinkFoodContainerMeatPizza: 25
DrinkFoodContainerMargheritaPizza: 25
DrinkFoodContainerMushroomPizza: 25
DrinkFoodContainerVegetablePizza: 25
- type: Sprite
sprite: Objects/DrinkFoodContainers/pizzabox_open.rsi
- type: Icon
sprite: Objects/DrinkFoodContainers/pizzabox_open.rsi
- type: entity
parent: DrinkFoodContainerBase
name: Margherita pizza
id: DrinkFoodContainerMargheritaPizza
components:
- type: DrinkFoodContainer
capacity: 6
prototypes:
FoodMargheritaPizzaSlice: 100
- type: Sprite
sprite: Objects/DrinkFoodContainers/pizzamargherita.rsi
- type: Icon
sprite: Objects/DrinkFoodContainers/pizzamargherita.rsi
- type: entity
parent: DrinkFoodContainerBase
name: Plain cake
id: DrinkFoodContainerPlainCake
components:
- type: DrinkFoodContainer
capacity: 5
prototypes:
FoodPlainCakeSlice: 100
spawn_on_finish: TrashTray
- type: Sprite
sprite: Objects/DrinkFoodContainers/plaincake.rsi
- type: Icon
sprite: Objects/DrinkFoodContainers/plaincake.rsi
- type: entity
parent: DrinkFoodContainerBase
name: Pumpkin pie
id: DrinkFoodContainerPumpkinPie
components:
- type: DrinkFoodContainer
capacity: 5
prototypes:
FoodPumpkinPieSlice: 100
- type: Sprite
sprite: Objects/DrinkFoodContainers/pumpkinpie.rsi
- type: Icon
sprite: Objects/DrinkFoodContainers/pumpkinpie.rsi
- type: entity
parent: DrinkFoodContainerBase
name: Tofu bread
id: DrinkFoodContainerTofuBread
components:
- type: DrinkFoodContainer
capacity: 5
prototypes:
FoodTofuBreadSlice: 100
- type: Sprite
sprite: Objects/DrinkFoodContainers/tofubread.rsi
- type: Icon
sprite: Objects/DrinkFoodContainers/tofubread.rsi
- type: entity
parent: DrinkFoodContainerBase
name: Vegetable pizza
id: DrinkFoodContainerVegetablePizza
components:
- type: DrinkFoodContainer
capacity: 6
prototypes:
FoodVegetablePizzaSlice: 100
- type: Sprite
sprite: Objects/DrinkFoodContainers/vegetablepizza.rsi
- type: Icon
sprite: Objects/DrinkFoodContainers/vegetablepizza.rsi
- type: entity
parent: DrinkFoodContainerBase
name: Xenomeat bread
id: DrinkFoodContainerXenomeatBread
components:
- type: DrinkFoodContainer
capacity: 5
prototypes:
FoodXenomeatBreadSlice: 100
- type: Sprite
sprite: Objects/DrinkFoodContainers/xenomeatbread.rsi
- type: Icon
sprite: Objects/DrinkFoodContainers/xenomeatbread.rsi

View File

@@ -0,0 +1,202 @@
- type: entity
parent: BaseItem
id: TrashBase
description: This is rubbish.
abstract: true
components:
- type: Sprite
state: icon
- type: Icon
state: icon
# Trash mountain
- type: entity
name: 4 no raisins (trash)
parent: TrashBase
id: TrashRaisins
components:
- type: Sprite
sprite: Objects/Trash/4no_raisins.rsi
- type: Icon
sprite: Objects/Trash/4no_raisins.rsi
- type: entity
name: Candy (trash)
parent: TrashBase
id: TrashCandy
components:
- type: Sprite
sprite: Objects/Trash/candy.rsi
- type: Icon
sprite: Objects/Trash/candy.rsi
- type: entity
name: Cheesie honkers (trash)
parent: TrashBase
id: TrashCheesieHonkers
components:
- type: Sprite
sprite: Objects/Trash/cheesie_honkers.rsi
- type: Icon
sprite: Objects/Trash/cheesie_honkers.rsi
- type: entity
name: Chips (trash)
parent: TrashBase
id: TrashChips
components:
- type: Sprite
sprite: Objects/Trash/chips.rsi
- type: Icon
sprite: Objects/Trash/chips.rsi
- type: entity
name: Corn cob (trash)
parent: TrashBase
id: TrashCornCob
components:
- type: Sprite
sprite: Objects/Trash/corncob.rsi
- type: Icon
sprite: Objects/Trash/corncob.rsi
- type: entity
name: Liquid food (trash)
parent: TrashBase
id: TrashLiquidFood
components:
- type: Sprite
sprite: Objects/Trash/liquidfood.rsi
- type: Icon
sprite: Objects/Trash/liquidfood.rsi
- type: entity
name: Pistachos pack (trash)
parent: TrashBase
id: TrashPistachiosPack
components:
- type: Sprite
sprite: Objects/Trash/pistachios_pack.rsi
- type: Icon
sprite: Objects/Trash/pistachios_pack.rsi
- type: entity
name: Messy pizza box (trash)
parent: TrashBase
id: TrashPizzaBoxMessy
components:
- type: Sprite
sprite: Objects/Trash/pizzabox_messy.rsi
- type: Icon
sprite: Objects/Trash/pizzabox_messy.rsi
- type: entity
name: Plastic bag (trash)
parent: TrashBase
id: TrashPlasticBag
components:
- type: Sprite
sprite: Objects/Trash/plasticbag.rsi
- type: Icon
sprite: Objects/Trash/plasticbag.rsi
- type: entity
name: Plate (trash)
parent: TrashBase
id: TrashPlate
components:
- type: Sprite
sprite: Objects/Trash/plate.rsi
- type: Icon
sprite: Objects/Trash/plate.rsi
- type: entity
name: Popcorn (trash)
parent: TrashBase
id: TrashPopcorn
components:
- type: Sprite
sprite: Objects/Trash/popcorn.rsi
- type: Icon
sprite: Objects/Trash/popcorn.rsi
- type: entity
name: Semki pack (trash)
parent: TrashBase
id: TrashSemkiPack
components:
- type: Sprite
sprite: Objects/Trash/semki_pack.rsi
- type: Icon
sprite: Objects/Trash/semki_pack.rsi
- type: entity
name: Snack bowl (trash)
parent: TrashBase
id: TrashSnackBowl
components:
- type: Sprite
sprite: Objects/Trash/snack_bowl.rsi
- type: Icon
sprite: Objects/Trash/snack_bowl.rsi
- type: entity
name: SOS jerky (trash)
parent: TrashBase
id: TrashSOSJerky
components:
- type: Sprite
sprite: Objects/Trash/sosjerky.rsi
- type: Icon
sprite: Objects/Trash/sosjerky.rsi
- type: entity
name: Syndi cakes (trash)
parent: TrashBase
id: TrashSyndiCakes
components:
- type: Sprite
sprite: Objects/Trash/syndi_cakes.rsi
- type: Icon
sprite: Objects/Trash/syndi_cakes.rsi
- type: entity
name: Tasty bread (trash)
parent: TrashBase
id: TrashTastyBread
components:
- type: Sprite
sprite: Objects/Trash/tastybread.rsi
- type: Icon
sprite: Objects/Trash/tastybread.rsi
# TODO: Container
- type: entity
name: Trash bag (trash)
parent: TrashBase
id: TrashBag
components:
- type: Sprite
sprite: Objects/Trash/trashbag.rsi
- type: Icon
sprite: Objects/Trash/trashbag.rsi
- type: entity
name: Tray (trash)
parent: TrashBase
id: TrashTray
components:
- type: Sprite
sprite: Objects/Trash/tray.rsi
- type: Icon
sprite: Objects/Trash/tray.rsi
- type: entity
name: Waffles (trash)
parent: TrashBase
id: TrashWaffles
components:
- type: Sprite
sprite: Objects/Trash/waffles.rsi
- type: Icon
sprite: Objects/Trash/waffles.rsi

View File

@@ -0,0 +1,212 @@
# These can still be used as containers
- type: entity
name: Base empty bottle
parent: BaseItem
id: DrinkBottleBase
components:
- type: Sound
- type: Sprite
state: icon
- type: Icon
state: icon
- type: Drink
despawn_empty: false
max_volume: 10
contents:
reagents:
- ReagentId: chem.H2O
Quantity: 0
# Containers
- type: entity
name: Jailbreaker Verte bottle
parent: DrinkBottleBase
id: DrinkBottleAbsinthe
components:
- type: Sprite
sprite: Objects/TrashDrinks/absinthebottle_empty.rsi
- type: Icon
sprite: Objects/TrashDrinks/absinthebottle_empty.rsi
- type: entity
name: Alcohol bottle
parent: DrinkBottleBase
id: DrinkBottleAlcoClear
components:
- type: Sprite
sprite: Objects/TrashDrinks/alco-clear.rsi
- type: Icon
sprite: Objects/TrashDrinks/alco-clear.rsi
- type: entity
name: Ale bottle
parent: DrinkBottleBase
id: DrinkBottleAle
components:
- type: Sprite
sprite: Objects/TrashDrinks/alebottle_empty.rsi
- type: Icon
sprite: Objects/TrashDrinks/alebottle_empty.rsi
- type: entity
name: Beer bottle
parent: DrinkBottleBase
id: DrinkBottleBeer
components:
- type: Sprite
sprite: Objects/TrashDrinks/beer_empty.rsi
- type: Icon
sprite: Objects/TrashDrinks/beer_empty.rsi
- type: entity
name: Broken bottle
parent: DrinkBottleBase # Can't hold liquids
id: DrinkBrokenBottle
components:
- type: Sprite
sprite: Objects/TrashDrinks/broken_bottle.rsi
- type: Icon
sprite: Objects/TrashDrinks/broken_bottle.rsi
- type: entity
name: Cognac bottle
parent: DrinkBottleBase
id: DrinkBottleCognac
components:
- type: Sprite
sprite: Objects/TrashDrinks/cognacbottle_empty.rsi
- type: Icon
sprite: Objects/TrashDrinks/cognacbottle_empty.rsi
- type: entity
name: Griffeater gin bottle
parent: DrinkBottleBase
id: DrinkBottleGin
components:
- type: Sprite
sprite: Objects/TrashDrinks/ginbottle_empty.rsi
- type: Icon
sprite: Objects/TrashDrinks/ginbottle_empty.rsi
# Couldn't think of a nice place to put this
- type: entity
name: Empty glass
parent: DrinkBottleBase
id: DrinkEmptyGlass
components:
- type: Sprite
sprite: Objects/TrashDrinks/alebottle_empty.rsi
- type: Icon
sprite: Objects/TrashDrinks/alebottle_empty.rsi
- type: Solution
max_volume: 4
- type: entity
name: Goldschlager bottle
parent: DrinkBottleBase
id: DrinkBottleGoldschlager
components:
- type: Sprite
sprite: Objects/TrashDrinks/goldschlagerbottle_empty.rsi
- type: Icon
sprite: Objects/TrashDrinks/goldschlagerbottle_empty.rsi
- type: entity
name: Kahlua bottle
parent: DrinkBottleBase
id: DrinkBottleKahlua
components:
- type: Sprite
sprite: Objects/TrashDrinks/kahluabottle_empty.rsi
- type: Icon
sprite: Objects/TrashDrinks/kahluabottle_empty.rsi
- type: entity
name: NT Cahors bottle
parent: DrinkBottleBase
id: DrinkBottleNTCahors
components:
- type: Sprite
sprite: Objects/TrashDrinks/ntcahors_empty.rsi
- type: Icon
sprite: Objects/TrashDrinks/ntcahors_empty.rsi
- type: entity
name: Patron bottle
parent: DrinkBottleBase
id: DrinkBottlePatron
components:
- type: Sprite
sprite: Objects/TrashDrinks/patronbottle_empty.rsi
- type: Icon
sprite: Objects/TrashDrinks/patronbottle_empty.rsi
- type: entity
name: Poison wine bottle
parent: DrinkBottleBase
id: DrinkBottlePoisonWine
components:
- type: Sprite
sprite: Objects/TrashDrinks/pwinebottle_empty.rsi
- type: Icon
sprite: Objects/TrashDrinks/pwinebottle_empty.rsi
- type: entity
name: Rum bottle
parent: DrinkBottleBase
id: DrinkBottleRum
components:
- type: Sprite
sprite: Objects/TrashDrinks/rumbottle_empty.rsi
- type: Icon
sprite: Objects/TrashDrinks/rumbottle_empty.rsi
- type: entity
name: Tequila bottle
parent: DrinkBottleBase
id: DrinkBottleTequila
components:
- type: Sprite
sprite: Objects/TrashDrinks/tequillabottle_empty.rsi
- type: Icon
sprite: Objects/TrashDrinks/tequillabottle_empty.rsi
- type: entity
name: Vermouth bottle
parent: DrinkBottleBase
id: DrinkBottleVermouth
components:
- type: Sprite
sprite: Objects/TrashDrinks/vermouthbottle_empty.rsi
- type: Icon
sprite: Objects/TrashDrinks/vermouthbottle_empty.rsi
- type: entity
name: Vodka bottle
parent: DrinkBottleBase
id: DrinkBottleVodka
components:
- type: Sprite
sprite: Objects/TrashDrinks/vodkabottle_empty.rsi
- type: Icon
sprite: Objects/TrashDrinks/vodkabottle_empty.rsi
- type: entity
name: Whiskey bottle
parent: DrinkBottleBase
id: DrinkBottleWhiskey
components:
- type: Sprite
sprite: Objects/TrashDrinks/whiskeybottle_empty.rsi
- type: Icon
sprite: Objects/TrashDrinks/whiskeybottle_empty.rsi
- type: entity
name: Wine bottle
parent: DrinkBottleBase
id: DrinkBottleWine
components:
- type: Sprite
sprite: Objects/TrashDrinks/winebottle_empty.rsi
- type: Icon
sprite: Objects/TrashDrinks/winebottle_empty.rsi

View File

@@ -8,6 +8,11 @@
hands:
- left
- right
- type: Hunger
- type: Thirst
# Organs
- type: Stomach
- type: Inventory
- type: Constructor
- type: Clickable

View File

@@ -1,3 +1,8 @@
- type: reagent
id: chem.Nutriment
name: Nutriment
desc: Generic nutrition
- type: reagent
id: chem.H2SO4
name: Sulfuric Acid