]> git.pond.sub.org Git - empserver/commitdiff
config: Define sector build cost per 100% instead of 1%
authorMarkus Armbruster <armbru@pond.sub.org>
Sun, 5 Jun 2016 18:00:27 +0000 (20:00 +0200)
committerMarkus Armbruster <armbru@pond.sub.org>
Sun, 6 Aug 2017 17:59:58 +0000 (19:59 +0200)
Sector build cost is defined by sect-chr column build (struct dchrstr
member d_build).  It's the cost per point of efficiency.  In contrast,
unit build cost is defined for 100%, by ship-chr, plane-chr, land-chr,
nuke-chr column cost.

Switch sectors to cost per 100%, for flexibility and consistency:
replace struct dchrstr member d_build by d_cost, and replace selector
build by selector cost.  Naming it cost for consistency with units is
possible only because the previous commit made the name available.

This is an xdump compatibility break.  To provide the customary grace
period, we'd have to make selector build virtual instead, with value
bcost / 100 rounded up, and deprecate it.  Deities would have to avoid
bcost values that aren't multiples of 100 for this to work fully.  But
we're not bothering with maintaining xdump compatibility in this
release.

With bcost values that aren't multiple of 100, the cost of sector
building may have to be rounded.  On the one hand, the cost of sector
demolition has always been rounded up.  On the other hand, the cost of
producing stuff is rounded randomly.  For now, round up, because
rounding randomly would affect subsequent random rounding, and upset
the smoke test.

Fortunately, show se b already shows build costs per 100%, since
commit 48ff096, v4.3.23.

Signed-off-by: Markus Armbruster <armbru@pond.sub.org>
include/sect.h
src/lib/common/nsc.c
src/lib/global/sect.config
src/lib/subs/show.c
src/lib/update/sect.c
tests/version/journal.log

