]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
fix UpdateBankAccount (#35749)
authorMilon <milonpl.git@proton.me>
Sun, 9 Mar 2025 20:50:24 +0000 (21:50 +0100)
committerGitHub <noreply@github.com>
Sun, 9 Mar 2025 20:50:24 +0000 (21:50 +0100)
* trolled

* fun

* fuck me

Content.Server/Cargo/Systems/CargoSystem.Orders.cs
Content.Server/Cargo/Systems/CargoSystem.cs
Content.Server/Delivery/DeliverySystem.cs
Content.Shared/Cargo/Components/BankClientComponent.cs

index 1552f136788679a17dbc5d8472dd611361bf54c3..9b6407c6898ef7d5fa442a8403a2bb9daff324d8 100644 (file)
@@ -62,7 +62,7 @@ namespace Content.Server.Cargo.Systems
                 return;
 
             _audio.PlayPvs(component.ConfirmSound, uid);
-            UpdateBankAccount(stationUid.Value, bank, (int) price);
+            UpdateBankAccount((stationUid.Value, bank), (int) price);
             QueueDel(args.Used);
             args.Handled = true;
         }
@@ -103,7 +103,7 @@ namespace Content.Server.Cargo.Systems
                 while (stationQuery.MoveNext(out var uid, out var bank))
                 {
                     var balanceToAdd = bank.IncreasePerSecond * Delay;
-                    UpdateBankAccount(uid, bank, balanceToAdd);
+                    UpdateBankAccount((uid, bank), balanceToAdd);
                 }
 
                 var query = EntityQueryEnumerator<CargoOrderConsoleComponent>();
@@ -229,7 +229,7 @@ namespace Content.Server.Cargo.Systems
                 $"{ToPrettyString(player):user} approved order [orderId:{order.OrderId}, quantity:{order.OrderQuantity}, product:{order.ProductId}, requester:{order.Requester}, reason:{order.Reason}] with balance at {bank.Balance}");
 
             orderDatabase.Orders.Remove(order);
-            UpdateBankAccount(station.Value, bank, -cost);
+            UpdateBankAccount((station.Value, bank), -cost);
             UpdateOrders(station.Value);
         }
 
index b93a0f3315234eee7a2cf79a37cb797091a49959..1b776b8bd097a0de378e7c5df9ad0b5943aa8bb3 100644 (file)
@@ -76,19 +76,23 @@ public sealed partial class CargoSystem : SharedCargoSystem
     }
 
     [PublicAPI]
-    public void UpdateBankAccount(EntityUid uid, StationBankAccountComponent component, int balanceAdded)
+    public void UpdateBankAccount(Entity<StationBankAccountComponent?> ent, int balanceAdded)
     {
-        component.Balance += balanceAdded;
-        var query = EntityQueryEnumerator<BankClientComponent, TransformComponent>();
+        if (!Resolve(ent, ref ent.Comp))
+            return;
+
+        ent.Comp.Balance += balanceAdded;
 
-        var ev = new BankBalanceUpdatedEvent(uid, component.Balance);
+        var ev = new BankBalanceUpdatedEvent(ent, ent.Comp.Balance);
+
+        var query = EntityQueryEnumerator<BankClientComponent, TransformComponent>();
         while (query.MoveNext(out var client, out var comp, out var xform))
         {
             var station = _station.GetOwningStation(client, xform);
-            if (station != uid)
+            if (station != ent)
                 continue;
 
-            comp.Balance = component.Balance;
+            comp.Balance = ent.Comp.Balance;
             Dirty(client, comp);
             RaiseLocalEvent(client, ref ev);
         }
index 2923c6b86e6e238b56ed7d1bc7b92d847dd87043..8ac87228214a231ca62ffae11a0c52fb9a8fea57 100644 (file)
@@ -73,7 +73,7 @@ public sealed partial class DeliverySystem : SharedDeliverySystem
         if (!TryComp<StationBankAccountComponent>(ent.Comp.RecipientStation, out var account))
             return;
 
-        _cargo.UpdateBankAccount(ent, account, ent.Comp.SpesoReward);
+        _cargo.UpdateBankAccount((ent.Comp.RecipientStation.Value, account), ent.Comp.SpesoReward);
     }
 
     public override void Update(float frameTime)
index 4fd70855034f5e4afcabdd93cb10e5fe0528a5a7..a2bf804570491254b46acfbf5fa3d9cfc0e79495 100644 (file)
@@ -1,4 +1,3 @@
-using Content.Shared.Cargo;
 using Robust.Shared.GameStates;
 
 namespace Content.Shared.Cargo.Components;
@@ -23,4 +22,4 @@ public sealed partial class BankClientComponent : Component
 /// Raised on an entity with <see cref="BankClientComponent"/> when the bank's balance is updated.
 /// </summary>
 [ByRefEvent]
-public record struct BankBalanceUpdatedEvent(EntityUid Station, int Balance);
+public readonly record struct BankBalanceUpdatedEvent(EntityUid Station, int Balance);