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 5f3c64c062
commit e23e4cd738

View file

@ -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 <config.h>
@ -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;