consistent use of ExaminableSolution

This commit is contained in:
iaada
2025-07-29 14:02:02 -05:00
parent 2573d86303
commit 21aa6c664a
8 changed files with 47 additions and 52 deletions

View File

@@ -1,7 +1,7 @@
- type: entity
abstract: true
parent: [ DrinkBase, DrinkBaseMaterialCardboard, DrinkBaseOpenable, DrinkVisualsOpenable ]
id: DrinkCartonBaseLargeFull
id: DrinkCartonBaseLargeFull # todo rename DrinkCartonBaseFull to match bottles
suffix: Full
components:
- type: Openable
@@ -22,7 +22,7 @@
- type: entity
abstract: true
parent: DrinkCartonBaseLargeFull
id: DrinkCartonBaseFull
id: DrinkCartonBaseFull # todo rename DrinkCartonSmallBaseFull to match bottles
components:
- type: SolutionContainerManager
solutions:

View File

@@ -115,6 +115,8 @@
fillBaseName: fill-
inHandsMaxFillLevels: 3
inHandsFillBaseName: -fill-
- type: ExaminableSolution # If you can see the fill levels, you can see the unit count
solution: drink
# Layered visualizer for an entity with fill levels
- type: entity
@@ -168,6 +170,8 @@
fillBaseName: fill-
inHandsMaxFillLevels: 3
inHandsFillBaseName: -fill-
- type: ExaminableSolution # If you can see the fill levels, you can see the unit count
solution: drink
# Visualizer for an openable entity with fill levels, already filled
- type: entity

View File

@@ -29,8 +29,6 @@
- type: Tag
tags:
- DrinkBottle
- type: ExaminableSolution
solution: drink
- type: entity
abstract: true
@@ -84,7 +82,7 @@
- type: Sprite
sprite: Objects/Consumable/Drinks/alco-bottle.rsi
layers:
- state: icon_blue
- state: icon_blue # todo add "icon_empty" state
map: ["enum.OpenableVisuals.Layer"]
- state: fill-6
map: ["enum.SolutionContainerLayers.Fill"]
@@ -164,7 +162,7 @@
- type: Sprite
sprite: Objects/Consumable/Drinks/grenadinebottle.rsi
layers:
- state: icon
- state: icon_empty
map: ["enum.OpenableVisuals.Layer"]
- state: fill-6
map: ["enum.SolutionContainerLayers.Fill"]
@@ -239,7 +237,7 @@
- type: Sprite
sprite: Objects/Consumable/Drinks/alco-bottle.rsi
layers:
- state: icon_green
- state: icon_green # todo icon_empty
map: ["enum.OpenableVisuals.Layer"]
- state: fill-6
map: ["enum.SolutionContainerLayers.Fill"]
@@ -393,7 +391,7 @@
- type: entity
parent: [DrinkVisualsAllFilled, DrinkBottleGlassBaseFull]
id: DrinkBeerGrowler # Needs to be renamed DrinkBeerBottleFull
id: DrinkBeerGrowler # todo Needs to be renamed DrinkBeerBottleFullGrowler
name: beer growler # beer it is. coffee. beer? coff-ee? be-er? c-o... b-e
description: An alcoholic beverage made from malted grains, hops, yeast, and water. XL growler bottle.
components:

View File

@@ -17,7 +17,6 @@
drink:
maxVol: 100
- type: Sprite
state: icon
sprite: Objects/Consumable/Drinks/generic_jug.rsi # fallback to generic plastic jug
- type: TrashOnSolutionEmpty
solution: drink
@@ -37,7 +36,6 @@
drink:
maxVol: 30
- type: Sprite
state: icon
sprite: Objects/Consumable/Drinks/waterbottle.rsi # fallback
- type: FitsInDispenser
solution: drink

View File

