-using Content.Server.Animals.Systems;
using Content.Server.Chemistry.EntitySystems;
using Content.Shared.Chemistry.Reagent;
+using Robust.Shared.Prototypes;
namespace Content.Server.Chemistry.Components;
/// It will revert to this when emptied.
/// /// It defaults to the description of the parent entity unless overwritten.
/// </summary>
- [DataField("initialDescription")]
+ [DataField]
public string? InitialDescription;
+
/// <summary>
/// This stores whatever primary reagent is currently in the container.
/// It is used to help determine if a transformation is needed on solution update.
/// </summary>
- [DataField("currentReagent")]
- public ReagentPrototype? CurrentReagent;
+ [DataField]
+ public ProtoId<ReagentPrototype>? CurrentReagent;
/// <summary>
/// This returns whether this container in a transformed or initial state.
/// </summary>
- ///
- [DataField("transformed")]
+ [DataField]
public bool Transformed;
}
//the biggest reagent in the solution decides the appearance
var reagentId = solution.GetPrimaryReagentId();
- //If biggest reagent didn't changed - don't change anything at all
- if (entity.Comp.CurrentReagent != null && entity.Comp.CurrentReagent.ID == reagentId?.Prototype)
+ //If biggest reagent didn't change - don't change anything at all
+ if (entity.Comp.CurrentReagent != null && entity.Comp.CurrentReagent == reagentId?.Prototype)
{
return;
}
private void OnRefreshNameModifiers(Entity<TransformableContainerComponent> entity, ref RefreshNameModifiersEvent args)
{
- if (entity.Comp.CurrentReagent is { } currentReagent)
+ if (_prototypeManager.TryIndex(entity.Comp.CurrentReagent, out var currentReagent))
{
args.AddModifier("transformable-container-component-glass", priority: -1, ("reagent", currentReagent.LocalizedName));
}