]> git.pond.sub.org Git - empserver/commitdiff
load lload unload lunload: Tweak suppression of error messages
authorMarkus Armbruster <armbru@pond.sub.org>
Tue, 1 May 2018 08:59:33 +0000 (10:59 +0200)
committerMarkus Armbruster <armbru@pond.sub.org>
Tue, 5 Jan 2021 06:25:18 +0000 (07:25 +0100)
These commands suppress some error messages when ships, planes or land
units involved aren't explicitly selected by UID.  Without this, a
command like "unload plane 80 *" would complain about every plane not
on ship#80.

Correct a few issues with this error suppression:

1. We don't suppress the error when we can't load/unload a ship or
land unit because it's on the trading block.  Do suppress it.

2. We suppress the error message when we can't load/unload due to
foreign sector ownership in all but one places.  Fix that place.

3. Messages about explicitly selected planes and land units to load
are still suppressed when the carrier isn't selected explicitly.
Change this to suppress regardless of the carrier.

3. We suppress the error when a carrier has no room.  Don't, because
it's a potentially confusing silent failure.

Signed-off-by: Markus Armbruster <armbru@pond.sub.org>
src/lib/commands/load.c
tests/load-tend/journal.log

index d6d5ab94671e17b3dd6bdf42cdb33eb9d1bc0f1e..376845aa27f8f74556c750f938b97ee29ddf79c9 100644 (file)
@@ -151,7 +151,8 @@ load(void)
 
        if (opt_MARKET) {
            if (ontradingblock(EF_SHIP, &ship)) {
 
        if (opt_MARKET) {
            if (ontradingblock(EF_SHIP, &ship)) {
-               pr("You cannot load/unload an item on the trading block!\n");
+               if (noisy)
+                   pr("%s is on the trading block\n", prship(&ship));
                continue;
            }
        }
                continue;
            }
        }
@@ -252,15 +253,17 @@ lload(void)
                continue;
            }
            if (relations_with(sect.sct_own, player->cnum) != ALLIED) {
                continue;
            }
            if (relations_with(sect.sct_own, player->cnum) != ALLIED) {
-               pr("Sector %s is not yours.\n",
-                  xyas(sect.sct_x, sect.sct_y, player->cnum));
+               if (noisy)
+                   pr("Sector %s is not yours.\n",
+                      xyas(sect.sct_x, sect.sct_y, player->cnum));
                continue;
            }
        }
 
        if (opt_MARKET) {
            if (ontradingblock(EF_LAND, &land)) {
                continue;
            }
        }
 
        if (opt_MARKET) {
            if (ontradingblock(EF_LAND, &land)) {
-               pr("You cannot load/unload an item on the trading block!\n");
+               if (noisy)
+                   pr("%s is on the trading block\n", prland(&land));
                continue;
            }
        }
                continue;
            }
        }
