* 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,9 +1,15 @@
|
||||
reagent-name-aluminium = aluminium
|
||||
reagent-desc-aluminium = A silver, soft, non-magnetic, and ductile metal.
|
||||
|
||||
reagent-name-ash = ash
|
||||
reagent-desc-ash = A light grey powdery residue
|
||||
|
||||
reagent-name-carbon = carbon
|
||||
reagent-desc-carbon = A black, crystalline solid.
|
||||
|
||||
reagent-name-charcoal = charcoal
|
||||
reagent-desc-charcoal = A black, porous solid
|
||||
|
||||
reagent-name-chlorine = chlorine
|
||||
reagent-desc-chlorine = A yellow-green gas which is toxic to humans.
|
||||
|
||||
|
||||
@@ -100,3 +100,16 @@
|
||||
- type: Tag
|
||||
tags:
|
||||
- Trash
|
||||
- type: SolutionContainerManager
|
||||
solutions:
|
||||
food:
|
||||
maxVol: 50
|
||||
reagents:
|
||||
- ReagentId: Ash
|
||||
Quantity: 10
|
||||
- type: SolutionSpiker
|
||||
sourceSolution: food
|
||||
ignoreEmpty: true
|
||||
- type: DeleteOnTrigger
|
||||
- type: Extractable
|
||||
grindableSolutionName: food
|
||||
|
||||
@@ -17,3 +17,28 @@
|
||||
color: "#E7EA91"
|
||||
boilingPoint: 55.5
|
||||
meltingPoint: -50.0
|
||||
|
||||
- type: reagent
|
||||
id: Charcoal
|
||||
name: reagent-name-charcoal
|
||||
desc: reagent-desc-charcoal
|
||||
physicalDesc: reagent-physical-desc-porous
|
||||
color: "#22282b"
|
||||
boilingPoint: 4200.0
|
||||
meltingPoint: 3550.0
|
||||
metabolisms:
|
||||
Medicine:
|
||||
effects:
|
||||
- !type:HealthChange
|
||||
damage:
|
||||
types:
|
||||
Poison: -1
|
||||
- !type:ChemCleanBoodstream
|
||||
cleanseRate: 3
|
||||
|
||||
- type: reagent
|
||||
id: Ash
|
||||
name: reagent-name-ash
|
||||
desc: reagent-desc-ash
|
||||
physicalDesc: reagent-physical-desc-powder
|
||||
color: white
|
||||
@@ -339,3 +339,13 @@
|
||||
amount: 1
|
||||
products:
|
||||
Pax: 3
|
||||
|
||||
- type: reaction
|
||||
id: Charcoal
|
||||
reactants:
|
||||
Carbon:
|
||||
amount: 1
|
||||
Ash:
|
||||
amount: 1
|
||||
products:
|
||||
Charcoal: 1
|
||||
Reference in New Issue
Block a user