@@ -22,7 +22,7 @@
# A mug is a type of cup.[2]
- type: entity
abstract: true
parent: [DrinkBaseCup, DrinkBaseMaterialPorcelain] # Should use DrinkVisualsFill, but sprites have no in-hand
parent: [DrinkBaseCup, DrinkBaseMaterialPorcelain] # todo Should use DrinkVisualsFill, but inheritors have no in-hand and state names are wrong
id: DrinkBaseMug
name: mug
description: A mug.
@@ -38,6 +38,8 @@
- type: SolutionContainerVisuals
maxFillLevels: 3
fillBaseName: icon-
- type: ExaminableSolution # If you can see the fill levels, you can see the unit count
solution: drink
## Misc Cups
@@ -58,9 +60,6 @@
name: teacup
description: A plain white porcelain teacup.
components:
- type: Icon
sprite: Objects/Consumable/Drinks/teacup.rsi
state: icon-vend-tea
- type: Sprite
sprite: Objects/Consumable/Drinks/teacup.rsi
layers:
@@ -68,12 +67,11 @@
- state: icon-4
map: ["enum.SolutionContainerLayers.Fill"]
visible: false
- type: Appearance
- type: SolutionContainerVisuals
maxFillLevels: 4
- type: entity
parent: [ DrinkBaseCup, DrinkBaseMaterialGlass ]
parent: [ DrinkBaseCup, DrinkBaseMaterialGlass, DrinkVisualsFillOverlay ]
id: DrinkGlassCoupeShaped
name: coupe glass
description: A classic thin neck coupe glass, the icon of fragile labels on crates around the galaxy.
@@ -81,24 +79,19 @@
- type: Sprite
sprite: Objects/Consumable/Drinks/glass_coupe_shape.rsi
layers:
- state: icon
- state: icon # todo add "icon_empty" state to match DrinkVisualsFillOverlay
map: [ "enum.SolutionContainerLayers.Base" ]
- state: fill1
map: [ "enum.SolutionContainerLayers.Fill" ]
visible: false
- state: icon-front
map: [ "enum.SolutionContainerLayers.Overlay" ]
- type: Appearance
- type: SolutionContainerVisuals
maxFillLevels: 5
fillBaseName: fill
fillBaseName: fill # todo rename to "fill-" to match DrinkVisualsFillOverlay
inHandsMaxFillLevels: 1
inHandsFillBaseName: -fill-
- type: ExaminableSolution
solution: drink
- type: entity
parent: [DrinkBaseCup, DrinkBaseMaterialCardboard]
parent: [DrinkBaseCup, DrinkBaseMaterialCardboard] # TODO should use DrinkVisualsFill but state names are wrong and no inhand
id: DrinkWaterCup
name: water cup
description: A paper water cup.
@@ -125,6 +118,8 @@
- DrinkCup
- WhitelistChameleon
- type: Appearance
- type: ExaminableSolution # If you can see the fill levels, you can see the unit count
solution: drink
- type: TrashOnSolutionEmpty
solution: drink
- type: Clothing
@@ -259,7 +254,6 @@
state: icon-4
- type: SolutionContainerVisuals
maxFillLevels: 4
fillBaseName: icon-
- type: TrashOnSolutionEmpty
solution: drink
@@ -287,7 +281,6 @@
state: icon-4
- type: SolutionContainerVisuals
maxFillLevels: 4
fillBaseName: icon-
- type: TrashOnSolutionEmpty
solution: drink
@@ -329,6 +322,9 @@
reagents:
- ReagentId: Tea
Quantity: 20
- type: Icon
sprite: Objects/Consumable/Drinks/teacup.rsi
state: icon-vend-tea
- type: TrashOnSolutionEmpty
solution: drink
@@ -364,7 +360,6 @@
Quantity: 20
- type: Sprite
sprite: Objects/Consumable/Drinks/lean.rsi
state: icon
- type: Item
sprite: Objects/Consumable/Drinks/lean.rsi
- type: TrashOnSolutionEmpty

View File

