diff --git a/Content.Shared/Chemistry/Components/SolutionTransferComponent.cs b/Content.Shared/Chemistry/Components/SolutionTransferComponent.cs
index b130304afc..86d8da9d3d 100644
--- a/Content.Shared/Chemistry/Components/SolutionTransferComponent.cs
+++ b/Content.Shared/Chemistry/Components/SolutionTransferComponent.cs
@@ -6,7 +6,7 @@ namespace Content.Shared.Chemistry.Components;
///
/// Gives click behavior for transferring to/from other reagent containers.
///
-[RegisterComponent, NetworkedComponent]
+[RegisterComponent, NetworkedComponent, AutoGenerateComponentState]
public sealed partial class SolutionTransferComponent : Component
{
///
@@ -14,6 +14,7 @@ public sealed partial class SolutionTransferComponent : Component
///
[DataField("transferAmount")]
[ViewVariables(VVAccess.ReadWrite)]
+ [AutoNetworkedField]
public FixedPoint2 TransferAmount { get; set; } = FixedPoint2.New(5);
///
diff --git a/Content.Shared/Chemistry/EntitySystems/SolutionTransferSystem.cs b/Content.Shared/Chemistry/EntitySystems/SolutionTransferSystem.cs
index 93e9765b16..3b75392508 100644
--- a/Content.Shared/Chemistry/EntitySystems/SolutionTransferSystem.cs
+++ b/Content.Shared/Chemistry/EntitySystems/SolutionTransferSystem.cs
@@ -38,11 +38,15 @@ public sealed class SolutionTransferSystem : EntitySystem
private void OnTransferAmountSetValueMessage(Entity ent, ref TransferAmountSetValueMessage message)
{
- var newTransferAmount = FixedPoint2.Clamp(message.Value, ent.Comp.MinimumTransferAmount, ent.Comp.MaximumTransferAmount);
- ent.Comp.TransferAmount = newTransferAmount;
+ var (uid, comp) = ent;
+
+ var newTransferAmount = FixedPoint2.Clamp(message.Value, comp.MinimumTransferAmount, comp.MaximumTransferAmount);
+ comp.TransferAmount = newTransferAmount;
if (message.Actor is { Valid: true } user)
- _popup.PopupClient(Loc.GetString("comp-solution-transfer-set-amount", ("amount", newTransferAmount)), ent, user);
+ _popup.PopupEntity(Loc.GetString("comp-solution-transfer-set-amount", ("amount", newTransferAmount)), uid, user);
+
+ Dirty(uid, comp);
}
private void AddSetTransferVerbs(Entity ent, ref GetVerbsEvent args)
@@ -78,7 +82,10 @@ public sealed class SolutionTransferSystem : EntitySystem
verb.Act = () =>
{
comp.TransferAmount = amount;
+
_popup.PopupClient(Loc.GetString("comp-solution-transfer-set-amount", ("amount", amount)), uid, user);
+
+ Dirty(uid, comp);
};
// we want to sort by size, not alphabetically by the verb text.