Reagents & Solutions (#280)

* Added the ReagentPrototype class.

* Added the new Solution class.

* Added new shared SolutionComponent to the ECS system.

* Added some basic element and chemical reagent prototypes.

* Added a new Beaker item utilizing the SolutionComponent. This is a testing/debug entity, and should be removed or changed soon.

* Added filters for code coverage.

* Nightly work.

* Added the server SolutionComponent class.

* Added a bucket.
Verbs set up for solution interaction.

* Adds water tank entity to the game.

* Added a full water tank entity.
Solutions are properly serialized.
Solution can be poured between two containers.

* Solution class can now be enumerated.
SolutionComponent now calculates the color of the solution.

* Minor Cleanup.
This commit is contained in:
Acruid
2019-07-31 05:10:06 -07:00
committed by Pieter-Jan Briers
parent 41b72d5aa2
commit 2ea8bbf4eb
22 changed files with 1055 additions and 2 deletions

View File

@@ -0,0 +1,8 @@
- type: entity
parent: BaseItem
id: ReagentItem
name: "Reagent Item"
abstract: true
components:
- type: Solution
maxVol: 5

View File

@@ -0,0 +1,46 @@
- type: entity
parent: ReagentItem
name: "Extra-Grip™ Mop"
id: MopItem
description: A mop that cant be stopped, viscera cleanup detail awaits.
components:
- type: Sprite
texture: Objects/mop.png
- type: Icon
texture: Objects/mop.png
- type: Item
Size: 10
- type: Solution
maxVol: 10
caps: 1
- type: entity
parent: ReagentItem
name: Mop Bucket
id: MopBucket
description: Holds water and the tears of the janitor.
components:
- type: Sprite
texture: Objects/mopbucket.png
- type: Icon
texture: Objects/mopbucket.png
- type: Clickable
- type: BoundingBox
- type: Solution
maxVol: 500
caps: 3
- type: entity
parent: ReagentItem
name: Bucket
id: Bucket
description: "It's a bucket."
components:
- type: Sprite
texture: Objects/bucket.png
- type: Icon
texture: Objects/bucket.png
- type: Solution
maxVol: 500
caps: 3

View File

@@ -0,0 +1,46 @@
- type: entity
parent: ReagentItem
id: watertank
name: Water Tank
description: "A water tank. It is used to store high amounts of water."
components:
- type: Sprite
texture: Buildings/watertank.png
- type: Icon
texture: Buildings/watertank.png
- type: Clickable
- type: BoundingBox
aabb: "-0.5,-0.25,0.5,0.25"
- type: Collidable
mask: 3
layer: 1
IsScrapingFloor: true
- type: Physics
mass: 15
Anchored: false
- type: Damageable
- type: Destructible
thresholdvalue: 10
- type: Solution
maxVol: 1500
caps: 3
placement:
snap:
- Wall
- type: entity
parent: watertank
id: watertank_full
components:
- type: Solution
contents:
reagents:
- ReagentId: chem.H2O
Quantity: 1500