From 87d08f0151e643951769e323995f1c5ed89ee200 Mon Sep 17 00:00:00 2001 From: historia <[not public]> Date: Fri, 18 Sep 2026 01:50:17 -0400 Subject: fix: harden economy recovery, shutdown concurrency, world validation, and inventory-loss paths --- internal/game/act_combine.go | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'internal/game/act_combine.go') diff --git a/internal/game/act_combine.go b/internal/game/act_combine.go index b16cf7a..014dbef 100644 --- a/internal/game/act_combine.go +++ b/internal/game/act_combine.go @@ -134,6 +134,10 @@ func (g *Game) advanceCombine(sess *net.Session, p *player.Player) { for _, bp := range byproducts { if slot := p.FirstFreeSlot(); slot >= 0 { p.SetInvSlot(slot, &player.InventorySlot{ItemID: bp, Quantity: 1}) + } else { + // Never silently delete a byproduct: drop the remainder on + // the ground where the player can pick it up. + g.World.AddGroundItem(p.RoomID, bp, 1) } } -- cgit v1.2.3