@@ -1,6 +1,6 @@
- type: entity
abstract: true
parent: [DrinkBase, DrinkBaseMaterialStrongMetal, DrinkBaseOpenable]
parent: [DrinkBase, DrinkBaseMaterialStrongMetal, DrinkBaseOpenable, DrinkVisualsOpenable]
id: FlaskBase
components:
- type: SolutionContainerManager
@@ -8,7 +8,6 @@
drink:
maxVol: 30
- type: Sprite
state: icon
sprite: Objects/Consumable/Drinks/flask.rsi
- type: FitsInDispenser
solution: drink
@@ -22,7 +21,22 @@
# Flasks
- type: entity
parent: [FlaskBase, DrinkVisualsOpenable]
parent: [DrinkBase, DrinkBaseMaterialStrongMetal]
id: DrinkFlaskOld
name: old flask
description: A decrepit old flask, its lid seems to be missing.
components:
- type: SolutionContainerManager
solutions:
drink:
maxVol: 30
- type: Sprite
sprite: Objects/Consumable/Drinks/flask_old.rsi
- type: FitsInDispenser
solution: drink
- type: entity
parent: FlaskBase
id: DrinkShinyFlask
name: shiny flask
description: A shiny metal flask. It appears to have a Greek symbol inscribed on it.
@@ -31,7 +45,7 @@
sprite: Objects/Consumable/Drinks/shinyflask.rsi
- type: entity
parent: [FlaskBase, DrinkVisualsOpenable]
parent: FlaskBase
id: DrinkMREFlask
suffix: Full
name: MRE flask
@@ -49,7 +63,7 @@
solution: drink
- type: entity
parent: [FlaskBase, DrinkVisualsOpenable]
parent: FlaskBase
id: DrinkDetFlask
name: inspector's flask
description: A metal flask with a leather band and golden badge belonging to the inspector.
@@ -58,7 +72,7 @@
sprite: Objects/Consumable/Drinks/detflask.rsi
- type: entity
parent: [FlaskBase, DrinkVisualsOpenable]
parent: FlaskBase
id: DrinkHosFlask
name: hos's flask
description: A metal flask, fit for a hard working HoS.
@@ -67,7 +81,7 @@
sprite: Objects/Consumable/Drinks/hosflask.rsi
- type: entity
parent: [FlaskBase, DrinkVisualsOpenable]
parent: FlaskBase
id: DrinkFlask
name: captain's flask
description: A metal flask belonging to the captain.
@@ -76,7 +90,7 @@
sprite: Objects/Consumable/Drinks/flask.rsi
- type: entity
parent: [FlaskBase, DrinkVisualsOpenable]
parent: FlaskBase
id: DrinkFlaskBar
name: bar flask
description: A metal flask often given out by the bartender on loan. Don't forget to return it!
@@ -86,18 +100,6 @@
- type: entity
parent: FlaskBase
id: DrinkFlaskOld
name: old flask
description: A decrepit old flask, its lid seems to be missing.
components:
- type: Sprite
sprite: Objects/Consumable/Drinks/flask_old.rsi
- type: Openable # annoying hack
opened: true
closeable: false
- type: entity
parent: [FlaskBase, DrinkVisualsOpenable]
id: DrinkLithiumFlask
name: lithium flask
description: A flask with a Lithium Atom symbol on it.
@@ -106,7 +108,7 @@
sprite: Objects/Consumable/Drinks/lithiumflask.rsi
- type: entity
parent: [FlaskBase, DrinkVisualsOpenable]
parent: FlaskBase
id: DrinkVacuumFlask
name: vacuum flask
description: Keeping your drinks at the perfect temperature since 1892.

View File

@@ -1,5 +1,5 @@
- type: entity
parent: [ DrinkBase, DrinkBaseMaterialPlastic, DrinkBaseOpenable, DrinkVisualsOpenable ] # Should use DrinkVisualAll, but sprite has no inhand
parent: [ DrinkBase, DrinkBaseMaterialPlastic, 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!

View File

@@ -24,8 +24,6 @@
maxFillLevels: 2
fillBaseName: fill # TODO rename to "fill-" to match "DrinkVisualsFillOverlay"
inHandsMaxFillLevels: 1
- type: ExaminableSolution
solution: drink
- type: FitsInDispenser
solution: drink
- type: Tag
@@ -159,7 +157,7 @@
- type: SolutionContainerManager
solutions:
drink:
maxVol: 20 # 20 might be too much
maxVol: 20 # might be too much
- type: Item
size: Tiny
- type: SolutionTransfer