Reagent container visualizer (#3529)

* Started working on beakers

* Working sprite change

* Fixed large beaker

* Add bluepsace beaker

* Add cryostasis beaker

* Removed old rsi

* Fixed dropper

* No dropper problems

* Working on syrigine

* Better syr visualizer

* Add dropper inhand

* Syringe in-hands

* Add base empty bottle for chemistry

* Deleted old fillings

* Simplified beaker in hand

* Moved chemical bottles to seperate .yml

* Fixed chem master

* Serv3 when

* Fixed grammar

* Removed delays

Co-authored-by: Alex Evgrashin <evgrashin.adl@gmail.com>
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
This commit is contained in:
Alex Evgrashin
2021-03-11 12:24:17 +03:00
committed by GitHub
parent bdb17d17e9
commit 4455bab4c5
75 changed files with 559 additions and 40 deletions

View File

@@ -0,0 +1,93 @@
- type: entity
name: bottle
parent: BaseItem
id: BaseChemistryEmptyBottle
abstract: true
description: A small bottle.
components:
- type: Sprite
sprite: Objects/Specific/Chemistry/bottle.rsi
netsync: false
state: bottle-1
- type: Drink
isOpen: true
- type: SolutionContainer
maxVol: 30
caps: OpenContainer
- type: SolutionTransfer
transferAmount: 5
- type: Item
sprite: Objects/Specific/Chemistry/beaker.rsi
- type: Spillable
- type: entity
name: bottle
parent: BaseChemistryEmptyBottle
id: ChemistryEmptyBottle01
components:
- type: Sprite
sprite: Objects/Specific/Chemistry/bottle.rsi
layers:
- state: bottle-1
- state: bottle-1-1
map: ["enum.SolutionContainerLayers.Fill"]
visible: false
- type: Appearance
visuals:
- type: SolutionContainerVisualizer
maxFillLevels: 6
fillBaseName: bottle-1-
- type: entity
name: bottle
parent: BaseChemistryEmptyBottle
id: ChemistryEmptyBottle02
components:
- type: Sprite
sprite: Objects/Specific/Chemistry/bottle.rsi
layers:
- state: bottle-2
- state: bottle-2-1
map: ["enum.SolutionContainerLayers.Fill"]
visible: false
- type: Appearance
visuals:
- type: SolutionContainerVisualizer
maxFillLevels: 6
fillBaseName: bottle-2-
- type: entity
name: bottle
parent: BaseChemistryEmptyBottle
id: ChemistryEmptyBottle03
components:
- type: Sprite
sprite: Objects/Specific/Chemistry/bottle.rsi
layers:
- state: bottle-3
- state: bottle-3-1
map: ["enum.SolutionContainerLayers.Fill"]
visible: false
- type: Appearance
visuals:
- type: SolutionContainerVisualizer
maxFillLevels: 6
fillBaseName: bottle-3-
- type: entity
name: bottle
parent: BaseChemistryEmptyBottle
id: ChemistryEmptyBottle04
components:
- type: Sprite
sprite: Objects/Specific/Chemistry/bottle.rsi
layers:
- state: bottle-4
- state: bottle-4-1
map: ["enum.SolutionContainerLayers.Fill"]
visible: false
- type: Appearance
visuals:
- type: SolutionContainerVisualizer
maxFillLevels: 6
fillBaseName: bottle-4-

View File

@@ -1,4 +1,3 @@
# TODO: Add description (1)
- type: entity
name: beaker
parent: BaseItem
@@ -9,11 +8,15 @@
tags:
- GlassBeaker
- type: Sprite
sprite: Objects/Specific/Chemistry/beakers.rsi
state: beaker
sprite: Objects/Specific/Chemistry/beaker.rsi
netsync: false
layers:
- state: beaker
- state: beaker1
map: ["enum.SolutionContainerLayers.Fill"]
visible: false
- type: Item
sprite: Objects/Specific/Chemistry/beakers.rsi
HeldPrefix: beaker
sprite: Objects/Specific/Chemistry/beaker.rsi
- type: SolutionContainer
maxVol: 50
caps: OpenContainer, FitsInDispenser # can add and remove solutions and fits in the chemmaster.
@@ -22,6 +25,11 @@
- type: Spillable
- type: Drink
isOpen: true
- type: Appearance
visuals:
- type: SolutionContainerVisualizer
maxFillLevels: 6
fillBaseName: beaker
- type: entity
name: large beaker
@@ -30,17 +38,46 @@
id: LargeBeaker
components:
- type: Sprite
state: beakerlarge
- type: Item
HeldPrefix: beaker
sprite: Objects/Specific/Chemistry/beaker_large.rsi
layers:
- state: beakerlarge
- state: beakerlarge1
map: ["enum.SolutionContainerLayers.Fill"]
visible: false
- type: SolutionContainer
maxVol: 100
caps: OpenContainer, FitsInDispenser
- type: SolutionTransfer
transferAmount: 5.0
- type: Spillable
- type: Drink
isOpen: true
- type: Appearance
visuals:
- type: SolutionContainerVisualizer
maxFillLevels: 6
fillBaseName: beakerlarge
- type: entity
name: cryostasis beaker
parent: Beaker
description: Used to contain chemicals or solutions without reactions.
id: CryostasisBeaker
components:
- type: Sprite
sprite: Objects/Specific/Chemistry/beaker_cryostasis.rsi
layers:
- state: beakernoreact
- type: SolutionContainer
maxVol: 60
canReact: false
- type: entity
name: bluespace beaker
parent: Beaker
description: Powered by experimental bluespace technology.
id: BluespaceBeaker
components:
- type: Sprite
sprite: Objects/Specific/Chemistry/beaker_bluespace.rsi
layers:
- state: beakerbluespace
- type: SolutionContainer
maxVol: 300
- type: entity
name: dropper
@@ -50,12 +87,25 @@
components:
- type: Sprite
sprite: Objects/Specific/Chemistry/dropper.rsi
state: dropper
netsync: false
layers:
- state: dropper
- state: dropper1
map: ["enum.SolutionContainerLayers.Fill"]
visible: false
- type: SolutionContainer
caps: OpenContainer
maxVol: 5
- type: SolutionTransfer
transferAmount: 5.0
- type: Spillable
- type: Item
sprite: Objects/Specific/Chemistry/dropper.rsi
- type: Appearance
visuals:
- type: SolutionContainerVisualizer
maxFillLevels: 1
fillBaseName: dropper
- type: entity
name: syringe
@@ -65,27 +115,33 @@
components:
- type: Sprite
sprite: Objects/Specific/Chemistry/syringe.rsi
state: 0
netsync: false
layers:
- state: syringe1
map: ["enum.SolutionContainerLayers.Fill"]
visible: false
- state: syringe_base0
map: ["enum.SolutionContainerLayers.Base"]
- type: SolutionContainer
maxVol: 15
- type: Injector
injectOnly: false
- type: Spillable
- type: entity
name: bottle
parent: BaseItem
id: bottle
components:
- type: Sprite
sprite: Objects/Specific/Chemistry/bottle.rsi
state: bottle
- type: Drink
- type: SolutionContainer
maxVol: 30
- type: SolutionTransfer
transferAmount: 5
- type: Spillable
- type: Item
sprite: Objects/Specific/Chemistry/syringe.rsi
- type: Appearance
visuals:
# this visualizer used for reagent inside
- type: SolutionContainerVisualizer
maxFillLevels: 4
fillBaseName: syringe
# this one for syrigine itself (plunger)
- type: SolutionContainerVisualizer
maxFillLevels: 4
fillBaseName: syringe_base
emptySpriteName: syringe_base0
layer: Base
changeColor: false
- type: entity
name: pill