From e23e4cd73890ff764b68e4062cc589b7a6a1e2d5 Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Fri, 15 Jan 2021 08:16:13 +0100 Subject: [PATCH] work: Don't let embarked engineers work Engineers can work even when loaded on a ship or land unit. They happily raise sea sector efficiency. That's just wrong. It's questionable even on land, because unloading need not be possible. Has been that way since the command was added in Empire 2. Add the missing check. Signed-off-by: Markus Armbruster --- src/lib/commands/work.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/lib/commands/work.c b/src/lib/commands/work.c index 85a2dfe12..77ff250a9 100644 --- a/src/lib/commands/work.c +++ b/src/lib/commands/work.c @@ -27,7 +27,7 @@ * work.c: Implementation of the work command * * Known contributors to this file: - * Markus Armbruster, 2009-2016 + * Markus Armbruster, 2009-2021 */ #include @@ -67,6 +67,11 @@ work(void) continue; if (!(lchr[(int)land.lnd_type].l_flags & L_ENGINEER)) continue; + if (land.lnd_ship >= 0 || land.lnd_land >= 0) { + pr("%s is on a %s\n", + prland(&land), land.lnd_ship >= 0 ? "ship" : "land unit"); + continue; + } if (land.lnd_mobil <= 0) { pr("%s has no mobility!\n", prland(&land)); continue; -- 2.43.0