* 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:
@@ -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))
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
using Content.Shared.Chemistry.Reagent;
|
||||
using JetBrains.Annotations;
|
||||
using Content.Server.Body.Systems;
|
||||
|
||||
namespace Content.Server.Chemistry.ReactionEffects
|
||||
{
|
||||
/// <summary>
|
||||
/// Basically smoke and foam reactions.
|
||||
/// </summary>
|
||||
[UsedImplicitly]
|
||||
public sealed class ChemCleanBoodstream : ReagentEffect
|
||||
{
|
||||
[DataField("cleanseRate")]
|
||||
public float CleanseRate = 3.0f;
|
||||
public override void Effect(ReagentEffectArgs args)
|
||||
{
|
||||
if (args.Source == null)
|
||||
return;
|
||||
|
||||
var bloodstreamSys = EntitySystem.Get<BloodstreamSystem>();
|
||||
bloodstreamSys.FlushChemicals(args.SolutionEntity, args.Reagent.ID, CleanseRate);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user