diff --git a/Content.Client/PDA/PdaMenu.xaml b/Content.Client/PDA/PdaMenu.xaml
index cc4a384343a..8f9a297afc2 100644
--- a/Content.Client/PDA/PdaMenu.xaml
+++ b/Content.Client/PDA/PdaMenu.xaml
@@ -47,6 +47,9 @@
+
+
+
+ {
+ _clipboard.SetText(_balance);
+ };
+
StationTimeButton.OnPressed += _ =>
{
var stationTime = _gameTiming.CurTime.Subtract(_gameTicker.RoundStartTimeSpan);
@@ -126,9 +132,6 @@ public PdaMenu()
_clipboard.SetText(_instructions);
};
-
-
-
HideAllViews();
ToHomeScreen();
}
@@ -161,7 +164,9 @@ public void UpdateState(PdaUpdateState state)
_stationName = state.StationName ?? Loc.GetString("comp-pda-ui-unknown");
StationNameLabel.SetMarkup(Loc.GetString("comp-pda-ui-station",
("station", _stationName)));
-
+
+ _balance = Loc.GetString("comp-pda-ui-balance", ("balance", state.Balance));
+ BalanceLabel.SetMarkup(_balance);
var stationTime = _gameTiming.CurTime.Subtract(_gameTicker.RoundStartTimeSpan);
diff --git a/Content.Server/PDA/PdaSystem.cs b/Content.Server/PDA/PdaSystem.cs
index b91f2522b20..047d671c9a2 100644
--- a/Content.Server/PDA/PdaSystem.cs
+++ b/Content.Server/PDA/PdaSystem.cs
@@ -2,6 +2,7 @@
using Content.Server.CartridgeLoader;
using Content.Server.Chat.Managers;
using Content.Server.DeviceNetwork.Components;
+using Content.Shared.Bank.Components;
using Content.Server.Instruments;
using Content.Server.Light.EntitySystems;
using Content.Server.PDA.Ringer;
@@ -142,7 +143,7 @@ private void OnNotification(Entity ent, ref CartridgeLoaderNotific
///
/// Send new UI state to clients, call if you modify something like uplink.
///
- public void UpdatePdaUi(EntityUid uid, PdaComponent? pda = null)
+ public void UpdatePdaUi(EntityUid uid, PdaComponent? pda = null, EntityUid? actor_uid = null)
{
if (!Resolve(uid, ref pda, false))
return;
@@ -165,6 +166,10 @@ public void UpdatePdaUi(EntityUid uid, PdaComponent? pda = null)
var programs = _cartridgeLoader.GetAvailablePrograms(uid, loader);
var id = CompOrNull(pda.ContainedId);
+ var balance = 0;
+ if (actor_uid != null && TryComp(actor_uid, out var account))
+ balance = account.Balance;
+
var state = new PdaUpdateState(
programs,
GetNetEntity(loader.ActiveProgram),
@@ -180,6 +185,7 @@ public void UpdatePdaUi(EntityUid uid, PdaComponent? pda = null)
StationAlertLevel = pda.StationAlertLevel,
StationAlertColor = pda.StationAlertColor
},
+ balance,
pda.StationName,
showUplink,
hasInstrument,
@@ -193,7 +199,7 @@ private void OnPdaOpen(Entity ent, ref BoundUIOpenedEvent args)
if (!PdaUiKey.Key.Equals(args.UiKey))
return;
- UpdatePdaUi(ent.Owner, ent.Comp);
+ UpdatePdaUi(ent.Owner, ent.Comp, args.Actor);
}
private void OnUiMessage(EntityUid uid, PdaComponent pda, PdaRequestUpdateInterfaceMessage msg)
diff --git a/Content.Shared/PDA/PdaUpdateState.cs b/Content.Shared/PDA/PdaUpdateState.cs
index 4b0c8ccba5b..840f8c5ac1c 100644
--- a/Content.Shared/PDA/PdaUpdateState.cs
+++ b/Content.Shared/PDA/PdaUpdateState.cs
@@ -17,6 +17,7 @@ public sealed class PdaUpdateState : CartridgeLoaderUiState // WTF is this. what
public bool HasUplink;
public bool CanPlayMusic;
public string? Address;
+ public int Balance;
public PdaUpdateState(
List programs,
@@ -26,6 +27,7 @@ public PdaUpdateState(
bool hasPai,
bool hasBook,
PdaIdInfoText pdaOwnerInfo,
+ int balance,
string? stationName,
bool hasUplink = false,
bool canPlayMusic = false,
@@ -41,6 +43,7 @@ public PdaUpdateState(
CanPlayMusic = canPlayMusic;
StationName = stationName;
Address = address;
+ Balance = balance;
}
}
diff --git a/Content.Shared/Species/Systems/ReformSystem.cs b/Content.Shared/Species/Systems/ReformSystem.cs
index b7f32b41bd1..d5c735ab2a8 100644
--- a/Content.Shared/Species/Systems/ReformSystem.cs
+++ b/Content.Shared/Species/Systems/ReformSystem.cs
@@ -120,7 +120,7 @@ private void OnZombified(EntityUid uid, ReformComponent comp, ref EntityZombifie
}
public sealed partial class ReformEvent : InstantActionEvent { }
-
+
[Serializable, NetSerializable]
public sealed partial class ReformDoAfterEvent : SimpleDoAfterEvent { }
diff --git a/Resources/Locale/en-US/pda/pda-component.ftl b/Resources/Locale/en-US/pda/pda-component.ftl
index 7f17102c5f0..b38ac9bb218 100644
--- a/Resources/Locale/en-US/pda/pda-component.ftl
+++ b/Resources/Locale/en-US/pda/pda-component.ftl
@@ -54,3 +54,5 @@ comp-pda-ui-unassigned = Unassigned
pda-notification-message = [font size=12][bold]PDA[/bold] { $header }: [/font]
"{ $message }"
+
+comp-pda-ui-balance = Balance: [color=white]{ $balance }[/color]
diff --git a/Resources/Locale/ru-RU/pda/pda-component.ftl b/Resources/Locale/ru-RU/pda/pda-component.ftl
index a0549ca97d7..43656ee32a1 100644
--- a/Resources/Locale/ru-RU/pda/pda-component.ftl
+++ b/Resources/Locale/ru-RU/pda/pda-component.ftl
@@ -29,3 +29,4 @@ comp-pda-ui-unknown = Неизвестно
comp-pda-ui-unassigned = Не назначено
pda-notification-message = [font size=12][bold]КПК[/bold] { $header }: [/font]
"{ $message }"
+comp-pda-ui-balance = Баланс: [color=white]{ $balance }[/color]