Solution normalizer (#227)

* dropper

* add stabilizer

* fuck, now

* Update CP14SolutionNormalizerComponent.cs
This commit is contained in:
Ed
2024-06-08 18:46:09 +03:00
committed by GitHub
parent d998e6bf9a
commit 2cfdc4a52f
20 changed files with 288 additions and 3 deletions

View File

@@ -264,6 +264,7 @@
name: dropper
parent: BaseItem
description: Used to transfer small amounts of chemical solution between containers.
noSpawn: true
id: Dropper
components:
- type: Sprite
@@ -307,6 +308,7 @@
name: borgdropper
parent: Dropper
description: Used to transfer small amounts of chemical solution between containers. Extended for use by medical borgs.
noSpawn: true
id: BorgDropper
components:
- type: Sprite

View File

@@ -46,7 +46,7 @@
ignoreMobs: true
minTransferAmount: 10
maxTransferAmount: 100
transferAmount: 50
transferAmount: 15
toggleState: 1 # draw
- type: UserInterface
interfaces:
@@ -153,4 +153,54 @@
- 0,0,1,1
- type: CP14Mortar
solution: mortar
containerId: storagebase
containerId: storagebase
- type: entity
parent: BaseItem
id: CP14Dropper
name: dropper
description: Small dropper for managing very small values of liquids
components:
- type: MixableSolution
solution: vial
- type: FitsInDispenser
solution: vial
- type: RefillableSolution
solution: vial
- type: DrainableSolution
solution: vial
- type: ExaminableSolution
solution: vial
- type: DrawableSolution
solution: vial
- type: InjectableSolution
solution: vial
- type: SolutionItemStatus
solution: vial
- type: SolutionContainerManager
solutions:
vial:
maxVol: 2
- type: UserInterface
interfaces:
enum.TransferAmountUiKey.Key:
type: TransferAmountBoundUserInterface
- type: Appearance
- type: Injector
solutionName: vial
injectOnly: false
ignoreMobs: true
minTransferAmount: 0.25
maxTransferAmount: 1
transferAmount: 0.25
toggleState: 1 # draw
- type: Sprite
sprite: _CP14/Objects/Specific/Alchemy/dropper.rsi
layers:
- state: dropper
- state: liq-1
map: ["enum.SolutionContainerLayers.Fill"]
visible: false
- type: SolutionContainerVisuals
maxFillLevels: 2
fillBaseName: liq-

View File

@@ -3,6 +3,7 @@
parent: BaseStructure
abstract: true
components:
- type: InteractionOutline
- type: Fixtures
fixtures:
fix1:

View File

@@ -0,0 +1,54 @@
- type: entity
id: CP14AlchemyNormalizer
parent: BaseStructureDynamic
name: solution stabilizer
description: An alchemical device that removes fine precipitates from solutions, and stabilizes it for further work
placement:
mode: PlaceFree
components:
# TODO: energy consuming (magic or fireplace)
- type: InteractionOutline
- type: Sprite
drawdepth: Items
noRot: true
offset: 0, 0.2
sprite: _CP14/Structures/Specific/Alchemy/normalizer.rsi
layers:
- state: rotate_back
- state: liq-1
map: ["enum.SolutionContainerLayers.Fill"]
visible: false
- state: base
- state: rotate_front
state: base
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.25,-0.25,0.25,0.25"
density: 125
mask:
- TabletopMachineMask
- type: SolutionContainerManager
solutions:
normalizer:
maxVol: 50
- type: DrainableSolution
solution: normalizer
- type: ExaminableSolution
solution: normalizer
- type: MixableSolution
solution: normalizer
- type: RefillableSolution
solution: normalizer
- type: DrawableSolution
solution: normalizer
- type: DumpableSolution
solution: normalizer
- type: CP14SolutionNormalizer
solution: normalizer
- type: Appearance
- type: SolutionContainerVisuals
maxFillLevels: 5
fillBaseName: liq-