index d42216ae7f5f493b096ed43dcc3b843b34236231..c718ca03b1e9906e29de36f5b94c6f1c46ffd8ec 100644 (file)
@@ -112,7 +112,7 @@ struct dchrstr {
     float d_ostr;              /* offensive strength */
     float d_dstr;              /* defensive strength */
     int d_value;               /* resale ("collect") value */
-    int d_build;               /* cost multiplier for eff */
+    int d_cost;                        /* cost to build 100% */
     int d_lcms;                        /* lcm's needed per point of eff */
     int d_hcms;                        /* hcm's needed per point of eff */
     int d_maint;               /* maintenance cost per ETU */
index 27288d34882799c7b9834b7a7dd775964a26d522..271ecda8a6d8360add162b0f65c140c6b43d485f 100644 (file)
@@ -240,7 +240,7 @@ struct castr dchr_ca[] = {
     {"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},
-    {"build", fldoff(d_build), NSC_INT, 0, NULL, EF_BAD, 0, CA_DUMP},
+    {"cost", fldoff(d_cost), NSC_INT, 0, NULL, EF_BAD, 0, CA_DUMP},
     {"lcms", fldoff(d_lcms), NSC_INT, 0, NULL, EF_BAD, 0, CA_DUMP},
     {"hcms", fldoff(d_hcms), NSC_INT, 0, NULL, EF_BAD, 0, CA_DUMP},
     {"maint", fldoff(d_maint), NSC_INT, 0, NULL, EF_BAD, 0, CA_DUMP},
index 5d3c9be14376c918d26a688e3c4f0e85893a83f5..61d392b0c7ac96c63617caddfe4b6e0088dc7b88 100644 (file)
 # econfig key custom_tables.
 
 config sect-chr
-uid mnem   prd peff val bui lcm hcm maint name ...
-  0  "."    -1    0   0   0   0   0     0 "sea"
-  1  "^"  dust   75   5   1   0   0     0 "mountain"
-  2  "s"    -1    0 127   0   0   0     0 "sanctuary"
-  3 "\134"  -1    0   0   0   0   0     0 "wasteland"
-  4  "-"    -1    0   1   0   0   0     0 "wilderness"
+uid mnem   prd peff val lcm hcm cost maint name ...
+  0  "."    -1    0   0   0   0    0     0 "sea"
+  1  "^"  dust   75   5   0   0  100     0 "mountain"
+  2  "s"    -1    0 127   0   0    0     0 "sanctuary"
+  3 "\134"  -1    0   0   0   0    0     0 "wasteland"
+  4  "-"    -1    0   1   0   0    0     0 "wilderness"
 # Uncomment one of the following two.  The second one is for big cities.
-  5  "c"    -1    0  30   1   0   0     1 "capital"
-# 5  "c"    -1    0  30  10   1   2     1 "city"
-  6  "u"   rad  100  15   1   0   0     0 "uranium mine"
-  7  "p"   hap  100   5   1   0   0     0 "park"
-  8  "d"   gun  100   7   1   0   0     0 "defense plant"
-  9  "i"    sh  100   6   1   0   0     0 "shell industry"
- 10  "m"  iron  100   5   1   0   0     0 "mine"
- 11  "g"  dust  100   8   1   0   0     0 "gold mine"
- 12  "h"    -1    0  12   1   0   0     0 "harbor"
- 13  "w"    -1    0   7   1   0   0     0 "warehouse"
- 14  "*"    -1    0  12   1   0   0     0 "airfield"
- 15  "a"  food  900   2   1   0   0     0 "agribusiness"
- 16  "o"   oil  100   5   1   0   0     0 "oil field"
- 17  "j"   lcm  100   3   1   0   0     0 "light manufacturing"
- 18  "k"   hcm  100   4   1   0   0     0 "heavy manufacturing"
- 19  "f"    -1    0  10   5   0   1     0 "fortress"
- 20  "t"  tech  100  10   1   0   0     0 "technical center"
- 21  "r"   med  100   9   1   0   0     0 "research lab"
- 22  "n"    -1    0  10   1   0   0     0 "nuclear plant"
- 23  "l"   edu  100   4   1   0   0     0 "library/school"
- 24  "+"    -1    0   3   1   0   0     0 "highway"
- 25  ")"    -1    0   4   1   0   0     0 "radar installation"
- 26  "!"    -1    0  12   1   0   0     0 "headquarters"
- 27  "#"    -1    0   3   1   0   0     0 "bridge head"
- 28  "="    -1    0   5   1   0   0     0 "bridge span"
- 29  "b"  bars  100  10   1   0   0     0 "bank"
- 30  "%"   pet 1000   2   1   0   0     0 "refinery"
- 31  "e"    -1    0   7   1   0   0     0 "enlistment center"
- 32  "~"    -1    0   1   1   0   0     0 "plains"
- 33  "@"    -1    0   4   1   0   0     0 "bridge tower"
+  5  "c"    -1    0  30   0   0  100     1 "capital"
+# 5  "c"    -1    0  30   1   2 1000     1 "city"
+  6  "u"   rad  100  15   0   0  100     0 "uranium mine"
+  7  "p"   hap  100   5   0   0  100     0 "park"
+  8  "d"   gun  100   7   0   0  100     0 "defense plant"
+  9  "i"    sh  100   6   0   0  100     0 "shell industry"
+ 10  "m"  iron  100   5   0   0  100     0 "mine"
+ 11  "g"  dust  100   8   0   0  100     0 "gold mine"
+ 12  "h"    -1    0  12   0   0  100     0 "harbor"
+ 13  "w"    -1    0   7   0   0  100     0 "warehouse"
+ 14  "*"    -1    0  12   0   0  100     0 "airfield"
+ 15  "a"  food  900   2   0   0  100     0 "agribusiness"
+ 16  "o"   oil  100   5   0   0  100     0 "oil field"
+ 17  "j"   lcm  100   3   0   0  100     0 "light manufacturing"
+ 18  "k"   hcm  100   4   0   0  100     0 "heavy manufacturing"
+ 19  "f"    -1    0  10   0   1  500     0 "fortress"
+ 20  "t"  tech  100  10   0   0  100     0 "technical center"
+ 21  "r"   med  100   9   0   0  100     0 "research lab"
+ 22  "n"    -1    0  10   0   0  100     0 "nuclear plant"
+ 23  "l"   edu  100   4   0   0  100     0 "library/school"
+ 24  "+"    -1    0   3   0   0  100     0 "highway"
+ 25  ")"    -1    0   4   0   0  100     0 "radar installation"
+ 26  "!"    -1    0  12   0   0  100     0 "headquarters"
+ 27  "#"    -1    0   3   0   0  100     0 "bridge head"
+ 28  "="    -1    0   5   0   0  100     0 "bridge span"
+ 29  "b"  bars  100  10   0   0  100     0 "bank"
+ 30  "%"   pet 1000   2   0   0  100     0 "refinery"
+ 31  "e"    -1    0   7   0   0  100     0 "enlistment center"
+ 32  "~"    -1    0   1   0   0  100     0 "plains"
+ 33  "@"    -1    0   4   0   0  100     0 "bridge tower"
 # Deity-defined sector types go here
 /config
 
index 29d50a2da74d868575a19a1ded19c843084ac8f5..9290292b809fd79031fadd2aaaa725049c32e6db 100644 (file)
@@ -409,7 +409,7 @@ show_sect_build(int foo)
            continue;
        if (dchr[i].d_mob0 < 0)
            continue;
-       if (dchr[i].d_build == 1
+       if (dchr[i].d_cost == 100
            && dchr[i].d_lcms == 0 && dchr[i].d_hcms == 0
            && dchr[i].d_maint == 0)
            continue;           /* the usual, skip */
@@ -417,7 +417,7 @@ show_sect_build(int foo)
           dchr[i].d_mnem, dchr[i].d_name,
           100 * dchr[i].d_lcms,
           100 * dchr[i].d_hcms,
-          100 * dchr[i].d_build,
+          dchr[i].d_cost,
           dchr[i].d_maint * etu_per_update);
     }
     pr("any other                   0    0   100      0\n");
index 206c0788efdf01ebbabadef8b52b95e75b4abded..ff16a6656ee874277974399171ad72b9a94684b9 100644 (file)
@@ -93,7 +93,7 @@ buildeff(struct sctstr *sp)
        }
 
        neweff += work_cost;
-       cost += work_cost * dchr[desig].d_build;
+       cost += (work_cost * dchr[desig].d_cost + 99) / 100;
        buildeff_work -= work_cost;
 
        if ((dchr[desig].d_lcms > 0) || (dchr[desig].d_hcms > 0)) {
index d28ba34dcf1997bb8dc7b3520a91b425368a4c98..fc35fc1ba7f783af0b896e62aeebce8f660f789e 100644 (file)
     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 "build" 8 0 0 -1
+    Play#0 output Play#0 1 "cost" 8 0 0 -1
     Play#0 output Play#0 1 "lcms" 8 0 0 -1
     Play#0 output Play#0 1 "hcms" 8 0 0 -1
     Play#0 output Play#0 1 "maint" 8 0 0 -1
     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 1
-    Play#0 output Play#0 1 1 "mountain" "^" 1 1 75 2.40000 1.20000 0 1 1.00000 4.00000 5 1 0 0 0 100 1
+    Play#0 output Play#0 1 1 "mountain" "^" 1 1 75 2.40000 1.20000 0 1 1.00000 4.00000 5 100 0 0 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 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 1
     Play#0 output Play#0 1 4 "wilderness" "-" 4 -1 0 0.400000 0.400000 0 1 1.00000 2.00000 1 0 0 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 1 0 0 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 1 0 0 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 5 1 0 0 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 7 1 0 0 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 6 1 0 0 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 5 1 0 0 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 8 1 0 0 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 1 0 0 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 7 1 0 0 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 1 0 0 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 2 1 0 0 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 5 1 0 0 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 3 1 0 0 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 4 1 0 0 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 5 0 1 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 1 0 0 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 9 1 0 0 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 1 0 0 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 4 1 0 0 0 1000 0
-    Play#0 output Play#0 1 24 "highway" "+" 4 -1 0 0.400000 0.00000 0 1 1.00000 1.00000 3 1 0 0 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 4 1 0 0 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 1 0 0 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 3 1 0 0 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 5 1 0 0 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 1 0 0 0 1000 0
-    Play#0 output Play#0 1 30 "refinery" "%" 4 7 1000 0.400000 0.200000 0 1 1.00000 1.50000 2 1 0 0 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 7 1 0 0 0 1000 0
-    Play#0 output Play#0 1 32 "plains" "~" 32 -1 0 0.400000 0.200000 0 1 1.00000 1.50000 1 1 0 0 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 4 1 0 0 0 100 1
+    Play#0 output Play#0 1 5 "capital" "c" 4 -1 0 0.400000 0.200000 0 1 1.00000 2.00000 30 100 0 0 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 100 0 0 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 5 100 0 0 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 7 100 0 0 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 6 100 0 0 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 5 100 0 0 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 8 100 0 0 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 100 0 0 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 7 100 0 0 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 100 0 0 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 2 100 0 0 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 5 100 0 0 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 3 100 0 0 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 4 100 0 0 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 500 0 1 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 100 0 0 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 9 100 0 0 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 100 0 0 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 4 100 0 0 0 1000 0
+    Play#0 output Play#0 1 24 "highway" "+" 4 -1 0 0.400000 0.00000 0 1 1.00000 1.00000 3 100 0 0 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 4 100 0 0 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 100 0 0 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 3 100 0 0 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 5 100 0 0 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 100 0 0 0 1000 0
+    Play#0 output Play#0 1 30 "refinery" "%" 4 7 1000 0.400000 0.200000 0 1 1.00000 1.50000 2 100 0 0 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 7 100 0 0 0 1000 0
+    Play#0 output Play#0 1 32 "plains" "~" 32 -1 0 0.400000 0.200000 0 1 1.00000 1.50000 1 100 0 0 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 4 100 0 0 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#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 1
-    Play#1 output Play#1 1 1 "mountain" "^" 1 1 75 2.40000 1.20000 0 1 1.00000 4.00000 5 1 0 0 0 100 1
+    Play#1 output Play#1 1 1 "mountain" "^" 1 1 75 2.40000 1.20000 0 1 1.00000 4.00000 5 100 0 0 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 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 1
     Play#1 output Play#1 1 4 "wilderness" "-" 4 -1 0 0.400000 0.400000 0 1 1.00000 2.00000 1 0 0 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 1 0 0 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 1 0 0 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 5 1 0 0 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 7 1 0 0 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 6 1 0 0 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 5 1 0 0 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 8 1 0 0 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 1 0 0 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 7 1 0 0 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 1 0 0 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 2 1 0 0 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 5 1 0 0 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 3 1 0 0 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 4 1 0 0 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 5 0 1 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 1 0 0 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 9 1 0 0 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 1 0 0 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 4 1 0 0 0 1000 0
-    Play#1 output Play#1 1 24 "highway" "+" 4 -1 0 0.400000 0.00000 0 1 1.00000 1.00000 3 1 0 0 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 4 1 0 0 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 1 0 0 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 3 1 0 0 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 5 1 0 0 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 1 0 0 0 1000 0
-    Play#1 output Play#1 1 30 "refinery" "%" 4 7 1000 0.400000 0.200000 0 1 1.00000 1.50000 2 1 0 0 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 7 1 0 0 0 1000 0
-    Play#1 output Play#1 1 32 "plains" "~" 32 -1 0 0.400000 0.200000 0 1 1.00000 1.50000 1 1 0 0 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 4 1 0 0 0 100 1
+    Play#1 output Play#1 1 5 "capital" "c" 4 -1 0 0.400000 0.200000 0 1 1.00000 2.00000 30 100 0 0 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 100 0 0 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 5 100 0 0 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 7 100 0 0 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 6 100 0 0 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 5 100 0 0 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 8 100 0 0 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 100 0 0 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 7 100 0 0 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 100 0 0 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 2 100 0 0 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 5 100 0 0 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 3 100 0 0 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 4 100 0 0 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 500 0 1 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 100 0 0 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 9 100 0 0 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 100 0 0 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 4 100 0 0 0 1000 0
+    Play#1 output Play#1 1 24 "highway" "+" 4 -1 0 0.400000 0.00000 0 1 1.00000 1.00000 3 100 0 0 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 4 100 0 0 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 100 0 0 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 3 100 0 0 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 5 100 0 0 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 100 0 0 0 1000 0
+    Play#1 output Play#1 1 30 "refinery" "%" 4 7 1000 0.400000 0.200000 0 1 1.00000 1.50000 2 100 0 0 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 7 100 0 0 0 1000 0
+    Play#1 output Play#1 1 32 "plains" "~" 32 -1 0 0.400000 0.200000 0 1 1.00000 1.50000 1 100 0 0 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 4 100 0 0 0 100 1
     Play#1 output Play#1 1 /34
     Play#1 output Play#1 6 0 0
     Play#1 input xdump ship-chr *