adds the ability to "mix" solutions (reactions caused by using an item on a solution holder) (#13015)

* everything for mixing aside from yaml changes

* add recipe and canmix to bottles and the holy mixer tag to the bible

* fixes as a result of testing

* remove unused usings

* remove emptylines that are not required

Co-authored-by: 0x6273 <0x40@keemail.me>

* more empty line removal!

Co-authored-by: 0x6273 <0x40@keemail.me>

* add single space between if statement and condition

Co-authored-by: 0x6273 <0x40@keemail.me>

* fixes indentation on TryGetMixableSolution

* raise new AfterMixingEvent after attempting to mix a solution

* before mixing event and attempt get mixable solution event

* update reaction tests to be a beaker that can be mixed, and then pass a mixer component in to simulate mixing

* make two more beaker types mixable, add attribute for mixing feedback

* bible mix message

* mixing feedback on success

* updates test to use SpawnEntity over new as per feedback

Co-authored-by: 0x6273 <0x40@keemail.me>
This commit is contained in:
Timothy Teakettle
2022-12-20 04:05:02 +00:00
committed by GitHub
parent a497167e45
commit c046666578
14 changed files with 168 additions and 9 deletions

View File

@@ -9,6 +9,7 @@
solutions:
drink:
maxVol: 10
canMix: true
- type: FitsInDispenser
solution: drink
- type: DrawableSolution

View File

@@ -22,6 +22,10 @@
bibleUserOnly: true
- type: Summonable
specialItem: SpawnPointGhostRemilia
- type: ReactionMixer
mixMessage: "bible-mixing-success"
reactionTypes:
- Holy
- type: ItemCooldown
- type: Sprite
netsync: false

View File

@@ -21,6 +21,7 @@
solutions:
drink: # This solution name and target volume is hard-coded in ChemMasterComponent
maxVol: 30
canMix: true
- type: RefillableSolution
solution: drink
- type: DrainableSolution

View File

@@ -20,6 +20,7 @@
solutions:
beaker:
maxVol: 50
canMix: true
- type: FitsInDispenser
solution: beaker
- type: RefillableSolution
@@ -113,6 +114,7 @@
solutions:
beaker:
maxVol: 100
canMix: true
- type: Appearance
- type: SolutionContainerVisuals
maxFillLevels: 6
@@ -169,6 +171,7 @@
solutions:
beaker:
maxVol: 300
canMix: true
- type: entity
name: dropper

View File

@@ -7,3 +7,14 @@
amount: 0.5
products:
Protein: 0.5
- type: reaction
id: BloodToWine
impact: Low
requiredMixerCategories:
- Holy
reactants:
Blood:
amount: 1
products:
Wine: 1