Implement Charcoal. #10042 (#11024)

* Add charcoal

Flush chemicals that are not the charcoal out of the chemical stream

* Add into EN localization to get chem dispenser to display correctly

* Remove method that wasn't needed

* Remove charcoal from dispenser

Charcoal is made by combing ash and carbon

* Place ash in elements prototype
This commit is contained in:
Will Robson
2022-09-11 00:20:44 +01:00
committed by GitHub
parent d79c879067
commit 7accbcbe9b
6 changed files with 94 additions and 0 deletions

View File

@@ -227,6 +227,22 @@ public sealed class BloodstreamSystem : EntitySystem
return _solutionContainerSystem.TryAddSolution(uid, component.ChemicalSolution, solution);
}
public bool FlushChemicals(EntityUid uid, string excludedReagentID, FixedPoint2 quantity, BloodstreamComponent? component = null) {
if (!Resolve(uid, ref component, false))
return false;
for (var i = component.ChemicalSolution.Contents.Count - 1; i >= 0; i--)
{
var (reagentId, _) = component.ChemicalSolution.Contents[i];
if (reagentId != excludedReagentID)
{
_solutionContainerSystem.TryRemoveReagent(uid, component.ChemicalSolution, reagentId, quantity);
}
}
return true;
}
public float GetBloodLevelPercentage(EntityUid uid, BloodstreamComponent? component = null)
{
if (!Resolve(uid, ref component))