* 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);
|
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)
|
public float GetBloodLevelPercentage(EntityUid uid, BloodstreamComponent? component = null)
|
||||||
{
|
{
|
||||||
if (!Resolve(uid, ref component))
|
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-name-aluminium = aluminium
|
||||||
reagent-desc-aluminium = A silver, soft, non-magnetic, and ductile metal.
|
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-name-carbon = carbon
|
||||||
reagent-desc-carbon = A black, crystalline solid.
|
reagent-desc-carbon = A black, crystalline solid.
|
||||||
|
|
||||||
|
reagent-name-charcoal = charcoal
|
||||||
|
reagent-desc-charcoal = A black, porous solid
|
||||||
|
|
||||||
reagent-name-chlorine = chlorine
|
reagent-name-chlorine = chlorine
|
||||||
reagent-desc-chlorine = A yellow-green gas which is toxic to humans.
|
reagent-desc-chlorine = A yellow-green gas which is toxic to humans.
|
||||||
|
|
||||||
|
|||||||
@@ -100,3 +100,16 @@
|
|||||||
- type: Tag
|
- type: Tag
|
||||||
tags:
|
tags:
|
||||||
- Trash
|
- 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"
|
color: "#E7EA91"
|
||||||
boilingPoint: 55.5
|
boilingPoint: 55.5
|
||||||
meltingPoint: -50.0
|
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
|
amount: 1
|
||||||
products:
|
products:
|
||||||
Pax: 3
|
Pax: 3
|
||||||
|
|
||||||
|
- type: reaction
|
||||||
|
id: Charcoal
|
||||||
|
reactants:
|
||||||
|
Carbon:
|
||||||
|
amount: 1
|
||||||
|
Ash:
|
||||||
|
amount: 1
|
||||||
|
products:
|
||||||
|
Charcoal: 1
|
||||||
Reference in New Issue
Block a user