]> git.pond.sub.org Git - empserver/commitdiff
work: Don't let embarked engineers work
authorMarkus Armbruster <armbru@pond.sub.org>
Fri, 15 Jan 2021 07:16:13 +0000 (08:16 +0100)
committerMarkus Armbruster <armbru@pond.sub.org>
Sun, 17 Jan 2021 20:24:29 +0000 (21:24 +0100)
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 <armbru@pond.sub.org>
src/lib/commands/work.c

index 85a2dfe12bed2304dc3c01964cf05ece9e93947c..545618e6b4bf446ee288087f182854edd7215803 100644 (file)
@@ -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;