@@ -384,8 +387,7 @@ load_plane_ship(struct sctstr *sectp, struct shpstr *sp, int noisy,
     if (loading &&
        shp_nplane(sp, NULL, NULL, NULL)
                >= mcp->m_nchoppers + mcp->m_nxlight + mcp->m_nplanes) {
     if (loading &&
        shp_nplane(sp, NULL, NULL, NULL)
                >= mcp->m_nchoppers + mcp->m_nxlight + mcp->m_nplanes) {
-       if (noisy)
-           pr("%s doesn't have room for any more planes\n", prship(sp));
+       pr("%s doesn't have room for any more planes\n", prship(sp));
        return 0;
     }
     sprintf(prompt, "Plane(s) to %s %s? ",
        return 0;
     }
     sprintf(prompt, "Plane(s) to %s %s? ",
@@ -399,8 +401,7 @@ load_plane_ship(struct sctstr *sectp, struct shpstr *sp, int noisy,
     if (!still_ok_ship(sectp, sp))
        return RET_SYN;
 
     if (!still_ok_ship(sectp, sp))
        return RET_SYN;
 
-    if (noisy)
-       noisy = ni.sel == NS_LIST;
+    noisy = ni.sel == NS_LIST;
 
     while (nxtitem(&ni, &pln)) {
        if (!player->owner)
 
     while (nxtitem(&ni, &pln)) {
        if (!player->owner)
@@ -456,8 +457,7 @@ load_plane_ship(struct sctstr *sectp, struct shpstr *sp, int noisy,
        /* Fit plane on ship */
        if (loading) {
            if (!put_plane_on_ship(&pln, sp)) {
        /* Fit plane on ship */
        if (loading) {
            if (!put_plane_on_ship(&pln, sp)) {
-               if (noisy)
-                   pr("Can't put plane %d on this ship!\n", pln.pln_uid);
+               pr("Can't put plane %d on this ship!\n", pln.pln_uid);
                continue;
            }
            sprintf(buf, "loaded on your %s at %s",
                continue;
            }
            sprintf(buf, "loaded on your %s at %s",
@@ -511,10 +511,8 @@ load_land_ship(struct sctstr *sectp, struct shpstr *sp, int noisy,
            load_spy = 1;
        }
        if (!load_spy && shp_nland(sp) >= mchr[sp->shp_type].m_nland) {
            load_spy = 1;
        }
        if (!load_spy && shp_nland(sp) >= mchr[sp->shp_type].m_nland) {
-           if (noisy) {
-               pr("%s doesn't have room for any more land units!\n",
-                  prship(sp));
-           }
+           pr("%s doesn't have room for any more land units!\n",
+              prship(sp));
            return 0;
        }
     }
            return 0;
        }
     }
@@ -529,8 +527,7 @@ load_land_ship(struct sctstr *sectp, struct shpstr *sp, int noisy,
     if (!still_ok_ship(sectp, sp))
        return RET_SYN;
 
     if (!still_ok_ship(sectp, sp))
        return RET_SYN;
 
-    if (noisy)
-       noisy = ni.sel == NS_LIST;
+    noisy = ni.sel == NS_LIST;
 
     while (nxtitem(&ni, &land)) {
        if (!player->owner)
 
     while (nxtitem(&ni, &land)) {
        if (!player->owner)
@@ -596,9 +593,8 @@ load_land_ship(struct sctstr *sectp, struct shpstr *sp, int noisy,
                }
            } else {
                if (shp_nland(sp) >= mchr[sp->shp_type].m_nland) {
                }
            } else {
                if (shp_nland(sp) >= mchr[sp->shp_type].m_nland) {
-                   if (noisy)
-                       pr("%s doesn't have room for any more land units!\n",
-                          prship(sp));
+                   pr("%s doesn't have room for any more land units!\n",
+                      prship(sp));
                    return 0;
                }
            }
                    return 0;
                }
            }
@@ -717,9 +713,8 @@ load_plane_land(struct sctstr *sectp, struct lndstr *lp, int noisy,
        return 0;
     }
     if (loading && lnd_nxlight(lp) >= lcp->l_nxlight) {
        return 0;
     }
     if (loading && lnd_nxlight(lp) >= lcp->l_nxlight) {
-       if (noisy)
-           pr("%s doesn't have room for any more extra-light planes\n",
-              prland(lp));
+       pr("%s doesn't have room for any more extra-light planes\n",
+          prland(lp));
        return 0;
     }
     sprintf(prompt, "Plane(s) to %s %s? ",
        return 0;
     }
     sprintf(prompt, "Plane(s) to %s %s? ",
@@ -733,8 +728,7 @@ load_plane_land(struct sctstr *sectp, struct lndstr *lp, int noisy,
     if (!still_ok_land(sectp, lp))
        return RET_SYN;
 
     if (!still_ok_land(sectp, lp))
        return RET_SYN;
 
-    if (noisy)
-       noisy = ni.sel == NS_LIST;
+    noisy = ni.sel == NS_LIST;
 
     while (nxtitem(&ni, &pln)) {
        if (!player->owner)
 
     while (nxtitem(&ni, &pln)) {
        if (!player->owner)
@@ -776,8 +770,7 @@ load_plane_land(struct sctstr *sectp, struct lndstr *lp, int noisy,
        /* Fit plane on unit */
        if (loading) {
            if (!put_plane_on_land(&pln, lp)) {
        /* Fit plane on unit */
        if (loading) {
            if (!put_plane_on_land(&pln, lp)) {
-               if (noisy)
-                   pr("Can't put plane %d on this unit!\n", pln.pln_uid);
+               pr("Can't put plane %d on this unit!\n", pln.pln_uid);
                continue;
            }
            sprintf(buf, "loaded on %s at %s",
                continue;
            }
            sprintf(buf, "loaded on %s at %s",
@@ -876,9 +869,8 @@ load_land_land(struct sctstr *sectp, struct lndstr *lp, int noisy,
        return 0;
     }
     if (loading && lnd_nland(lp) >= lchr[lp->lnd_type].l_nland) {
        return 0;
     }
     if (loading && lnd_nland(lp) >= lchr[lp->lnd_type].l_nland) {
-       if (noisy)
-           pr("%s doesn't have room for any more land units!\n",
-              prland(lp));
+       pr("%s doesn't have room for any more land units!\n",
+          prland(lp));
        return 0;
     }
     sprintf(prompt, "Land unit(s) to %s %s? ",
        return 0;
     }
     sprintf(prompt, "Land unit(s) to %s %s? ",
@@ -892,8 +884,7 @@ load_land_land(struct sctstr *sectp, struct lndstr *lp, int noisy,
     if (!still_ok_land(sectp, lp))
        return RET_SYN;
 
     if (!still_ok_land(sectp, lp))
        return RET_SYN;
 
-    if (noisy)
-       noisy = ni.sel == NS_LIST;
+    noisy = ni.sel == NS_LIST;
 
     while (nxtitem(&ni, &land)) {
        if (!player->owner)
 
     while (nxtitem(&ni, &land)) {
        if (!player->owner)
@@ -943,9 +934,8 @@ load_land_land(struct sctstr *sectp, struct lndstr *lp, int noisy,
        /* Fit unit on ship */
        if (loading) {
            if (lnd_nland(lp) >= lchr[lp->lnd_type].l_nland) {
        /* Fit unit on ship */
        if (loading) {
            if (lnd_nland(lp) >= lchr[lp->lnd_type].l_nland) {
-               if (noisy)
-                   pr("%s doesn't have room for any more land units!\n",
-                      prland(lp));
+               pr("%s doesn't have room for any more land units!\n",
+                  prland(lp));
                break;
            }
            sprintf(buf, "loaded on your %s at %s",
                break;
            }
            sprintf(buf, "loaded on your %s at %s",
index 3be7b4613e97e7eafcb291967ac32479d6757134..eb7be8d8dea11cf7dcd7a6f39790fa9183ac203e 100644 (file)
     Play#1 input lunload f a -9
     Play#1 command lunload
     Play#1 output Play#1 1 1 food loaded onto tra  train #50 at 0,0
     Play#1 input lunload f a -9
     Play#1 command lunload
     Play#1 output Play#1 1 1 food loaded onto tra  train #50 at 0,0
-    Play#1 output Play#1 1 Sector 4,0 is not yours.
-    Play#1 output Play#1 1 Sector 6,0 is not yours.
-    Play#1 output Play#1 1 Sector 8,0 is not yours.
     Play#1 output Play#1 1 1 unit unloaded
     Play#1 output Play#1 6 0 602
     Play#1 input lunload f b -9
     Play#1 output Play#1 1 1 unit unloaded
     Play#1 output Play#1 6 0 602
     Play#1 input lunload f b -9
     Play#1 input lunload f B -9
     Play#1 command lunload
     Play#1 output Play#1 1 1 food loaded onto linf light infantry #180 at 0,0
     Play#1 input lunload f B -9
     Play#1 command lunload
     Play#1 output Play#1 1 1 food loaded onto linf light infantry #180 at 0,0
-    Play#1 output Play#1 1 Sector 4,0 is not yours.
-    Play#1 output Play#1 1 Sector 6,0 is not yours.
-    Play#1 output Play#1 1 Sector 8,0 is not yours.
     Play#1 output Play#1 1 1 food loaded onto linf light infantry #185 at 1,1
     Play#1 output Play#1 1 1 food loaded onto linf light infantry #185 at 1,1
-    Play#1 output Play#1 1 Sector 5,1 is not yours.
-    Play#1 output Play#1 1 Sector 7,1 is not yours.
-    Play#1 output Play#1 1 Sector 9,1 is not yours.
     Play#1 output Play#1 1 1 food loaded onto linf light infantry #190 at 1,3
     Play#1 output Play#1 1 1 food loaded onto linf light infantry #190 at 1,3
-    Play#1 output Play#1 1 Sector 5,3 is not yours.
-    Play#1 output Play#1 1 Sector 7,3 is not yours.
-    Play#1 output Play#1 1 Sector 9,3 is not yours.
     Play#1 output Play#1 1 1 food loaded onto linf light infantry #195 at 0,4
     Play#1 output Play#1 1 1 food loaded onto linf light infantry #195 at 0,4
-    Play#1 output Play#1 1 Sector 4,4 is not yours.
-    Play#1 output Play#1 1 Sector 6,4 is not yours.
-    Play#1 output Play#1 1 Sector 8,4 is not yours.
     Play#1 output Play#1 1 1 food loaded onto linf light infantry #200 at 1,5
     Play#1 output Play#1 1 1 food loaded onto linf light infantry #200 at 1,5
-    Play#1 output Play#1 1 Sector 5,5 is not yours.
-    Play#1 output Play#1 1 Sector 7,5 is not yours.
-    Play#1 output Play#1 1 Sector 9,5 is not yours.
-    Play#1 output Play#1 1 Sector 1,-1 is not yours.
     Play#1 output Play#1 1 5 units unloaded
     Play#1 output Play#1 6 0 599
     Play#1 input lunload f D -9
     Play#1 command lunload
     Play#1 output Play#1 1 1 food loaded onto linf light infantry #230 at 0,0
     Play#1 output Play#1 1 5 units unloaded
     Play#1 output Play#1 6 0 599
     Play#1 input lunload f D -9
     Play#1 command lunload
     Play#1 output Play#1 1 1 food loaded onto linf light infantry #230 at 0,0
-    Play#1 output Play#1 1 Sector 4,0 is not yours.
-    Play#1 output Play#1 1 Sector 6,0 is not yours.
-    Play#1 output Play#1 1 Sector 8,0 is not yours.
     Play#1 output Play#1 1 1 unit unloaded
     Play#1 output Play#1 6 0 598
     Play#1 input load m 0/1/2/3/4/5/6/7/8/9/10/11/12/13/14/15/16/17/18/19/20/21/22/23/24/25/26/27/28/29/30/31/32/33/34/90/92/93/94/95 -5
     Play#1 output Play#1 1 1 unit unloaded
     Play#1 output Play#1 6 0 598
     Play#1 input load m 0/1/2/3/4/5/6/7/8/9/10/11/12/13/14/15/16/17/18/19/20/21/22/23/24/25/26/27/28/29/30/31/32/33/34/90/92/93/94/95 -5
     Play#1 command lunload
     Play#1 output Play#1 1 1 military unloaded from tra  train #50 at 0,0
     Play#1 output Play#1 1 1 military unloaded from tra  train #51 at 2,0
     Play#1 command lunload
     Play#1 output Play#1 1 1 military unloaded from tra  train #50 at 0,0
     Play#1 output Play#1 1 1 military unloaded from tra  train #51 at 2,0
-    Play#1 output Play#1 1 Sector 4,0 is not yours.
-    Play#1 output Play#1 1 Sector 6,0 is not yours.
-    Play#1 output Play#1 1 Sector 8,0 is not yours.
     Play#1 output Play#1 1 2 units unloaded
     Play#1 output Play#1 6 0 578
     Play#1 input lunload m b -2
     Play#1 output Play#1 1 2 units unloaded
     Play#1 output Play#1 6 0 578
     Play#1 input lunload m b -2
     Play#1 command lunload
     Play#1 output Play#1 1 1 military unloaded from linf light infantry #180 at 0,0
     Play#1 output Play#1 1 1 military unloaded from linf light infantry #181 at 2,0
     Play#1 command lunload
     Play#1 output Play#1 1 1 military unloaded from linf light infantry #180 at 0,0
     Play#1 output Play#1 1 1 military unloaded from linf light infantry #181 at 2,0
-    Play#1 output Play#1 1 Sector 4,0 is not yours.
-    Play#1 output Play#1 1 Sector 6,0 is not yours.
-    Play#1 output Play#1 1 Sector 8,0 is not yours.
     Play#1 output Play#1 1 1 military unloaded from linf light infantry #185 at 1,1
     Play#1 output Play#1 1 1 military unloaded from linf light infantry #186 at 3,1
     Play#1 output Play#1 1 1 military unloaded from linf light infantry #185 at 1,1
     Play#1 output Play#1 1 1 military unloaded from linf light infantry #186 at 3,1
-    Play#1 output Play#1 1 Sector 5,1 is not yours.
-    Play#1 output Play#1 1 Sector 7,1 is not yours.
-    Play#1 output Play#1 1 Sector 9,1 is not yours.
     Play#1 output Play#1 1 1 military unloaded from linf light infantry #190 at 1,3
     Play#1 output Play#1 1 1 military unloaded from linf light infantry #191 at 3,3
     Play#1 output Play#1 1 1 military unloaded from linf light infantry #190 at 1,3
     Play#1 output Play#1 1 1 military unloaded from linf light infantry #191 at 3,3
-    Play#1 output Play#1 1 Sector 5,3 is not yours.
-    Play#1 output Play#1 1 Sector 7,3 is not yours.
-    Play#1 output Play#1 1 Sector 9,3 is not yours.
     Play#1 output Play#1 1 1 military unloaded from linf light infantry #195 at 0,4
     Play#1 output Play#1 1 1 military unloaded from linf light infantry #196 at 2,4
     Play#1 output Play#1 1 1 military unloaded from linf light infantry #195 at 0,4
     Play#1 output Play#1 1 1 military unloaded from linf light infantry #196 at 2,4
-    Play#1 output Play#1 1 Sector 4,4 is not yours.
-    Play#1 output Play#1 1 Sector 6,4 is not yours.
-    Play#1 output Play#1 1 Sector 8,4 is not yours.
     Play#1 output Play#1 1 1 military unloaded from linf light infantry #200 at 1,5
     Play#1 output Play#1 1 1 military unloaded from linf light infantry #201 at 3,5
     Play#1 output Play#1 1 1 military unloaded from linf light infantry #200 at 1,5
     Play#1 output Play#1 1 1 military unloaded from linf light infantry #201 at 3,5
-    Play#1 output Play#1 1 Sector 5,5 is not yours.
-    Play#1 output Play#1 1 Sector 7,5 is not yours.
-    Play#1 output Play#1 1 Sector 9,5 is not yours.
-    Play#1 output Play#1 1 Sector 1,-1 is not yours.
     Play#1 output Play#1 1 10 units unloaded
     Play#1 output Play#1 6 0 575
     Play#1 input lunload m D -2
     Play#1 command lunload
     Play#1 output Play#1 1 1 military unloaded from linf light infantry #230 at 0,0
     Play#1 output Play#1 1 1 military unloaded from linf light infantry #231 at 2,0
     Play#1 output Play#1 1 10 units unloaded
     Play#1 output Play#1 6 0 575
     Play#1 input lunload m D -2
     Play#1 command lunload
     Play#1 output Play#1 1 1 military unloaded from linf light infantry #230 at 0,0
     Play#1 output Play#1 1 1 military unloaded from linf light infantry #231 at 2,0
-    Play#1 output Play#1 1 Sector 4,0 is not yours.
-    Play#1 output Play#1 1 Sector 6,0 is not yours.
-    Play#1 output Play#1 1 Sector 8,0 is not yours.
     Play#1 output Play#1 1 2 units unloaded
     Play#1 output Play#1 6 0 574
     Play#1 input lunload m 50/51/52/53/54/90/92/93/94 0
     Play#1 output Play#1 1 2 units unloaded
     Play#1 output Play#1 6 0 574
     Play#1 input lunload m 50/51/52/53/54/90/92/93/94 0
     Play#1 command lunload
     Play#1 output Play#1 1 1 military unloaded from tra  train #50 at 0,0
     Play#1 output Play#1 1 1 military unloaded from tra  train #51 at 2,0
     Play#1 command lunload
     Play#1 output Play#1 1 1 military unloaded from tra  train #50 at 0,0
     Play#1 output Play#1 1 1 military unloaded from tra  train #51 at 2,0
-    Play#1 output Play#1 1 Sector 4,0 is not yours.
-    Play#1 output Play#1 1 Sector 6,0 is not yours.
-    Play#1 output Play#1 1 Sector 8,0 is not yours.
     Play#1 output Play#1 1 2 units unloaded
     Play#1 output Play#1 6 0 571
     Play#1 input lunload m b 1
     Play#1 output Play#1 1 2 units unloaded
     Play#1 output Play#1 6 0 571
     Play#1 input lunload m b 1
     Play#1 command lunload
     Play#1 output Play#1 1 1 military unloaded from linf light infantry #180 at 0,0
     Play#1 output Play#1 1 1 military unloaded from linf light infantry #181 at 2,0
     Play#1 command lunload
     Play#1 output Play#1 1 1 military unloaded from linf light infantry #180 at 0,0
     Play#1 output Play#1 1 1 military unloaded from linf light infantry #181 at 2,0
-    Play#1 output Play#1 1 Sector 4,0 is not yours.
-    Play#1 output Play#1 1 Sector 6,0 is not yours.
-    Play#1 output Play#1 1 Sector 8,0 is not yours.
     Play#1 output Play#1 1 1 military unloaded from linf light infantry #185 at 1,1
     Play#1 output Play#1 1 1 military unloaded from linf light infantry #186 at 3,1
     Play#1 output Play#1 1 1 military unloaded from linf light infantry #185 at 1,1
     Play#1 output Play#1 1 1 military unloaded from linf light infantry #186 at 3,1
-    Play#1 output Play#1 1 Sector 5,1 is not yours.
-    Play#1 output Play#1 1 Sector 7,1 is not yours.
-    Play#1 output Play#1 1 Sector 9,1 is not yours.
     Play#1 output Play#1 1 1 military unloaded from linf light infantry #190 at 1,3
     Play#1 output Play#1 1 1 military unloaded from linf light infantry #191 at 3,3
     Play#1 output Play#1 1 1 military unloaded from linf light infantry #190 at 1,3
     Play#1 output Play#1 1 1 military unloaded from linf light infantry #191 at 3,3
-    Play#1 output Play#1 1 Sector 5,3 is not yours.
-    Play#1 output Play#1 1 Sector 7,3 is not yours.
-    Play#1 output Play#1 1 Sector 9,3 is not yours.
     Play#1 output Play#1 1 1 military unloaded from linf light infantry #195 at 0,4
     Play#1 output Play#1 1 1 military unloaded from linf light infantry #196 at 2,4
     Play#1 output Play#1 1 1 military unloaded from linf light infantry #195 at 0,4
     Play#1 output Play#1 1 1 military unloaded from linf light infantry #196 at 2,4
-    Play#1 output Play#1 1 Sector 4,4 is not yours.
-    Play#1 output Play#1 1 Sector 6,4 is not yours.
-    Play#1 output Play#1 1 Sector 8,4 is not yours.
     Play#1 output Play#1 1 1 military unloaded from linf light infantry #200 at 1,5
     Play#1 output Play#1 1 1 military unloaded from linf light infantry #201 at 3,5
     Play#1 output Play#1 1 1 military unloaded from linf light infantry #200 at 1,5
     Play#1 output Play#1 1 1 military unloaded from linf light infantry #201 at 3,5
-    Play#1 output Play#1 1 Sector 5,5 is not yours.
-    Play#1 output Play#1 1 Sector 7,5 is not yours.
-    Play#1 output Play#1 1 Sector 9,5 is not yours.
-    Play#1 output Play#1 1 Sector 1,-1 is not yours.
     Play#1 output Play#1 1 10 units unloaded
     Play#1 output Play#1 6 0 567
     Play#1 input lunload m D 1
     Play#1 command lunload
     Play#1 output Play#1 1 1 military unloaded from linf light infantry #230 at 0,0
     Play#1 output Play#1 1 1 military unloaded from linf light infantry #231 at 2,0
     Play#1 output Play#1 1 10 units unloaded
     Play#1 output Play#1 6 0 567
     Play#1 input lunload m D 1
     Play#1 command lunload
     Play#1 output Play#1 1 1 military unloaded from linf light infantry #230 at 0,0
     Play#1 output Play#1 1 1 military unloaded from linf light infantry #231 at 2,0
-    Play#1 output Play#1 1 Sector 4,0 is not yours.
-    Play#1 output Play#1 1 Sector 6,0 is not yours.
-    Play#1 output Play#1 1 Sector 8,0 is not yours.
     Play#1 output Play#1 1 2 units unloaded
     Play#1 output Play#1 6 0 566
     Play#1 input load i 80 1
     Play#1 output Play#1 1 2 units unloaded
     Play#1 output Play#1 6 0 566
     Play#1 input load i 80 1
     Play#1 input load plane a A
     Play#1 command load
     Play#1 output Play#1 1 sam  Sea Sparrow #0 loaded onto ls   landing ship (#0) at 0,0.
     Play#1 input load plane a A
     Play#1 command load
     Play#1 output Play#1 1 sam  Sea Sparrow #0 loaded onto ls   landing ship (#0) at 0,0.
+    Play#1 output Play#1 1 Can't put plane 25 on this ship!
     Play#1 output Play#1 1 sam  Sea Sparrow #15 loaded onto ls   landing ship (#15) at 0,4.
     Play#1 output Play#1 1 2 ships loaded
     Play#1 output Play#1 6 0 515
     Play#1 output Play#1 1 sam  Sea Sparrow #15 loaded onto ls   landing ship (#15) at 0,4.
     Play#1 output Play#1 1 2 ships loaded
     Play#1 output Play#1 6 0 515
     Play#1 output Play#1 1 f2   P-51 Mustang #127 loaded onto cal  light carrier (#100) at -2,0.
     Play#1 output Play#1 1 f2   P-51 Mustang #128 loaded onto cal  light carrier (#100) at -2,0.
     Play#1 output Play#1 1 f2   P-51 Mustang #129 loaded onto cal  light carrier (#100) at -2,0.
     Play#1 output Play#1 1 f2   P-51 Mustang #127 loaded onto cal  light carrier (#100) at -2,0.
     Play#1 output Play#1 1 f2   P-51 Mustang #128 loaded onto cal  light carrier (#100) at -2,0.
     Play#1 output Play#1 1 f2   P-51 Mustang #129 loaded onto cal  light carrier (#100) at -2,0.
+    Play#1 output Play#1 1 Can't put plane 130 on this ship!
+    Play#1 output Play#1 1 Can't put plane 131 on this ship!
+    Play#1 output Play#1 1 Can't put plane 132 on this ship!
+    Play#1 output Play#1 1 Can't put plane 133 on this ship!
+    Play#1 output Play#1 1 Can't put plane 134 on this ship!
+    Play#1 output Play#1 1 Can't put plane 135 on this ship!
+    Play#1 output Play#1 1 Can't put plane 136 on this ship!
+    Play#1 output Play#1 1 Can't put plane 137 on this ship!
+    Play#1 output Play#1 1 Can't put plane 138 on this ship!
+    Play#1 output Play#1 1 Can't put plane 139 on this ship!
     Play#1 output Play#1 1 1 ship loaded
     Play#1 output Play#1 6 0 498
     Play#1 input load plane 100 K
     Play#1 output Play#1 1 1 ship loaded
     Play#1 output Play#1 6 0 498
     Play#1 input load plane 100 K
     Play#1 output Play#1 1 nc   AH-1 Cobra #77 loaded onto cal  light carrier (#100) at -2,0.
     Play#1 output Play#1 1 nc   AH-1 Cobra #78 loaded onto cal  light carrier (#100) at -2,0.
     Play#1 output Play#1 1 nc   AH-1 Cobra #79 loaded onto cal  light carrier (#100) at -2,0.
     Play#1 output Play#1 1 nc   AH-1 Cobra #77 loaded onto cal  light carrier (#100) at -2,0.
     Play#1 output Play#1 1 nc   AH-1 Cobra #78 loaded onto cal  light carrier (#100) at -2,0.
     Play#1 output Play#1 1 nc   AH-1 Cobra #79 loaded onto cal  light carrier (#100) at -2,0.
+    Play#1 output Play#1 1 Can't put plane 80 on this ship!
+    Play#1 output Play#1 1 Can't put plane 81 on this ship!
+    Play#1 output Play#1 1 Can't put plane 82 on this ship!
+    Play#1 output Play#1 1 Can't put plane 83 on this ship!
+    Play#1 output Play#1 1 Can't put plane 84 on this ship!
+    Play#1 output Play#1 1 Can't put plane 85 on this ship!
+    Play#1 output Play#1 1 Can't put plane 86 on this ship!
+    Play#1 output Play#1 1 Can't put plane 87 on this ship!
+    Play#1 output Play#1 1 Can't put plane 88 on this ship!
+    Play#1 output Play#1 1 Can't put plane 89 on this ship!
     Play#1 output Play#1 1 1 ship loaded
     Play#1 output Play#1 6 0 497
     Play#1 input load plane 100 E
     Play#1 output Play#1 1 1 ship loaded
     Play#1 output Play#1 6 0 497
     Play#1 input load plane 100 E
     Play#1 output Play#1 1 sam  Sea Sparrow #41 loaded onto cal  light carrier (#100) at -2,0.
     Play#1 output Play#1 1 sam  Sea Sparrow #42 loaded onto cal  light carrier (#100) at -2,0.
     Play#1 output Play#1 1 sam  Sea Sparrow #43 loaded onto cal  light carrier (#100) at -2,0.
     Play#1 output Play#1 1 sam  Sea Sparrow #41 loaded onto cal  light carrier (#100) at -2,0.
     Play#1 output Play#1 1 sam  Sea Sparrow #42 loaded onto cal  light carrier (#100) at -2,0.
     Play#1 output Play#1 1 sam  Sea Sparrow #43 loaded onto cal  light carrier (#100) at -2,0.
+    Play#1 output Play#1 1 Can't put plane 44 on this ship!
+    Play#1 output Play#1 1 Can't put plane 45 on this ship!
+    Play#1 output Play#1 1 Can't put plane 46 on this ship!
+    Play#1 output Play#1 1 Can't put plane 47 on this ship!
+    Play#1 output Play#1 1 Can't put plane 48 on this ship!
+    Play#1 output Play#1 1 Can't put plane 49 on this ship!
+    Play#1 output Play#1 1 Can't put plane 50 on this ship!
+    Play#1 output Play#1 1 Can't put plane 51 on this ship!
+    Play#1 output Play#1 1 Can't put plane 52 on this ship!
+    Play#1 output Play#1 1 Can't put plane 53 on this ship!
+    Play#1 output Play#1 1 Can't put plane 54 on this ship!
+    Play#1 output Play#1 1 Can't put plane 55 on this ship!
+    Play#1 output Play#1 1 Can't put plane 56 on this ship!
     Play#1 output Play#1 1 1 ship loaded
     Play#1 output Play#1 6 0 496
     Play#1 input load plane 101 M
     Play#1 output Play#1 1 1 ship loaded
     Play#1 output Play#1 6 0 496
     Play#1 input load plane 101 M
     Play#1 output Play#1 1 mi   Harpoon #97 loaded onto mb   missile boat (#101) at -2,0.
     Play#1 output Play#1 1 mi   Harpoon #98 loaded onto mb   missile boat (#101) at -2,0.
     Play#1 output Play#1 1 mi   Harpoon #99 loaded onto mb   missile boat (#101) at -2,0.
     Play#1 output Play#1 1 mi   Harpoon #97 loaded onto mb   missile boat (#101) at -2,0.
     Play#1 output Play#1 1 mi   Harpoon #98 loaded onto mb   missile boat (#101) at -2,0.
     Play#1 output Play#1 1 mi   Harpoon #99 loaded onto mb   missile boat (#101) at -2,0.
+    Play#1 output Play#1 1 Can't put plane 100 on this ship!
+    Play#1 output Play#1 1 Can't put plane 101 on this ship!
+    Play#1 output Play#1 1 Can't put plane 102 on this ship!
+    Play#1 output Play#1 1 Can't put plane 103 on this ship!
+    Play#1 output Play#1 1 Can't put plane 104 on this ship!
+    Play#1 output Play#1 1 Can't put plane 105 on this ship!
+    Play#1 output Play#1 1 Can't put plane 106 on this ship!
+    Play#1 output Play#1 1 Can't put plane 107 on this ship!
+    Play#1 output Play#1 1 Can't put plane 108 on this ship!
+    Play#1 output Play#1 1 Can't put plane 109 on this ship!
     Play#1 output Play#1 1 1 ship loaded
     Play#1 output Play#1 6 0 495
     Play#1 input unload plane 100 110
     Play#1 output Play#1 1 1 ship loaded
     Play#1 output Play#1 6 0 495
     Play#1 input unload plane 100 110
     Play#1 command lunload
     Play#1 output Play#1 1 sam  Sea Sparrow #200 unloaded from tra  train #50 at 0,0.
     Play#1 output Play#1 1 sam  Sea Sparrow #201 unloaded from tra  train #51 at 2,0.
     Play#1 command lunload
     Play#1 output Play#1 1 sam  Sea Sparrow #200 unloaded from tra  train #50 at 0,0.
     Play#1 output Play#1 1 sam  Sea Sparrow #201 unloaded from tra  train #51 at 2,0.
-    Play#1 output Play#1 1 Sector 4,0 is not yours.
-    Play#1 output Play#1 1 Sector 6,0 is not yours.
-    Play#1 output Play#1 1 Sector 8,0 is not yours.
     Play#1 output Play#1 1 2 units unloaded
     Play#1 output Play#1 6 0 482
     Play#1 input lunload plane b D
     Play#1 output Play#1 1 2 units unloaded
     Play#1 output Play#1 6 0 482
     Play#1 input lunload plane b D
     Play#1 input lload plane 100 E
     Play#1 command lload
     Play#1 output Play#1 1 sam  Sea Sparrow #45 loaded onto rad  radar unit #100 at -2,0.
     Play#1 input lload plane 100 E
     Play#1 command lload
     Play#1 output Play#1 1 sam  Sea Sparrow #45 loaded onto rad  radar unit #100 at -2,0.
+    Play#1 output Play#1 1 Can't put plane 46 on this unit!
+    Play#1 output Play#1 1 Can't put plane 47 on this unit!
+    Play#1 output Play#1 1 Can't put plane 48 on this unit!
+    Play#1 output Play#1 1 Can't put plane 49 on this unit!
+    Play#1 output Play#1 1 Can't put plane 50 on this unit!
+    Play#1 output Play#1 1 Can't put plane 51 on this unit!
+    Play#1 output Play#1 1 Can't put plane 52 on this unit!
+    Play#1 output Play#1 1 Can't put plane 53 on this unit!
+    Play#1 output Play#1 1 Can't put plane 54 on this unit!
+    Play#1 output Play#1 1 Can't put plane 55 on this unit!
+    Play#1 output Play#1 1 Can't put plane 56 on this unit!
     Play#1 output Play#1 1 1 unit loaded
     Play#1 output Play#1 6 0 472
     Play#1 input load
     Play#1 output Play#1 1 1 unit loaded
     Play#1 output Play#1 6 0 472
     Play#1 input load
     Play#1 output Play#1 4 Plane(s) to load onto cs   cargo ship (#80)?
     Play#1 input *
     Play#1 output Play#1 1 sam  Sea Sparrow #46 loaded onto cs   cargo ship (#80) at -2,0.
     Play#1 output Play#1 4 Plane(s) to load onto cs   cargo ship (#80)?
     Play#1 input *
     Play#1 output Play#1 1 sam  Sea Sparrow #46 loaded onto cs   cargo ship (#80) at -2,0.
+    Play#1 output Play#1 1 Can't put plane 47 on this ship!
+    Play#1 output Play#1 1 Can't put plane 48 on this ship!
+    Play#1 output Play#1 1 Can't put plane 49 on this ship!
+    Play#1 output Play#1 1 Can't put plane 50 on this ship!
+    Play#1 output Play#1 1 Can't put plane 51 on this ship!
+    Play#1 output Play#1 1 Can't put plane 52 on this ship!
+    Play#1 output Play#1 1 Can't put plane 53 on this ship!
+    Play#1 output Play#1 1 Can't put plane 54 on this ship!
+    Play#1 output Play#1 1 Can't put plane 55 on this ship!
+    Play#1 output Play#1 1 Can't put plane 56 on this ship!
+    Play#1 output Play#1 1 Can't put plane 230 on this ship!
+    Play#1 output Play#1 1 Can't put plane 232 on this ship!
     Play#1 output Play#1 4 Plane(s) to load onto cs   cargo ship (#81)?
     Play#1 input *
     Play#1 output Play#1 1 1 ship loaded
     Play#1 output Play#1 4 Plane(s) to load onto cs   cargo ship (#81)?
     Play#1 input *
     Play#1 output Play#1 1 1 ship loaded
     Play#1 output Play#1 4 Plane(s) to load onto rad  radar unit #105?
     Play#1 input *
     Play#1 output Play#1 1 sam  Sea Sparrow #46 loaded onto rad  radar unit #105 at -2,0.
     Play#1 output Play#1 4 Plane(s) to load onto rad  radar unit #105?
     Play#1 input *
     Play#1 output Play#1 1 sam  Sea Sparrow #46 loaded onto rad  radar unit #105 at -2,0.
+    Play#1 output Play#1 1 Can't put plane 47 on this unit!
+    Play#1 output Play#1 1 Can't put plane 48 on this unit!
+    Play#1 output Play#1 1 Can't put plane 49 on this unit!
+    Play#1 output Play#1 1 Can't put plane 50 on this unit!
+    Play#1 output Play#1 1 Can't put plane 51 on this unit!
+    Play#1 output Play#1 1 Can't put plane 52 on this unit!
+    Play#1 output Play#1 1 Can't put plane 53 on this unit!
+    Play#1 output Play#1 1 Can't put plane 54 on this unit!
+    Play#1 output Play#1 1 Can't put plane 55 on this unit!
+    Play#1 output Play#1 1 Can't put plane 56 on this unit!
+    Play#1 output Play#1 1 Can't put plane 58 on this unit!
+    Play#1 output Play#1 1 Can't put plane 230 on this unit!
+    Play#1 output Play#1 1 Can't put plane 232 on this unit!
     Play#1 output Play#1 1 1 unit loaded
     Play#1 output Play#1 6 0 468
     Play#1 input load land -1
     Play#1 output Play#1 1 1 unit loaded
     Play#1 output Play#1 6 0 468
     Play#1 input load land -1
     Play#1 command lunload
     Play#1 output Play#1 1 linf light infantry #230 unloaded from tra  train #50 at 0,0.
     Play#1 output Play#1 1 linf light infantry #231 unloaded from tra  train #51 at 2,0.
     Play#1 command lunload
     Play#1 output Play#1 1 linf light infantry #230 unloaded from tra  train #50 at 0,0.
     Play#1 output Play#1 1 linf light infantry #231 unloaded from tra  train #51 at 2,0.
-    Play#1 output Play#1 1 Sector 4,0 is not yours.
-    Play#1 output Play#1 1 Sector 6,0 is not yours.
-    Play#1 output Play#1 1 Sector 8,0 is not yours.
     Play#1 output Play#1 1 2 units unloaded
     Play#1 output Play#1 6 0 436
     Play#1 input lunload land b D
     Play#1 output Play#1 1 2 units unloaded
     Play#1 output Play#1 6 0 436
     Play#1 input lunload land b D