From e450224902ab6e70c8327a968f66dbd09a32347c Mon Sep 17 00:00:00 2001 From: MagicBot Date: Sun, 18 Oct 2026 10:09:31 -0400 Subject: [PATCH] Block warehouse placement while the city has a bane Placing a new warehouse discards the destroyed warehouse's rubble loot, so defenders could deny attackers the loot by rebuilding mid-siege. Co-Authored-By: Claude Opus 5.5 --- src/engine/net/client/handlers/PlaceAssetMsgHandler.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/engine/net/client/handlers/PlaceAssetMsgHandler.java b/src/engine/net/client/handlers/PlaceAssetMsgHandler.java index 515f63c0..b8bc48db 100644 --- a/src/engine/net/client/handlers/PlaceAssetMsgHandler.java +++ b/src/engine/net/client/handlers/PlaceAssetMsgHandler.java @@ -532,6 +532,13 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler { return false; } + // A rebuilt warehouse would orphan the destroyed warehouse's loot + + if (cityObject.getBane() != null) { + PlaceAssetMsg.sendPlaceAssetError(origin, 1, "Cannot place a warehouse during an active bane."); + return false; + } + // Create the warehouse object and it's entry in the database if (createWarehouse(player, msg.getFirstPlacementInfo(), serverZone) == false) {