]> git.pond.sub.org Git - empserver/commitdiff
Don't let non-light units board ships that can't carry them
authorMarkus Armbruster <armbru@pond.sub.org>
Tue, 17 Jun 2008 18:16:27 +0000 (20:16 +0200)
committerMarkus Armbruster <armbru@pond.sub.org>
Tue, 17 Jun 2008 18:17:15 +0000 (20:17 +0200)
ask_olist() let non-light land units board ships that can carry only
light units.  If the board succeeds, the non-light unit move onto the
ship and then are stuck there.

src/lib/subs/attsub.c

index 4a04fe3fd2d89b6f5cd10bce37dc24458159fe72..b874682b3234550036cea8573351f714c467d04a 100644 (file)
@@ -1007,6 +1007,12 @@ ask_olist(int combat_mode, struct combat *off, struct combat *def,
            pr("Land units are not able to board this kind of ship\n");
            return;
        }
+       if (def->type == EF_SHIP
+           && (def->shp_mcp->m_flags & (M_SUPPLY | M_SUB)) != M_SUPPLY
+           && !(lcp->l_flags & L_LIGHT)) {
+           pr("Only light land units can board this kind of ship\n");
+           continue;
+       }
        if (land.lnd_mobil <= 0) {
            pr("%s is out of mobility, and cannot %s\n",
               prland(&land), att_mode[combat_mode]);