flatReductions:
Blunt: 5
-# Generally quite fragile
-- type: damageModifierSet
- id: Cardboard
- coefficients:
- Blunt: 1.3
- Slash: 1.3
- Piercing: 0.3 # poking holes in cardboard doesn't do much
- Heat: 2.0 # it's wood so it burns
- Structural: 1.3
-
- type: damageModifierSet
id: Web # Very flammable, can be easily hacked and slashed, but shooting or hitting it is another story.
coefficients:
- type: entity
- parent: [DrinkBase, DrinkBaseMaterialGlass]
+ parent: [DrinkBaseMaterialGlass, DrinkBase]
id: DrinkMeth
name: meth # beer it is. coffee. beer? coff-ee? be-er? c-o... b-e
description: Just a whole glass of meth.
- type: entity
abstract: true
- parent: [ DrinkBase, DrinkBaseMaterialCardboard, DrinkBaseOpenable, DrinkVisualsOpenable ]
+ parent: [ DrinkBaseMaterialCardboard, DrinkBase, DrinkBaseOpenable, DrinkVisualsOpenable ]
id: DrinkCartonBaseLargeFull # todo rename DrinkCartonBaseFull to match bottles
suffix: Full
components:
solution: drink
- type: InjectableSolution # Injectors (syringe) will fallback to RefillableSolution. This adds support for hyposprays and injector anomalies.
solution: drink
-# - type: SolutionItemStatus todo Currently does not respect if the solution has ExaminableSolution and always shows the reagent count
+# - type: SolutionItemStatus todo Currently always shows the reagent count. Should show vague fill levels without ExaminableSolution
# solution: drink
- type: SolutionContainerManager
solutions:
# Visualizer for an openable entity with fill levels
- type: entity
abstract: true
+ parent: [DrinkVisualsOpenable, DrinkVisualsFill]
id: DrinkVisualsAll
components:
- - type: Appearance
- type: GenericVisualizer
visuals:
enum.OpenableVisuals.Opened:
- state: fill-1
map: ["enum.SolutionContainerLayers.Fill"]
visible: false
- - type: SolutionContainerVisuals
- maxFillLevels: 5
- fillBaseName: fill-
- inHandsMaxFillLevels: 3
- inHandsFillBaseName: -fill-
- - type: ExaminableSolution # If you can see the fill levels, you can see the unit count
- solution: drink
- - type: SolutionItemStatus # Remove when comp is uncommented on DrinkBase
- solution: drink
# Visualizer for an openable entity with fill levels, already filled
- type: entity
## Material costs to apply to a drink
-# Adding one of these bases as the first parent will override a previous inherited material
+# These bases should always be the first parent
# Fragile glass
- type: entity
damage:
types:
Blunt: 5
+# - type: EmitSoundOnLand TODO other materials need a sound
+# sound:
+# collection: GlassCrack
- type: PhysicalComposition
materialComposition:
Glass: 25
# Porcelain (like glass but no shard)
- type: entity
abstract: true
+ parent: DrinkBaseMaterialGlass
id: DrinkBaseMaterialPorcelain
components:
- - type: Damageable
- damageContainer: Inorganic
- damageModifierSet: FlimsyGlass
- type: Destructible
thresholds:
- trigger: # Overkill threshold
- !type:SpillBehavior { }
- !type:DoActsBehavior
acts: [ "Destruction" ]
- - type: DamageOnLand
- ignoreResistances: true
- damage:
- types:
- Blunt: 5 # so fragile it smashes when thrown
- - type: DamageOtherOnHit
- damage:
- types:
- Blunt: 5
- type: PhysicalComposition
materialComposition:
Glass: 10 # Trace amounts of glass I guess. Important for overriding inheritance
components:
- type: Damageable
damageContainer: Inorganic
-#TODO damageModifierSet: FlimsyPlastic
+# damageModifierSet: FlimsyPlastic TODO
- type: Destructible
thresholds:
- trigger: # Overkill threshold
components:
- type: Damageable
damageContainer: Inorganic
- damageModifierSet: Cardboard
+# damageModifierSet: Cardboard TODO
- type: Destructible
thresholds:
- trigger: # Overkill threshold
# strong metal
- type: entity
abstract: true
+ parent: DrinkBaseMaterialMetal
id: DrinkBaseMaterialStrongMetal
components:
- type: Damageable
- damageContainer: Inorganic
damageModifierSet: Metallic
- type: Destructible
thresholds:
- !type:SpillBehavior { }
- !type:DoActsBehavior
acts: [ "Destruction" ]
- - type: DamageOnLand
- ignoreResistances: true
- damage:
- types:
- Blunt: 1
- - type: DamageOtherOnHit
- damage:
- types:
- Blunt: 5
- type: PhysicalComposition
materialComposition:
Steel: 300
- type: entity
abstract: true
- parent: [ DrinkBase, DrinkBaseMaterialGlass, DrinkBaseOpenable ]
+ parent: [ DrinkBaseMaterialGlass, DrinkBase, DrinkBaseOpenable ]
id: DrinkBottleGlassBaseFull
suffix: Full
components:
- type: Tag
tags:
- DrinkBottle
+ - type: Destructible # Same as parent, but spawns BrokenBottle instead of ShardGlass
+ thresholds:
+ - trigger: # Overkill threshold
+ !type:DamageTrigger
+ damage: 200
+ behaviors:
+ - !type:DoActsBehavior
+ acts: [ "Destruction" ]
+ - trigger:
+ !type:DamageTrigger
+ damage: 5
+ behaviors:
+ - !type:PlaySoundBehavior
+ sound:
+ collection: GlassBreak
+ - !type:SpillBehavior { }
+ - !type:SpawnEntitiesBehavior
+ spawn:
+ BrokenBottle:
+ min: 1
+ max: 1
+ transferForensics: true
+ - !type:DoActsBehavior
+ acts: [ "Destruction" ]
- type: entity
abstract: true
map: ["enum.SolutionContainerLayers.Fill"]
- type: SolutionContainerVisuals
maxFillLevels: 6
- fillBaseName: fill-
- type: entity
parent: [DrinkVisualsOpenable, DrinkBottleGlassBaseFull]
map: ["enum.SolutionContainerLayers.Fill"]
- type: SolutionContainerVisuals
maxFillLevels: 6
- fillBaseName: fill-
- type: entity
parent: [DrinkVisualsAllFilled, DrinkBottleGlassBaseFull]
- type: entity
abstract: true
- parent: [ DrinkBase, DrinkBaseMaterialPlastic, DrinkBaseOpenable ]
+ parent: [ DrinkBaseMaterialPlastic, DrinkBase, DrinkBaseOpenable ]
id: DrinkBottlePlasticBaseFull
suffix: Full
components:
# When adding new drinks also add to random spawner located in Resources\Prototypes\Entities\Markers\Spawners\Random\Food_Drinks\drinks_soda.yml
- type: entity
abstract: true
- parent: [ DrinkBase, DrinkBaseMaterialMetal, DrinkBaseOpenable, DrinkVisualsOpenable ]
+ parent: [ DrinkBaseMaterialMetal, DrinkBase, DrinkBaseOpenable, DrinkVisualsOpenable ]
id: DrinkCanBaseFull
suffix: Full
components:
# A mug is a type of cup.[2]
- type: entity
abstract: true
- parent: [DrinkBaseCup, DrinkBaseMaterialPorcelain] # todo Should use DrinkVisualsFill, but inheritors have no in-hand and state names are wrong
+ parent: [ DrinkBaseMaterialPorcelain, DrinkBaseCup ] # todo Should use DrinkVisualsFill, but inheritors have no in-hand and state names are wrong
id: DrinkBaseMug
name: mug
description: A mug.
## Misc Cups
- type: entity
- parent: [DrinkBaseCup, DrinkBaseMaterialGold]
+ parent: [DrinkBaseMaterialGold, DrinkBaseCup]
id: DrinkGoldenCup
name: golden cup
description: A golden cup.
maxFillLevels: 4
- type: entity
- parent: [ DrinkBaseCup, DrinkBaseMaterialGlass, DrinkVisualsFillOverlay ]
+ parent: [ DrinkBaseMaterialGlass, DrinkBaseCup, DrinkVisualsFillOverlay ]
id: DrinkGlassCoupeShaped
name: coupe glass
description: A classic thin neck coupe glass, the icon of fragile labels on crates around the galaxy.
inHandsMaxFillLevels: 1
- type: entity
- parent: [DrinkBaseCup, DrinkBaseMaterialCardboard] # TODO should use DrinkVisualsFill but state names are wrong and no inhand
+ parent: [DrinkBaseMaterialCardboard, DrinkBaseCup] # TODO should use DrinkVisualsFill but state names are wrong and no inhand
id: DrinkWaterCup
name: water cup
description: A paper water cup.
# TODO this needs fill levels
- type: entity
- parent: [DrinkBaseCup, DrinkBaseMaterialPlastic]
+ parent: [DrinkBaseMaterialPlastic, DrinkBaseCup]
id: DrinkLean
name: grape juice
description: Damn, no fun allowed.
- type: entity
abstract: true
- parent: [DrinkBase, DrinkBaseMaterialStrongMetal, DrinkBaseOpenable, DrinkVisualsOpenable]
+ parent: [DrinkBaseMaterialStrongMetal, DrinkBase, DrinkBaseOpenable, DrinkVisualsOpenable]
id: FlaskBase
components:
- type: SolutionContainerManager
# Flasks
- type: entity
- parent: [DrinkBase, DrinkBaseMaterialStrongMetal]
+ parent: [DrinkBaseMaterialStrongMetal, DrinkBase]
id: DrinkFlaskOld
name: old flask
description: A decrepit old flask, its lid seems to be missing.
- type: entity
- parent: [ DrinkBase, DrinkBaseMaterialPlastic, DrinkBaseOpenable, DrinkVisualsOpenable ] # todo Should use DrinkVisualAll, but sprite has no inhand
+ parent: [ DrinkBaseMaterialPlastic, DrinkBase, DrinkBaseOpenable, DrinkVisualsOpenable ] # todo Should use DrinkVisualAll, but sprite has no inhand
id: DrinkSpaceGlue
name: space glue tube
description: High performance glue intended for maintenance of extremely complex mechanical equipment. DON'T DRINK!
solution: drink
- type: entity
- parent: [ DrinkBase, DrinkBaseMaterialPlastic, DrinkBaseOpenable, DrinkVisualsOpenable ] # Should use DrinkVisualAll, but sprite has no inhand
+ parent: [ DrinkBaseMaterialPlastic, DrinkBase, DrinkBaseOpenable, DrinkVisualsOpenable ] # Should use DrinkVisualAll, but sprite has no inhand
id: DrinkSpaceLube
name: space lube tube
description: High performance lubricant intended for maintenance of extremely complex mechanical equipment.
Quantity: 200
- type: entity
- parent: [DrinkBase, DrinkBaseMaterialGlass]
+ parent: [DrinkBaseMaterialGlass, DrinkBase]
id: DrinkJarWhat
name: jar of something
description: You can't really tell what this is.
# Transformable container - normal glass
- type: entity
- parent: [DrinkBaseCup, DrinkBaseMaterialGlass] # todo parent to DrinkVisualsFillOverlay after in-hands are added
+ parent: [DrinkBaseMaterialGlass, DrinkBaseCup] # todo parent to DrinkVisualsFillOverlay after in-hands are added
id: DrinkGlass
name: metamorphic glass
description: A metamorphic glass that automagically turns into a glass appropriate for the drink within. There's a sanded off patent number on the bottom.
- type: entity
- parent: [DrinkBase, DrinkBaseMaterialGlass, DrinkVisualsFillOverlay]
+ parent: [DrinkBaseMaterialGlass, DrinkBase, DrinkVisualsFillOverlay]
id: DrinkShotGlass
name: shot glass
description: Perfect for slamming down onto the table angrily.
- DrinkGlass
- type: entity
- parent: [DrinkBase, DrinkBaseMaterialMetal]
+ parent: [DrinkBaseMaterialMetal, DrinkBase]
id: DrinkIceBucket
name: ice bucket
description: A special bucket of refreshy ice. Prohibited use for challenge with the same name!
Steel: 75
- type: entity
- parent: [DrinkBase, DrinkBaseMaterialPorcelain]
+ parent: [DrinkBaseMaterialPorcelain, DrinkBase]
id: DrinkTeapot
name: teapot # short and stout
description: An elegant teapot. It simply oozes class.
# Bartender tools
- type: entity
- parent: [DrinkBase, DrinkBaseMaterialStrongMetal]
+ parent: [DrinkBaseMaterialStrongMetal, DrinkBase]
id: DrinkShaker
name: shaker
description: The trusty mixing buddy of the bartender.
solution: drink
- type: entity
- parent: [DrinkBase, DrinkBaseMaterialMetal]
+ parent: [DrinkBaseMaterialMetal, DrinkBase]
id: DrinkJigger
name: jigger
description: Like a shaker, but smaller. Used to control the amount of ingredients.
solution: drink
- type: entity
- parent: [DrinkBase, DrinkBaseMaterialStrongMetal, DrinkVisualsFill]
+ parent: [DrinkBaseMaterialStrongMetal, DrinkBase, DrinkVisualsFill]
id: Pitcher
name: metal pitcher
description: A stainless steel insulated pitcher. Everyone's best friend in the morning.
- type: entity
abstract: true
- parent: [DrinkBase, DrinkBaseMaterialGlass]
+ parent: [DrinkBaseMaterialGlass, DrinkBase]
id: DrinkShakeBase
description: ''
components: