]> git.pond.sub.org Git - empserver/commitdiff
collect: Derive collection value from power value
authorMarkus Armbruster <armbru@pond.sub.org>
Sat, 11 Jun 2016 19:30:52 +0000 (21:30 +0200)
committerMarkus Armbruster <armbru@pond.sub.org>
Sun, 6 Aug 2017 17:59:59 +0000 (19:59 +0200)
The collection value of a sector is

    sector value = sector type value * (sector efficiency + 100)
                 + sum of item values
    item value = item type value * amount

The sector and item type values are configurable.

The item type collect values aren't too far off the power values:

    uid mnem  pow val pow/val
      0  "c"   50   1   50
      1  "m"  100   0  inf
      2  "s"  125   5   25
      3  "g"  950  60   15.8
      4  "p"    7   4    1.75
      5  "i"   10   2    5
      6  "d"  200  20   10
      7  "b" 2500 280    8.9
      8  "f"    0   0  NaN
      9  "o"   50   8    6.25
     10  "l"   20   2   10
     11  "h"   40   4   10
     12  "u"   50   1   50
     13  "r"   50 150    0.33

The power value is very roughly ten times the collect value, except
for civilians and uw it's 50, for rads its 0.33, and military are free
to collect.  The latter two make no sense.

Replace the item type collect value by the power value / 50 for
people, and by the power value / 10 for everything else.  This makes
collecting military, shells, guns and uw more expensive, and petrol,
bars, iron, oil and rads cheaper.

The sector type values are basically arbitrary.  For instance, an iron
mine costs five times as much as a wilderness, but a third of an
uranium mine, regardless of actual resource contents.

Replace this by different arbitrary values:

    sector value = (item value of materials necessary to build it
                    + build cost) * efficiency / 100
 + sector type maximum population
                 + sum of item values

Some sector types become cheaper, some more expensive.

Drop sect-chr and item selector value.

Signed-off-by: Markus Armbruster <armbru@pond.sub.org>
16 files changed:
include/item.h
include/sect.h
info/Item-types.t
src/lib/commands/coll.c
src/lib/common/nsc.c
src/lib/global/item.config
src/lib/global/sect.config
src/lib/subs/show.c
tests/empdump/errors.err
tests/empdump/xundump-errors/colhdr-dup3
tests/empdump/xundump-errors/colhdr-idxbig
tests/empdump/xundump-errors/colhdr-idxneg
tests/empdump/xundump-errors/colhdr-idxreq
tests/empdump/xundump-errors/colhdr-unexp2
tests/empdump/xundump-errors/fld-miss
tests/version/journal.log

index 1df0952770fd98667123fabacf41a3ac8d5a7de6..9923d218ea0b700ca69a4985c6e7c90f6b0b417b 100644 (file)
@@ -71,7 +71,6 @@ struct ichrstr {
     char i_mnem;               /* usually the initial letter */
     i_type i_uid;              /* index in ichr[] */
     int i_power;               /* power value of 1000 items */
     char i_mnem;               /* usually the initial letter */
     i_type i_uid;              /* index in ichr[] */
     int i_power;               /* power value of 1000 items */
-    int i_value;               /* mortgage value */
     int i_sell;                        /* can this be sold? */
     int i_lbs;                 /* how hard to move */
     int i_pkg[NUMPKG];         /* units for reg, ware, urb, bank */
     int i_sell;                        /* can this be sold? */
     int i_lbs;                 /* how hard to move */
     int i_pkg[NUMPKG];         /* units for reg, ware, urb, bank */
index 4f68bda638a018a12d752d843811bb296a5f067e..f29d601875ee3722af3a422c925b05161139ce8f 100644 (file)
@@ -111,7 +111,6 @@ struct dchrstr {
     enum i_packing d_pkg;      /* type of packaging in these sects */
     float d_ostr;              /* offensive strength */
     float d_dstr;              /* defensive strength */
     enum i_packing d_pkg;      /* type of packaging in these sects */
     float d_ostr;              /* offensive strength */
     float d_dstr;              /* defensive strength */
-    int d_value;               /* resale ("collect") value */
     short d_mat[I_MAX+1];      /* materials to build 100% */
                                /* only I_LCM and I_HCM non-zero */
     int d_bwork;               /* work to build 100% */
     short d_mat[I_MAX+1];      /* materials to build 100% */
                                /* only I_LCM and I_HCM non-zero */
     int d_bwork;               /* work to build 100% */
index 6f29edfecef1020ff079076beda1e5e464f732ae..0ebc6be21b574ed83cbb2a97a7833fee4dbccf07 100644 (file)
@@ -9,22 +9,22 @@ The show command displays the detailed characteristics of items.
 .s1
 .EX show item
 .NF
 .s1
 .EX show item
 .NF
-item power value sell lbs    packing     melt  item
-mnem                      in no wh ur bk deno  name
-  c     50     1   no   1  1 10 10 10 10    4  civilians
-  m    100     0  yes   1  1  1  1  1  1   20  military
-  s    125     5  yes   1  1  1 10  1  1   80  shells
-  g    950    60  yes  10  1  1 10  1  1  100  guns
-  p      7     4  yes   1  1  1 10  1  1   50  petrol
-  i     10     2  yes   1  1  1 10  1  1  100  iron ore
-  d    200    20  yes   5  1  1 10  1  1  100  dust (gold)
-  b   2500   280  yes  50  1  1  5  1  4  200  bars of gold
-  f      0     0  yes   1  1  1 10  1  1    2  food
-  o     50     8  yes   1  1  1 10  1  1   50  oil
-  l     20     2  yes   1  1  1 10  1  1  100  light products
-  h     40     4  yes   1  1  1 10  1  1  100  heavy products
-  u     50     1  yes   2  1  1  2  1  1    2  uncompensated workers
-  r     50   150  yes   8  1  1 10  1  1 1000  radioactive materials
+item power sell lbs    packing     melt  item
+mnem                in no wh ur bk deno  name
+  c     50   no   1  1 10 10 10 10    4  civilians
+  m    100  yes   1  1  1  1  1  1   20  military
+  s    125  yes   1  1  1 10  1  1   80  shells
+  g    950  yes  10  1  1 10  1  1  100  guns
+  p      7  yes   1  1  1 10  1  1   50  petrol
+  i     10  yes   1  1  1 10  1  1  100  iron ore
+  d    200  yes   5  1  1 10  1  1  100  dust (gold)
+  b   2500  yes  50  1  1  5  1  4  200  bars of gold
+  f      0  yes   1  1  1 10  1  1    2  food
+  o     50  yes   1  1  1 10  1  1   50  oil
+  l     20  yes   1  1  1 10  1  1  100  light products
+  h     40  yes   1  1  1 10  1  1  100  heavy products
+  u     50  yes   2  1  1  2  1  1    2  uncompensated workers
+  r     50  yes   8  1  1 10  1  1 1000  radioactive materials
 .FI
 .s1
 The meaning of the headings are:
 .FI
 .s1
 The meaning of the headings are:
index 1afc7d979b19d209f17c607da40a1ba89cd90d3a..1fd0983402564d04faccc6b28b61ec2fe0b43a78 100644 (file)
 #include "news.h"
 #include "optlist.h"
 
 #include "news.h"
 #include "optlist.h"
 
+static double appraise_sect(struct sctstr *);
+
 int
 coll(void)
 {
     int arg;
 int
 coll(void)
 {
     int arg;
-    int i;
-    int val;
     time_t now;
     char *p;
     struct lonstr loan;
     time_t now;
     char *p;
     struct lonstr loan;
@@ -96,13 +96,7 @@ coll(void)
           xyas(x, y, player->cnum), cname(loan.l_lonee));
        return RET_FAIL;
     }
           xyas(x, y, player->cnum), cname(loan.l_lonee));
        return RET_FAIL;
     }
-    pay = dchr[sect.sct_type].d_value * (sect.sct_effic + 100.0);
-    for (i = 0; ichr[i].i_name; i++) {
-       if (ichr[i].i_value == 0 || ichr[i].i_uid == I_NONE)
-           continue;
-       val = sect.sct_item[ichr[i].i_uid];
-       pay += val * ichr[i].i_value;
-    }
+    pay = appraise_sect(&sect);
     if (pay > owed * 1.2) {
        pr("That sector (and its contents) is valued at more than %.2f.\n",
           owed);
     if (pay > owed * 1.2) {
        pr("That sector (and its contents) is valued at more than %.2f.\n",
           owed);
@@ -155,3 +149,29 @@ coll(void)
     putloan(arg, &loan);
     return RET_OK;
 }
     putloan(arg, &loan);
     return RET_OK;
 }
+
+static double
+appraise_items(short item[])
+{
+    double total, val;
+    int i;
+
+    total = 0.0;
+    for (i = I_NONE + 1; i <= I_MAX; i++) {
+       val = ichr[i].i_power / 10.0;
+       if (i == I_MILIT || i == I_CIVIL || i == I_UW)
+           val /= 5.0;         /* collect-specific fudge factor */
+       total += item[i] * val;
+    }
+    return total;
+}
+
+static double
+appraise_sect(struct sctstr *sp)
+{
+    struct dchrstr *dcp = &dchr[sp->sct_type];
+    double bld_val = appraise_items(dcp->d_mat) + dcp->d_cost;
+
+    return bld_val * sp->sct_effic / 100.0 + dcp->d_maxpop
+       + appraise_items(sp->sct_item);
+}
index ddbfda9f68098dfccec5803fed5f22fcca3b142d..1b0dd78eaf6c65cfa4ee95a002ed818a49b40111 100644 (file)
@@ -122,7 +122,6 @@ struct castr ichr_ca[] = {
     {"mnem", fldoff(i_mnem), NSC_STRINGY, 1, NULL, EF_BAD, 0,
      CA_DUMP_CONST},
     {"power", fldoff(i_power), NSC_INT, 0, NULL, EF_BAD, 0, CA_DUMP},
     {"mnem", fldoff(i_mnem), NSC_STRINGY, 1, NULL, EF_BAD, 0,
      CA_DUMP_CONST},
     {"power", fldoff(i_power), NSC_INT, 0, NULL, EF_BAD, 0, CA_DUMP},
-    {"value", fldoff(i_value), NSC_INT, 0, NULL, EF_BAD, 0, CA_DUMP},
     {"sell", fldoff(i_sell), NSC_INT, 0, NULL, EF_BAD, 0, CA_DUMP},
     {"lbs", fldoff(i_lbs), NSC_INT, 0, NULL, EF_BAD, 0, CA_DUMP},
     {"pkg", fldoff(i_pkg), NSC_INT, NUMPKG, NULL, EF_BAD, 0, CA_DUMP},
     {"sell", fldoff(i_sell), NSC_INT, 0, NULL, EF_BAD, 0, CA_DUMP},
     {"lbs", fldoff(i_lbs), NSC_INT, 0, NULL, EF_BAD, 0, CA_DUMP},
     {"pkg", fldoff(i_pkg), NSC_INT, NUMPKG, NULL, EF_BAD, 0, CA_DUMP},
@@ -239,7 +238,6 @@ struct castr dchr_ca[] = {
      EF_PACKING, 0, CA_DUMP},
     {"ostr", fldoff(d_ostr), NSC_FLOAT, 0, NULL, EF_BAD, 0, CA_DUMP},
     {"dstr", fldoff(d_dstr), NSC_FLOAT, 0, NULL, EF_BAD, 0, CA_DUMP},
      EF_PACKING, 0, CA_DUMP},
     {"ostr", fldoff(d_ostr), NSC_FLOAT, 0, NULL, EF_BAD, 0, CA_DUMP},
     {"dstr", fldoff(d_dstr), NSC_FLOAT, 0, NULL, EF_BAD, 0, CA_DUMP},
-    {"value", fldoff(d_value), NSC_INT, 0, NULL, EF_BAD, 0, CA_DUMP},
     NSC_MVEC(fldoff(d_mat), CA_DUMP_ONLY, CA_DUMP_ONLY, CA_DUMP_ONLY),
     {"bwork", fldoff(d_bwork), NSC_INT, 0, NULL, EF_BAD, 0, CA_DUMP},
     {"cost", fldoff(d_cost), NSC_INT, 0, NULL, EF_BAD, 0, CA_DUMP},
     NSC_MVEC(fldoff(d_mat), CA_DUMP_ONLY, CA_DUMP_ONLY, CA_DUMP_ONLY),
     {"bwork", fldoff(d_bwork), NSC_INT, 0, NULL, EF_BAD, 0, CA_DUMP},
     {"cost", fldoff(d_cost), NSC_INT, 0, NULL, EF_BAD, 0, CA_DUMP},
index 0c2c907a7dad138dc08d9c01ae6c80c0614673f4..c8b28c2de402e323f29f3bcbf2b8bc5301c810b5 100644 (file)
 # econfig key custom_tables.
 
 config item #          ineff  norm   ware   urban  bank
 # econfig key custom_tables.
 
 config item #          ineff  norm   ware   urban  bank
-uid mnem   pow val sell lbs pkg(0) pkg(1) pkg(2) pkg(3) pkg(4) melt name
-  0  "c"    50   1    0   1     1     10     10     10     10     4 "civilians"
-  1  "m"   100   0    1   1     1      1      1      1      1    20 "military"
-  2  "s"   125   5    1   1     1      1     10      1      1    80 "shells"
-  3  "g"   950  60    1  10     1      1     10      1      1   100 "guns"
-  4  "p"     7   4    1   1     1      1     10      1      1    50 "petrol"
-  5  "i"    10   2    1   1     1      1     10      1      1   100 "iron ore"
-  6  "d"   200  20    1   5     1      1     10      1      1   100 "dust (gold)"
-  7  "b"  2500 280    1  50     1      1      5      1      4   200 "bars of gold"
-  8  "f"     0   0    1   1     1      1     10      1      1     2 "food"
-  9  "o"    50   8    1   1     1      1     10      1      1    50 "oil"
- 10  "l"    20   2    1   1     1      1     10      1      1   100 "light products"
- 11  "h"    40   4    1   1     1      1     10      1      1   100 "heavy products"
- 12  "u"    50   1    1   2     1      1      2      1      1     2 "uncompensated workers"
- 13  "r"    50 150    1   8     1      1     10      1      1  1000 "radioactive materials"
+uid mnem  pow sell lbs pkg(0) pkg(1) pkg(2) pkg(3) pkg(4) melt name
+  0  "c"   50    0   1     1     10     10     10     10     4 "civilians"
+  1  "m"  100    1   1     1      1      1      1      1    20 "military"
+  2  "s"  125    1   1     1      1     10      1      1    80 "shells"
+  3  "g"  950    1  10     1      1     10      1      1   100 "guns"
+  4  "p"    7    1   1     1      1     10      1      1    50 "petrol"
+  5  "i"   10    1   1     1      1     10      1      1   100 "iron ore"
+  6  "d"  200    1   5     1      1     10      1      1   100 "dust (gold)"
+  7  "b" 2500    1  50     1      1      5      1      4   200 "bars of gold"
+  8  "f"    0    1   1     1      1     10      1      1     2 "food"
+  9  "o"   50    1   1     1      1     10      1      1    50 "oil"
+ 10  "l"   20    1   1     1      1     10      1      1   100 "light products"
+ 11  "h"   40    1   1     1      1     10      1      1   100 "heavy products"
+ 12  "u"   50    1   2     1      1      2      1      1     2 "uncompensated workers"
+ 13  "r"   50    1   8     1      1     10      1      1  1000 "radioactive materials"
 /config
 /config
index f4354d797d5f05236a6b3ac6eec9a21f715223b2..71a1cb64a56705ad402b586202d31b1cc0980ad0 100644 (file)
 # econfig key custom_tables.
 
 config sect-chr
 # econfig key custom_tables.
 
 config sect-chr
-uid mnem   prd peff val l_b h_b bwork cost maint name ...
-  0  "."    -1    0   0   0   0     0    0     0 "sea"
-  1  "^"  dust   75   5   0   0   100  100     0 "mountain"
-  2  "s"    -1    0 127   0   0   100    0     0 "sanctuary"
-  3 "\134"  -1    0   0   0   0   100    0     0 "wasteland"
-  4  "-"    -1    0   1   0   0   100    0     0 "wilderness"
+uid mnem   prd peff l_b h_b bwork cost maint name ...
+  0  "."    -1    0   0   0     0    0     0 "sea"
+  1  "^"  dust   75   0   0   100  100     0 "mountain"
+  2  "s"    -1    0   0   0   100    0     0 "sanctuary"
+  3 "\134"  -1    0   0   0   100    0     0 "wasteland"
+  4  "-"    -1    0   0   0   100    0     0 "wilderness"
 # Uncomment one of the following two.  The second one is for big cities.
 # Uncomment one of the following two.  The second one is for big cities.
-  5  "c"    -1    0  30   0   0   100  100     1 "capital"
-# 5  "c"    -1    0  30 100 200   100 1000     1 "city"
-  6  "u"   rad  100  15   0   0   100  100     0 "uranium mine"
-  7  "p"   hap  100   5   0   0   100  100     0 "park"
-  8  "d"   gun  100   7   0   0   100  100     0 "defense plant"
-  9  "i"    sh  100   6   0   0   100  100     0 "shell industry"
- 10  "m"  iron  100   5   0   0   100  100     0 "mine"
- 11  "g"  dust  100   8   0   0   100  100     0 "gold mine"
- 12  "h"    -1    0  12   0   0   100  100     0 "harbor"
- 13  "w"    -1    0   7   0   0   100  100     0 "warehouse"
- 14  "*"    -1    0  12   0   0   100  100     0 "airfield"
- 15  "a"  food  900   2   0   0   100  100     0 "agribusiness"
- 16  "o"   oil  100   5   0   0   100  100     0 "oil field"
- 17  "j"   lcm  100   3   0   0   100  100     0 "light manufacturing"
- 18  "k"   hcm  100   4   0   0   100  100     0 "heavy manufacturing"
- 19  "f"    -1    0  10   0 100   100  500     0 "fortress"
- 20  "t"  tech  100  10   0   0   100  100     0 "technical center"
- 21  "r"   med  100   9   0   0   100  100     0 "research lab"
- 22  "n"    -1    0  10   0   0   100  100     0 "nuclear plant"
- 23  "l"   edu  100   4   0   0   100  100     0 "library/school"
- 24  "+"    -1    0   3   0   0   100  100     0 "highway"
- 25  ")"    -1    0   4   0   0   100  100     0 "radar installation"
- 26  "!"    -1    0  12   0   0   100  100     0 "headquarters"
- 27  "#"    -1    0   3   0   0   100  100     0 "bridge head"
- 28  "="    -1    0   5   0   0   100  100     0 "bridge span"
- 29  "b"  bars  100  10   0   0   100  100     0 "bank"
- 30  "%"   pet 1000   2   0   0   100  100     0 "refinery"
- 31  "e"    -1    0   7   0   0   100  100     0 "enlistment center"
- 32  "~"    -1    0   1   0   0   100  100     0 "plains"
- 33  "@"    -1    0   4   0   0   100  100     0 "bridge tower"
+  5  "c"    -1    0   0   0   100  100     1 "capital"
+# 5  "c"    -1    0 100 200   100 1000     1 "city"
+  6  "u"   rad  100   0   0   100  100     0 "uranium mine"
+  7  "p"   hap  100   0   0   100  100     0 "park"
+  8  "d"   gun  100   0   0   100  100     0 "defense plant"
+  9  "i"    sh  100   0   0   100  100     0 "shell industry"
+ 10  "m"  iron  100   0   0   100  100     0 "mine"
+ 11  "g"  dust  100   0   0   100  100     0 "gold mine"
+ 12  "h"    -1    0   0   0   100  100     0 "harbor"
+ 13  "w"    -1    0   0   0   100  100     0 "warehouse"
+ 14  "*"    -1    0   0   0   100  100     0 "airfield"
+ 15  "a"  food  900   0   0   100  100     0 "agribusiness"
+ 16  "o"   oil  100   0   0   100  100     0 "oil field"
+ 17  "j"   lcm  100   0   0   100  100     0 "light manufacturing"
+ 18  "k"   hcm  100   0   0   100  100     0 "heavy manufacturing"
+ 19  "f"    -1    0   0 100   100  500     0 "fortress"
+ 20  "t"  tech  100   0   0   100  100     0 "technical center"
+ 21  "r"   med  100   0   0   100  100     0 "research lab"
+ 22  "n"    -1    0   0   0   100  100     0 "nuclear plant"
+ 23  "l"   edu  100   0   0   100  100     0 "library/school"
+ 24  "+"    -1    0   0   0   100  100     0 "highway"
+ 25  ")"    -1    0   0   0   100  100     0 "radar installation"
+ 26  "!"    -1    0   0   0   100  100     0 "headquarters"
+ 27  "#"    -1    0   0   0   100  100     0 "bridge head"
+ 28  "="    -1    0   0   0   100  100     0 "bridge span"
+ 29  "b"  bars  100   0   0   100  100     0 "bank"
+ 30  "%"   pet 1000   0   0   100  100     0 "refinery"
+ 31  "e"    -1    0   0   0   100  100     0 "enlistment center"
+ 32  "~"    -1    0   0   0   100  100     0 "plains"
+ 33  "@"    -1    0   0   0   100  100     0 "bridge tower"
 # Deity-defined sector types go here
 /config
 
 # Deity-defined sector types go here
 /config
 
index da86bd34a5e73edd5ec51874aef53c55e0c5669b..8fc33ad70f90fb95610dc58e0546b4abcfe46271 100644 (file)
@@ -487,13 +487,13 @@ show_item(int tlev)
 {
     struct ichrstr *ip;
 
 {
     struct ichrstr *ip;
 
-    pr("item power value sell lbs    packing     melt  item\n");
-    pr("mnem                      in no wh ur bk deno  name\n");
+    pr("item power sell lbs    packing     melt  item\n");
+    pr("mnem                in no wh ur bk deno  name\n");
 
     for (ip = ichr; ip->i_name; ip++) {
 
     for (ip = ichr; ip->i_name; ip++) {
-       pr("  %c  %5d %5d %4s %3d %2d %2d %2d %2d %2d %4d  %s\n",
+       pr("  %c  %5d %4s %3d %2d %2d %2d %2d %2d %4d  %s\n",
           ip->i_mnem, ip->i_power,
           ip->i_mnem, ip->i_power,
-          ip->i_value, ip->i_sell ? "yes" : "no",
+          ip->i_sell ? "yes" : "no",
           ip->i_lbs,
           ip->i_pkg[IPKG], ip->i_pkg[NPKG], ip->i_pkg[WPKG],
           ip->i_pkg[UPKG], ip->i_pkg[BPKG],
           ip->i_lbs,
           ip->i_pkg[IPKG], ip->i_pkg[NPKG], ip->i_pkg[WPKG],
           ip->i_pkg[UPKG], ip->i_pkg[BPKG],
index 8544c3c6df3dbcbdd632ab4554b31c4c8fce3951..2800f48e0bdab69792d3b433ed5cb75b1f352f51 100644 (file)
@@ -1,13 +1,13 @@
 tests/empdump/xundump-errors/colhdr-amb:2: ambiguous header 'm' in field 3
 tests/empdump/xundump-errors/colhdr-dup:2: duplicate header 'name' in field 2
 tests/empdump/xundump-errors/colhdr-dup2:6: duplicate header 'name' in field 3
 tests/empdump/xundump-errors/colhdr-amb:2: ambiguous header 'm' in field 3
 tests/empdump/xundump-errors/colhdr-dup:2: duplicate header 'name' in field 2
 tests/empdump/xundump-errors/colhdr-dup2:6: duplicate header 'name' in field 3
-tests/empdump/xundump-errors/colhdr-dup3:2: expected header 'pkg(1)' in field 8
+tests/empdump/xundump-errors/colhdr-dup3:2: expected header 'pkg(1)' in field 7
 tests/empdump/xundump-errors/colhdr-ellipsis:2: header fields expected
 tests/empdump/xundump-errors/colhdr-ellipsis2:2: junk after ...
 tests/empdump/xundump-errors/colhdr-eof:2: unexpected EOF
 tests/empdump/xundump-errors/colhdr-ellipsis:2: header fields expected
 tests/empdump/xundump-errors/colhdr-ellipsis2:2: junk after ...
 tests/empdump/xundump-errors/colhdr-eof:2: unexpected EOF
-tests/empdump/xundump-errors/colhdr-idxbig:2: unexpected header 'pkg(99)' in field 12
-tests/empdump/xundump-errors/colhdr-idxneg:2: index must not be negative in header field 7
-tests/empdump/xundump-errors/colhdr-idxreq:2: header 'pkg' requires an index in field 7
+tests/empdump/xundump-errors/colhdr-idxbig:2: unexpected header 'pkg(99)' in field 11
+tests/empdump/xundump-errors/colhdr-idxneg:2: index must not be negative in header field 6
+tests/empdump/xundump-errors/colhdr-idxreq:2: header 'pkg' requires an index in field 6
 tests/empdump/xundump-errors/colhdr-junk:2: junk in header field 1
 tests/empdump/xundump-errors/colhdr-junk2:2: junk in header field 1
 tests/empdump/xundump-errors/colhdr-junk3:2: junk in header field 1
 tests/empdump/xundump-errors/colhdr-junk:2: junk in header field 1
 tests/empdump/xundump-errors/colhdr-junk2:2: junk in header field 1
 tests/empdump/xundump-errors/colhdr-junk3:2: junk in header field 1
@@ -31,7 +31,7 @@ tests/empdump/xundump-errors/colhdr-miss2:21: header 'nllag' missing
 tests/empdump/xundump-errors/colhdr-noidx:2: header 'name' doesn't take an index in field 1
 tests/empdump/xundump-errors/colhdr-sep:2: bad field separator after field 1
 tests/empdump/xundump-errors/colhdr-symidx:2: symbolic index in header field 1 not yet implemented
 tests/empdump/xundump-errors/colhdr-noidx:2: header 'name' doesn't take an index in field 1
 tests/empdump/xundump-errors/colhdr-sep:2: bad field separator after field 1
 tests/empdump/xundump-errors/colhdr-symidx:2: symbolic index in header field 1 not yet implemented
-tests/empdump/xundump-errors/colhdr-unexp2:2: expected header 'pkg(0)' in field 7
+tests/empdump/xundump-errors/colhdr-unexp2:2: expected header 'pkg(0)' in field 6
 tests/empdump/xundump-errors/colhdr-unk:2: unknown header 'xxx' in field 1
 tests/empdump/xundump-errors/fld-ambsym:2: ambiguous flags symbol 's' in field 30
 tests/empdump/xundump-errors/fld-badnum:3: field 2 can't hold this value
 tests/empdump/xundump-errors/colhdr-unk:2: unknown header 'xxx' in field 1
 tests/empdump/xundump-errors/fld-ambsym:2: ambiguous flags symbol 's' in field 30
 tests/empdump/xundump-errors/fld-badnum:3: field 2 can't hold this value
@@ -87,7 +87,6 @@ tests/empdump/xundump-errors/fld-many:2: too many fields, expected only 6
 tests/empdump/xundump-errors/fld-miss:2: field 'name' missing
 tests/empdump/xundump-errors/fld-miss:2: field 'mnem' missing
 tests/empdump/xundump-errors/fld-miss:2: field 'power' missing
 tests/empdump/xundump-errors/fld-miss:2: field 'name' missing
 tests/empdump/xundump-errors/fld-miss:2: field 'mnem' missing
 tests/empdump/xundump-errors/fld-miss:2: field 'power' missing
-tests/empdump/xundump-errors/fld-miss:2: field 'value' missing
 tests/empdump/xundump-errors/fld-miss:2: field 'sell' missing
 tests/empdump/xundump-errors/fld-miss:2: field 'lbs' missing
 tests/empdump/xundump-errors/fld-miss:2: field 'pkg(0)' missing
 tests/empdump/xundump-errors/fld-miss:2: field 'sell' missing
 tests/empdump/xundump-errors/fld-miss:2: field 'lbs' missing
 tests/empdump/xundump-errors/fld-miss:2: field 'pkg(0)' missing
index 7c0fd9c9757155397a60df7afa0f33f97f4afaea..1d043c86243f7e0db66e2f214ee3cbbf523e777c 100644 (file)
@@ -1,4 +1,4 @@
 config item
 config item
-uid name mnem value sell lbs pkg(0) pkg(0)
-# expected header 'pkg(1)' in field 8
+uid name mnem sell lbs pkg(0) pkg(0)
+# expected header 'pkg(1)' in field 7
 /config
 /config
index de603a9e4c508dd70203ce422be47d6179f7f426..f1ffcef407b782c9380581158b082f3d3e08f5c9 100644 (file)
@@ -1,3 +1,3 @@
 config item
 config item
-uid name mnem value sell lbs pkg(0) pkg(1) pkg(2) pkg(3) pkg(4) pkg(99)
-# unexpected header 'pkg(99)' in field 12
+uid name mnem sell lbs pkg(0) pkg(1) pkg(2) pkg(3) pkg(4) pkg(99)
+# unexpected header 'pkg(99)' in field 11
index 7eb62cc5eebf600380d32563c376fcd0351108c4..9940f505ba4c36b186c8a096f12f043caa941a74 100644 (file)
@@ -1,3 +1,3 @@
 config item
 config item
-uid name mnem value sell lbs pkg(-1)
-# index must not be negative in header field 7
+uid name mnem sell lbs pkg(-1)
+# index must not be negative in header field 6
index 9aa9b09c4b525aad299c8aa41f975139b7ec11f9..53e557ad0164d00c36be88cf7382d2b8c9e24420 100644 (file)
@@ -1,3 +1,3 @@
 config item
 config item
-uid name mnem value sell lbs pkg
-# header 'pkg' requires an index in field 7
+uid name mnem sell lbs pkg
+# header 'pkg' requires an index in field 6
index b90b2b84665e483564f77a507365a4e7e48bf7bc..812052df3409985d9dee974086c3974972a0ae0d 100644 (file)
@@ -1,4 +1,4 @@
 config item
 config item
-uid name mnem value sell lbs pkg(1)
-# expected header 'pkg(0)' in field 7
+uid name mnem sell lbs pkg(1)
+# expected header 'pkg(0)' in field 6
 /config
 /config
index b1bc504aae1cf5899bd84e0545f50cf19451a57c..fe1ff9fe490bad96b5708c57bdff1c6dfe75d541 100644 (file)
@@ -2,7 +2,6 @@ XDUMP item 0
 0
 # field 'name' missing
 # field 'mnem' missing
 0
 # field 'name' missing
 # field 'mnem' missing
-# field 'value' missing
 # field 'sell' missing
 # field 'lbs' missing
 # field 'pkg(0)' missing
 # field 'sell' missing
 # field 'lbs' missing
 # field 'pkg(0)' missing
index 83e07fc05580386c894bb912cc787be42c5a19bb..d64519fff61cf6bffdcdea457ab22f21f38658be 100644 (file)
     Play#0 output Play#0 6 0 640
     Play#0 input show item
     Play#0 command show
     Play#0 output Play#0 6 0 640
     Play#0 input show item
     Play#0 command show
-    Play#0 output Play#0 1 item power value sell lbs    packing     melt  item
-    Play#0 output Play#0 1 mnem                      in no wh ur bk deno  name
-    Play#0 output Play#0 1   c     50     1   no   1  1 10 10 10 10    4  civilians
-    Play#0 output Play#0 1   m    100     0  yes   1  1  1  1  1  1   20  military
-    Play#0 output Play#0 1   s    125     5  yes   1  1  1 10  1  1   80  shells
-    Play#0 output Play#0 1   g    950    60  yes  10  1  1 10  1  1  100  guns
-    Play#0 output Play#0 1   p      7     4  yes   1  1  1 10  1  1   50  petrol
-    Play#0 output Play#0 1   i     10     2  yes   1  1  1 10  1  1  100  iron ore
-    Play#0 output Play#0 1   d    200    20  yes   5  1  1 10  1  1  100  dust (gold)
-    Play#0 output Play#0 1   b   2500   280  yes  50  1  1  5  1  4  200  bars of gold
-    Play#0 output Play#0 1   f      0     0  yes   1  1  1 10  1  1    2  food
-    Play#0 output Play#0 1   o     50     8  yes   1  1  1 10  1  1   50  oil
-    Play#0 output Play#0 1   l     20     2  yes   1  1  1 10  1  1  100  light products
-    Play#0 output Play#0 1   h     40     4  yes   1  1  1 10  1  1  100  heavy products
-    Play#0 output Play#0 1   u     50     1  yes   2  1  1  2  1  1    2  uncompensated workers
-    Play#0 output Play#0 1   r     50   150  yes   8  1  1 10  1  1 1000  radioactive materials
+    Play#0 output Play#0 1 item power sell lbs    packing     melt  item
+    Play#0 output Play#0 1 mnem                in no wh ur bk deno  name
+    Play#0 output Play#0 1   c     50   no   1  1 10 10 10 10    4  civilians
+    Play#0 output Play#0 1   m    100  yes   1  1  1  1  1  1   20  military
+    Play#0 output Play#0 1   s    125  yes   1  1  1 10  1  1   80  shells
+    Play#0 output Play#0 1   g    950  yes  10  1  1 10  1  1  100  guns
+    Play#0 output Play#0 1   p      7  yes   1  1  1 10  1  1   50  petrol
+    Play#0 output Play#0 1   i     10  yes   1  1  1 10  1  1  100  iron ore
+    Play#0 output Play#0 1   d    200  yes   5  1  1 10  1  1  100  dust (gold)
+    Play#0 output Play#0 1   b   2500  yes  50  1  1  5  1  4  200  bars of gold
+    Play#0 output Play#0 1   f      0  yes   1  1  1 10  1  1    2  food
+    Play#0 output Play#0 1   o     50  yes   1  1  1 10  1  1   50  oil
+    Play#0 output Play#0 1   l     20  yes   1  1  1 10  1  1  100  light products
+    Play#0 output Play#0 1   h     40  yes   1  1  1 10  1  1  100  heavy products
+    Play#0 output Play#0 1   u     50  yes   2  1  1  2  1  1    2  uncompensated workers
+    Play#0 output Play#0 1   r     50  yes   8  1  1 10  1  1 1000  radioactive materials
     Play#0 output Play#0 6 0 640
     Play#0 input show updates
     Play#0 command show
     Play#0 output Play#0 6 0 640
     Play#0 input show updates
     Play#0 command show
     Play#0 output Play#0 1 "name" 3 0 0 -1
     Play#0 output Play#0 1 "mnem" 13 0 1 -1
     Play#0 output Play#0 1 "power" 8 0 0 -1
     Play#0 output Play#0 1 "name" 3 0 0 -1
     Play#0 output Play#0 1 "mnem" 13 0 1 -1
     Play#0 output Play#0 1 "power" 8 0 0 -1
-    Play#0 output Play#0 1 "value" 8 0 0 -1
     Play#0 output Play#0 1 "sell" 8 0 0 -1
     Play#0 output Play#0 1 "lbs" 8 0 0 -1
     Play#0 output Play#0 1 "pkg" 8 0 5 -1
     Play#0 output Play#0 1 "melt_denom" 8 0 0 -1
     Play#0 output Play#0 1 "sell" 8 0 0 -1
     Play#0 output Play#0 1 "lbs" 8 0 0 -1
     Play#0 output Play#0 1 "pkg" 8 0 5 -1
     Play#0 output Play#0 1 "melt_denom" 8 0 0 -1
-    Play#0 output Play#0 1 /9
+    Play#0 output Play#0 1 /8
     Play#0 output Play#0 6 0 640
     Play#0 input xdump meta 17
     Play#0 command xdump
     Play#0 output Play#0 6 0 640
     Play#0 input xdump meta 17
     Play#0 command xdump
     Play#0 output Play#0 1 "pkg" 8 0 0 40
     Play#0 output Play#0 1 "ostr" 12 0 0 -1
     Play#0 output Play#0 1 "dstr" 12 0 0 -1
     Play#0 output Play#0 1 "pkg" 8 0 0 40
     Play#0 output Play#0 1 "ostr" 12 0 0 -1
     Play#0 output Play#0 1 "dstr" 12 0 0 -1
-    Play#0 output Play#0 1 "value" 8 0 0 -1
     Play#0 output Play#0 1 "c_build" 6 0 0 -1
     Play#0 output Play#0 1 "m_build" 6 0 0 -1
     Play#0 output Play#0 1 "s_build" 6 0 0 -1
     Play#0 output Play#0 1 "c_build" 6 0 0 -1
     Play#0 output Play#0 1 "m_build" 6 0 0 -1
     Play#0 output Play#0 1 "s_build" 6 0 0 -1
     Play#0 output Play#0 1 "maint" 8 0 0 -1
     Play#0 output Play#0 1 "maxpop" 8 0 0 -1
     Play#0 output Play#0 1 "flags" 8 8 0 48
     Play#0 output Play#0 1 "maint" 8 0 0 -1
     Play#0 output Play#0 1 "maxpop" 8 0 0 -1
     Play#0 output Play#0 1 "flags" 8 8 0 48
-    Play#0 output Play#0 1 /32
+    Play#0 output Play#0 1 /31
     Play#0 output Play#0 6 0 640
     Play#0 input xdump meta 19
     Play#0 command xdump
     Play#0 output Play#0 6 0 640
     Play#0 input xdump meta 19
     Play#0 command xdump
     Play#0 input xdump item *
     Play#0 command xdump
     Play#0 output Play#0 1 XDUMP item 0
     Play#0 input xdump item *
     Play#0 command xdump
     Play#0 output Play#0 1 XDUMP item 0
-    Play#0 output Play#0 1 0 "civilians" "c" 50 0 1 1 10 10 10 10 4
-    Play#0 output Play#0 1 1 "military" "m" 100 1 1 1 1 1 1 1 20
-    Play#0 output Play#0 1 2 "shells" "s" 125 1 1 1 1 10 1 1 80
-    Play#0 output Play#0 1 3 "guns" "g" 950 60 1 10 1 1 10 1 1 100
-    Play#0 output Play#0 1 4 "petrol" "p" 7 1 1 1 1 10 1 1 50
-    Play#0 output Play#0 1 5 "iron\\040ore" "i" 10 1 1 1 1 10 1 1 100
-    Play#0 output Play#0 1 6 "dust\\040(gold)" "d" 200 20 1 5 1 1 10 1 1 100
-    Play#0 output Play#0 1 7 "bars\\040of\\040gold" "b" 2500 280 1 50 1 1 5 1 4 200
-    Play#0 output Play#0 1 8 "food" "f" 0 1 1 1 1 10 1 1 2
-    Play#0 output Play#0 1 9 "oil" "o" 50 1 1 1 1 10 1 1 50
-    Play#0 output Play#0 1 10 "light\\040products" "l" 20 1 1 1 1 10 1 1 100
-    Play#0 output Play#0 1 11 "heavy\\040products" "h" 40 1 1 1 1 10 1 1 100
-    Play#0 output Play#0 1 12 "uncompensated\\040workers" "u" 50 1 2 1 1 2 1 1 2
-    Play#0 output Play#0 1 13 "radioactive\\040materials" "r" 50 150 1 8 1 1 10 1 1 1000
+    Play#0 output Play#0 1 0 "civilians" "c" 50 0 1 1 10 10 10 10 4
+    Play#0 output Play#0 1 1 "military" "m" 100 1 1 1 1 1 1 1 20
+    Play#0 output Play#0 1 2 "shells" "s" 125 1 1 1 1 10 1 1 80
+    Play#0 output Play#0 1 3 "guns" "g" 950 1 10 1 1 10 1 1 100
+    Play#0 output Play#0 1 4 "petrol" "p" 7 1 1 1 1 10 1 1 50
+    Play#0 output Play#0 1 5 "iron\\040ore" "i" 10 1 1 1 1 10 1 1 100
+    Play#0 output Play#0 1 6 "dust\\040(gold)" "d" 200 1 5 1 1 10 1 1 100
+    Play#0 output Play#0 1 7 "bars\\040of\\040gold" "b" 2500 1 50 1 1 5 1 4 200
+    Play#0 output Play#0 1 8 "food" "f" 0 1 1 1 1 10 1 1 2
+    Play#0 output Play#0 1 9 "oil" "o" 50 1 1 1 1 10 1 1 50
+    Play#0 output Play#0 1 10 "light\\040products" "l" 20 1 1 1 1 10 1 1 100
+    Play#0 output Play#0 1 11 "heavy\\040products" "h" 40 1 1 1 1 10 1 1 100
+    Play#0 output Play#0 1 12 "uncompensated\\040workers" "u" 50 1 2 1 1 2 1 1 2
+    Play#0 output Play#0 1 13 "radioactive\\040materials" "r" 50 1 8 1 1 10 1 1 1000
     Play#0 output Play#0 1 /14
     Play#0 output Play#0 6 0 640
     Play#0 input xdump product *
     Play#0 output Play#0 1 /14
     Play#0 output Play#0 6 0 640
     Play#0 input xdump product *
     Play#0 input xdump sect-chr *
     Play#0 command xdump
     Play#0 output Play#0 1 XDUMP sect-chr 0
     Play#0 input xdump sect-chr *
     Play#0 command xdump
     Play#0 output Play#0 1 XDUMP sect-chr 0
-    Play#0 output Play#0 1 0 "sea" "." 0 -1 0 -1.00000 -1.00000 1 1 0.00000 0.00000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
-    Play#0 output Play#0 1 1 "mountain" "^" 1 1 75 2.40000 1.20000 0 1 1.00000 4.00000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 100 1
-    Play#0 output Play#0 1 2 "sanctuary" "s" 4 -1 0 -1.00000 -1.00000 0 1 0.00000 99.0000 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 0 1000 1
-    Play#0 output Play#0 1 3 "wasteland" "\\134" 3 -1 0 -1.00000 -1.00000 0 1 0.00000 99.0000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 0 0 1
-    Play#0 output Play#0 1 4 "wilderness" "-" 4 -1 0 0.400000 0.400000 0 1 1.00000 2.00000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 0 1000 0
-    Play#0 output Play#0 1 5 "capital" "c" 4 -1 0 0.400000 0.200000 0 1 1.00000 2.00000 30 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 1 1000 0
-    Play#0 output Play#0 1 6 "uranium\\040mine" "u" 4 4 100 0.400000 0.200000 0 1 1.00000 2.00000 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
-    Play#0 output Play#0 1 7 "park" "p" 4 14 100 0.400000 0.200000 0 1 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
-    Play#0 output Play#0 1 8 "defense\\040plant" "d" 4 6 100 0.400000 0.200000 0 1 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
-    Play#0 output Play#0 1 9 "shell\\040industry" "i" 4 5 100 0.400000 0.200000 0 1 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
-    Play#0 output Play#0 1 10 "mine" "m" 4 0 100 0.400000 0.200000 0 1 1.00000 2.00000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
-    Play#0 output Play#0 1 11 "gold\\040mine" "g" 4 1 100 0.400000 0.200000 0 1 1.00000 2.00000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
-    Play#0 output Play#0 1 12 "harbor" "h" 4 -1 0 0.400000 0.200000 2 2 1.00000 1.50000 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
-    Play#0 output Play#0 1 13 "warehouse" "w" 4 -1 0 0.400000 0.200000 0 2 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
-    Play#0 output Play#0 1 14 "airfield" "*" 4 -1 0 0.400000 0.200000 0 1 1.00000 1.25000 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
-    Play#0 output Play#0 1 15 "agribusiness" "a" 4 2 900 0.400000 0.200000 0 1 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
-    Play#0 output Play#0 1 16 "oil\\040field" "o" 4 3 100 0.400000 0.200000 0 1 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
-    Play#0 output Play#0 1 17 "light\\040manufacturing" "j" 4 9 100 0.400000 0.200000 0 1 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
-    Play#0 output Play#0 1 18 "heavy\\040manufacturing" "k" 4 10 100 0.400000 0.200000 0 1 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
-    Play#0 output Play#0 1 19 "fortress" "f" 4 -1 0 0.400000 0.200000 0 1 2.00000 4.00000 10 0 0 0 0 0 0 0 0 0 0 0 100 0 0 100 500 0 1000 0
-    Play#0 output Play#0 1 20 "technical\\040center" "t" 4 11 100 0.400000 0.200000 0 1 1.00000 1.50000 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
-    Play#0 output Play#0 1 21 "research\\040lab" "r" 4 12 100 0.400000 0.200000 0 1 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
-    Play#0 output Play#0 1 22 "nuclear\\040plant" "n" 4 -1 0 0.400000 0.200000 0 1 1.00000 2.00000 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
-    Play#0 output Play#0 1 23 "library/school" "l" 4 13 100 0.400000 0.200000 0 1 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
-    Play#0 output Play#0 1 24 "highway" "+" 4 -1 0 0.400000 0.00000 0 1 1.00000 1.00000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
-    Play#0 output Play#0 1 25 "radar\\040installation" ")" 4 -1 0 0.400000 0.200000 0 1 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
-    Play#0 output Play#0 1 26 "headquarters" "!" 4 -1 0 0.400000 0.200000 0 1 1.00000 1.50000 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
-    Play#0 output Play#0 1 27 "bridge\\040head" "#" 4 -1 0 0.400000 0.00000 0 1 1.00000 1.00000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
-    Play#0 output Play#0 1 28 "bridge\\040span" "=" 0 -1 0 0.400000 0.00000 4 1 1.00000 1.00000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 100 1
-    Play#0 output Play#0 1 29 "bank" "b" 4 8 100 0.400000 0.200000 0 4 1.00000 2.25000 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
-    Play#0 output Play#0 1 30 "refinery" "%" 4 7 1000 0.400000 0.200000 0 1 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
-    Play#0 output Play#0 1 31 "enlistment\\040center" "e" 4 -1 0 0.400000 0.200000 0 1 1.00000 2.00000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
-    Play#0 output Play#0 1 32 "plains" "~" 32 -1 0 0.400000 0.200000 0 1 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 100 1
-    Play#0 output Play#0 1 33 "bridge\\040tower" "@" 0 -1 0 0.400000 0.00000 0 1 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 100 1
+    Play#0 output Play#0 1 0 "sea" "." 0 -1 0 -1.00000 -1.00000 1 1 0.00000 0.00000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
+    Play#0 output Play#0 1 1 "mountain" "^" 1 1 75 2.40000 1.20000 0 1 1.00000 4.00000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 100 1
+    Play#0 output Play#0 1 2 "sanctuary" "s" 4 -1 0 -1.00000 -1.00000 0 1 0.00000 99.0000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 0 1000 1
+    Play#0 output Play#0 1 3 "wasteland" "\\134" 3 -1 0 -1.00000 -1.00000 0 1 0.00000 99.0000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 0 0 1
+    Play#0 output Play#0 1 4 "wilderness" "-" 4 -1 0 0.400000 0.400000 0 1 1.00000 2.00000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 0 1000 0
+    Play#0 output Play#0 1 5 "capital" "c" 4 -1 0 0.400000 0.200000 0 1 1.00000 2.00000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 1 1000 0
+    Play#0 output Play#0 1 6 "uranium\\040mine" "u" 4 4 100 0.400000 0.200000 0 1 1.00000 2.00000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
+    Play#0 output Play#0 1 7 "park" "p" 4 14 100 0.400000 0.200000 0 1 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
+    Play#0 output Play#0 1 8 "defense\\040plant" "d" 4 6 100 0.400000 0.200000 0 1 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
+    Play#0 output Play#0 1 9 "shell\\040industry" "i" 4 5 100 0.400000 0.200000 0 1 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
+    Play#0 output Play#0 1 10 "mine" "m" 4 0 100 0.400000 0.200000 0 1 1.00000 2.00000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
+    Play#0 output Play#0 1 11 "gold\\040mine" "g" 4 1 100 0.400000 0.200000 0 1 1.00000 2.00000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
+    Play#0 output Play#0 1 12 "harbor" "h" 4 -1 0 0.400000 0.200000 2 2 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
+    Play#0 output Play#0 1 13 "warehouse" "w" 4 -1 0 0.400000 0.200000 0 2 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
+    Play#0 output Play#0 1 14 "airfield" "*" 4 -1 0 0.400000 0.200000 0 1 1.00000 1.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
+    Play#0 output Play#0 1 15 "agribusiness" "a" 4 2 900 0.400000 0.200000 0 1 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
+    Play#0 output Play#0 1 16 "oil\\040field" "o" 4 3 100 0.400000 0.200000 0 1 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
+    Play#0 output Play#0 1 17 "light\\040manufacturing" "j" 4 9 100 0.400000 0.200000 0 1 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
+    Play#0 output Play#0 1 18 "heavy\\040manufacturing" "k" 4 10 100 0.400000 0.200000 0 1 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
+    Play#0 output Play#0 1 19 "fortress" "f" 4 -1 0 0.400000 0.200000 0 1 2.00000 4.00000 0 0 0 0 0 0 0 0 0 0 0 100 0 0 100 500 0 1000 0
+    Play#0 output Play#0 1 20 "technical\\040center" "t" 4 11 100 0.400000 0.200000 0 1 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
+    Play#0 output Play#0 1 21 "research\\040lab" "r" 4 12 100 0.400000 0.200000 0 1 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
+    Play#0 output Play#0 1 22 "nuclear\\040plant" "n" 4 -1 0 0.400000 0.200000 0 1 1.00000 2.00000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
+    Play#0 output Play#0 1 23 "library/school" "l" 4 13 100 0.400000 0.200000 0 1 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
+    Play#0 output Play#0 1 24 "highway" "+" 4 -1 0 0.400000 0.00000 0 1 1.00000 1.00000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
+    Play#0 output Play#0 1 25 "radar\\040installation" ")" 4 -1 0 0.400000 0.200000 0 1 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
+    Play#0 output Play#0 1 26 "headquarters" "!" 4 -1 0 0.400000 0.200000 0 1 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
+    Play#0 output Play#0 1 27 "bridge\\040head" "#" 4 -1 0 0.400000 0.00000 0 1 1.00000 1.00000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
+    Play#0 output Play#0 1 28 "bridge\\040span" "=" 0 -1 0 0.400000 0.00000 4 1 1.00000 1.00000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 100 1
+    Play#0 output Play#0 1 29 "bank" "b" 4 8 100 0.400000 0.200000 0 4 1.00000 2.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
+    Play#0 output Play#0 1 30 "refinery" "%" 4 7 1000 0.400000 0.200000 0 1 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
+    Play#0 output Play#0 1 31 "enlistment\\040center" "e" 4 -1 0 0.400000 0.200000 0 1 1.00000 2.00000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
+    Play#0 output Play#0 1 32 "plains" "~" 32 -1 0 0.400000 0.200000 0 1 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 100 1
+    Play#0 output Play#0 1 33 "bridge\\040tower" "@" 0 -1 0 0.400000 0.00000 0 1 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 100 1
     Play#0 output Play#0 1 /34
     Play#0 output Play#0 6 0 640
     Play#0 input xdump ship-chr *
     Play#0 output Play#0 1 /34
     Play#0 output Play#0 6 0 640
     Play#0 input xdump ship-chr *
     Play#1 input xdump item *
     Play#1 command xdump
     Play#1 output Play#1 1 XDUMP item 0
     Play#1 input xdump item *
     Play#1 command xdump
     Play#1 output Play#1 1 XDUMP item 0
-    Play#1 output Play#1 1 0 "civilians" "c" 50 0 1 1 10 10 10 10 4
-    Play#1 output Play#1 1 1 "military" "m" 100 1 1 1 1 1 1 1 20
-    Play#1 output Play#1 1 2 "shells" "s" 125 1 1 1 1 10 1 1 80
-    Play#1 output Play#1 1 3 "guns" "g" 950 60 1 10 1 1 10 1 1 100
-    Play#1 output Play#1 1 4 "petrol" "p" 7 1 1 1 1 10 1 1 50
-    Play#1 output Play#1 1 5 "iron\\040ore" "i" 10 1 1 1 1 10 1 1 100
-    Play#1 output Play#1 1 6 "dust\\040(gold)" "d" 200 20 1 5 1 1 10 1 1 100
-    Play#1 output Play#1 1 7 "bars\\040of\\040gold" "b" 2500 280 1 50 1 1 5 1 4 200
-    Play#1 output Play#1 1 8 "food" "f" 0 1 1 1 1 10 1 1 2
-    Play#1 output Play#1 1 9 "oil" "o" 50 1 1 1 1 10 1 1 50
-    Play#1 output Play#1 1 10 "light\\040products" "l" 20 1 1 1 1 10 1 1 100
-    Play#1 output Play#1 1 11 "heavy\\040products" "h" 40 1 1 1 1 10 1 1 100
-    Play#1 output Play#1 1 12 "uncompensated\\040workers" "u" 50 1 2 1 1 2 1 1 2
-    Play#1 output Play#1 1 13 "radioactive\\040materials" "r" 50 150 1 8 1 1 10 1 1 1000
+    Play#1 output Play#1 1 0 "civilians" "c" 50 0 1 1 10 10 10 10 4
+    Play#1 output Play#1 1 1 "military" "m" 100 1 1 1 1 1 1 1 20
+    Play#1 output Play#1 1 2 "shells" "s" 125 1 1 1 1 10 1 1 80
+    Play#1 output Play#1 1 3 "guns" "g" 950 1 10 1 1 10 1 1 100
+    Play#1 output Play#1 1 4 "petrol" "p" 7 1 1 1 1 10 1 1 50
+    Play#1 output Play#1 1 5 "iron\\040ore" "i" 10 1 1 1 1 10 1 1 100
+    Play#1 output Play#1 1 6 "dust\\040(gold)" "d" 200 1 5 1 1 10 1 1 100
+    Play#1 output Play#1 1 7 "bars\\040of\\040gold" "b" 2500 1 50 1 1 5 1 4 200
+    Play#1 output Play#1 1 8 "food" "f" 0 1 1 1 1 10 1 1 2
+    Play#1 output Play#1 1 9 "oil" "o" 50 1 1 1 1 10 1 1 50
+    Play#1 output Play#1 1 10 "light\\040products" "l" 20 1 1 1 1 10 1 1 100
+    Play#1 output Play#1 1 11 "heavy\\040products" "h" 40 1 1 1 1 10 1 1 100
+    Play#1 output Play#1 1 12 "uncompensated\\040workers" "u" 50 1 2 1 1 2 1 1 2
+    Play#1 output Play#1 1 13 "radioactive\\040materials" "r" 50 1 8 1 1 10 1 1 1000
     Play#1 output Play#1 1 /14
     Play#1 output Play#1 6 0 0
     Play#1 input xdump product *
     Play#1 output Play#1 1 /14
     Play#1 output Play#1 6 0 0
     Play#1 input xdump product *
     Play#1 input xdump sect-chr *
     Play#1 command xdump
     Play#1 output Play#1 1 XDUMP sect-chr 0
     Play#1 input xdump sect-chr *
     Play#1 command xdump
     Play#1 output Play#1 1 XDUMP sect-chr 0
-    Play#1 output Play#1 1 0 "sea" "." 0 -1 0 -1.00000 -1.00000 1 1 0.00000 0.00000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
-    Play#1 output Play#1 1 1 "mountain" "^" 1 1 75 2.40000 1.20000 0 1 1.00000 4.00000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 100 1
-    Play#1 output Play#1 1 2 "sanctuary" "s" 4 -1 0 -1.00000 -1.00000 0 1 0.00000 99.0000 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 0 1000 1
-    Play#1 output Play#1 1 3 "wasteland" "\\134" 3 -1 0 -1.00000 -1.00000 0 1 0.00000 99.0000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 0 0 1
-    Play#1 output Play#1 1 4 "wilderness" "-" 4 -1 0 0.400000 0.400000 0 1 1.00000 2.00000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 0 1000 0
-    Play#1 output Play#1 1 5 "capital" "c" 4 -1 0 0.400000 0.200000 0 1 1.00000 2.00000 30 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 1 1000 0
-    Play#1 output Play#1 1 6 "uranium\\040mine" "u" 4 4 100 0.400000 0.200000 0 1 1.00000 2.00000 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
-    Play#1 output Play#1 1 7 "park" "p" 4 14 100 0.400000 0.200000 0 1 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
-    Play#1 output Play#1 1 8 "defense\\040plant" "d" 4 6 100 0.400000 0.200000 0 1 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
-    Play#1 output Play#1 1 9 "shell\\040industry" "i" 4 5 100 0.400000 0.200000 0 1 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
-    Play#1 output Play#1 1 10 "mine" "m" 4 0 100 0.400000 0.200000 0 1 1.00000 2.00000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
-    Play#1 output Play#1 1 11 "gold\\040mine" "g" 4 1 100 0.400000 0.200000 0 1 1.00000 2.00000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
-    Play#1 output Play#1 1 12 "harbor" "h" 4 -1 0 0.400000 0.200000 2 2 1.00000 1.50000 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
-    Play#1 output Play#1 1 13 "warehouse" "w" 4 -1 0 0.400000 0.200000 0 2 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
-    Play#1 output Play#1 1 14 "airfield" "*" 4 -1 0 0.400000 0.200000 0 1 1.00000 1.25000 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
-    Play#1 output Play#1 1 15 "agribusiness" "a" 4 2 900 0.400000 0.200000 0 1 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
-    Play#1 output Play#1 1 16 "oil\\040field" "o" 4 3 100 0.400000 0.200000 0 1 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
-    Play#1 output Play#1 1 17 "light\\040manufacturing" "j" 4 9 100 0.400000 0.200000 0 1 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
-    Play#1 output Play#1 1 18 "heavy\\040manufacturing" "k" 4 10 100 0.400000 0.200000 0 1 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
-    Play#1 output Play#1 1 19 "fortress" "f" 4 -1 0 0.400000 0.200000 0 1 2.00000 4.00000 10 0 0 0 0 0 0 0 0 0 0 0 100 0 0 100 500 0 1000 0
-    Play#1 output Play#1 1 20 "technical\\040center" "t" 4 11 100 0.400000 0.200000 0 1 1.00000 1.50000 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
-    Play#1 output Play#1 1 21 "research\\040lab" "r" 4 12 100 0.400000 0.200000 0 1 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
-    Play#1 output Play#1 1 22 "nuclear\\040plant" "n" 4 -1 0 0.400000 0.200000 0 1 1.00000 2.00000 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
-    Play#1 output Play#1 1 23 "library/school" "l" 4 13 100 0.400000 0.200000 0 1 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
-    Play#1 output Play#1 1 24 "highway" "+" 4 -1 0 0.400000 0.00000 0 1 1.00000 1.00000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
-    Play#1 output Play#1 1 25 "radar\\040installation" ")" 4 -1 0 0.400000 0.200000 0 1 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
-    Play#1 output Play#1 1 26 "headquarters" "!" 4 -1 0 0.400000 0.200000 0 1 1.00000 1.50000 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
-    Play#1 output Play#1 1 27 "bridge\\040head" "#" 4 -1 0 0.400000 0.00000 0 1 1.00000 1.00000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
-    Play#1 output Play#1 1 28 "bridge\\040span" "=" 0 -1 0 0.400000 0.00000 4 1 1.00000 1.00000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 100 1
-    Play#1 output Play#1 1 29 "bank" "b" 4 8 100 0.400000 0.200000 0 4 1.00000 2.25000 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
-    Play#1 output Play#1 1 30 "refinery" "%" 4 7 1000 0.400000 0.200000 0 1 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
-    Play#1 output Play#1 1 31 "enlistment\\040center" "e" 4 -1 0 0.400000 0.200000 0 1 1.00000 2.00000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
-    Play#1 output Play#1 1 32 "plains" "~" 32 -1 0 0.400000 0.200000 0 1 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 100 1
-    Play#1 output Play#1 1 33 "bridge\\040tower" "@" 0 -1 0 0.400000 0.00000 0 1 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 100 1
+    Play#1 output Play#1 1 0 "sea" "." 0 -1 0 -1.00000 -1.00000 1 1 0.00000 0.00000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
+    Play#1 output Play#1 1 1 "mountain" "^" 1 1 75 2.40000 1.20000 0 1 1.00000 4.00000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 100 1
+    Play#1 output Play#1 1 2 "sanctuary" "s" 4 -1 0 -1.00000 -1.00000 0 1 0.00000 99.0000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 0 1000 1
+    Play#1 output Play#1 1 3 "wasteland" "\\134" 3 -1 0 -1.00000 -1.00000 0 1 0.00000 99.0000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 0 0 1
+    Play#1 output Play#1 1 4 "wilderness" "-" 4 -1 0 0.400000 0.400000 0 1 1.00000 2.00000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 0 1000 0
+    Play#1 output Play#1 1 5 "capital" "c" 4 -1 0 0.400000 0.200000 0 1 1.00000 2.00000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 1 1000 0
+    Play#1 output Play#1 1 6 "uranium\\040mine" "u" 4 4 100 0.400000 0.200000 0 1 1.00000 2.00000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
+    Play#1 output Play#1 1 7 "park" "p" 4 14 100 0.400000 0.200000 0 1 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
+    Play#1 output Play#1 1 8 "defense\\040plant" "d" 4 6 100 0.400000 0.200000 0 1 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
+    Play#1 output Play#1 1 9 "shell\\040industry" "i" 4 5 100 0.400000 0.200000 0 1 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
+    Play#1 output Play#1 1 10 "mine" "m" 4 0 100 0.400000 0.200000 0 1 1.00000 2.00000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
+    Play#1 output Play#1 1 11 "gold\\040mine" "g" 4 1 100 0.400000 0.200000 0 1 1.00000 2.00000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
+    Play#1 output Play#1 1 12 "harbor" "h" 4 -1 0 0.400000 0.200000 2 2 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
+    Play#1 output Play#1 1 13 "warehouse" "w" 4 -1 0 0.400000 0.200000 0 2 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
+    Play#1 output Play#1 1 14 "airfield" "*" 4 -1 0 0.400000 0.200000 0 1 1.00000 1.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
+    Play#1 output Play#1 1 15 "agribusiness" "a" 4 2 900 0.400000 0.200000 0 1 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
+    Play#1 output Play#1 1 16 "oil\\040field" "o" 4 3 100 0.400000 0.200000 0 1 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
+    Play#1 output Play#1 1 17 "light\\040manufacturing" "j" 4 9 100 0.400000 0.200000 0 1 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
+    Play#1 output Play#1 1 18 "heavy\\040manufacturing" "k" 4 10 100 0.400000 0.200000 0 1 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
+    Play#1 output Play#1 1 19 "fortress" "f" 4 -1 0 0.400000 0.200000 0 1 2.00000 4.00000 0 0 0 0 0 0 0 0 0 0 0 100 0 0 100 500 0 1000 0
+    Play#1 output Play#1 1 20 "technical\\040center" "t" 4 11 100 0.400000 0.200000 0 1 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
+    Play#1 output Play#1 1 21 "research\\040lab" "r" 4 12 100 0.400000 0.200000 0 1 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
+    Play#1 output Play#1 1 22 "nuclear\\040plant" "n" 4 -1 0 0.400000 0.200000 0 1 1.00000 2.00000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
+    Play#1 output Play#1 1 23 "library/school" "l" 4 13 100 0.400000 0.200000 0 1 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
+    Play#1 output Play#1 1 24 "highway" "+" 4 -1 0 0.400000 0.00000 0 1 1.00000 1.00000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
+    Play#1 output Play#1 1 25 "radar\\040installation" ")" 4 -1 0 0.400000 0.200000 0 1 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
+    Play#1 output Play#1 1 26 "headquarters" "!" 4 -1 0 0.400000 0.200000 0 1 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
+    Play#1 output Play#1 1 27 "bridge\\040head" "#" 4 -1 0 0.400000 0.00000 0 1 1.00000 1.00000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
+    Play#1 output Play#1 1 28 "bridge\\040span" "=" 0 -1 0 0.400000 0.00000 4 1 1.00000 1.00000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 100 1
+    Play#1 output Play#1 1 29 "bank" "b" 4 8 100 0.400000 0.200000 0 4 1.00000 2.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
+    Play#1 output Play#1 1 30 "refinery" "%" 4 7 1000 0.400000 0.200000 0 1 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
+    Play#1 output Play#1 1 31 "enlistment\\040center" "e" 4 -1 0 0.400000 0.200000 0 1 1.00000 2.00000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0
+    Play#1 output Play#1 1 32 "plains" "~" 32 -1 0 0.400000 0.200000 0 1 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 100 1
+    Play#1 output Play#1 1 33 "bridge\\040tower" "@" 0 -1 0 0.400000 0.00000 0 1 1.00000 1.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 100 1
     Play#1 output Play#1 1 /34
     Play#1 output Play#1 6 0 0
     Play#1 input xdump ship-chr *
     Play#1 output Play#1 1 /34
     Play#1 output Play#1 6 0 0
     Play#1 input xdump ship-chr *