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 <armbru@pond.sub.org>
This commit is contained in:
Markus Armbruster 2021-01-15 08:16:13 +01:00
parent 589bc1ed1a
commit 37af1d7eb9

View 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;