From bb9619c0536ba15552fd7607cfb2042929df8af7 Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Sun, 5 Jun 2016 20:08:30 +0200 Subject: [PATCH] config: Generalize sector build materials storage Sectors require lcms and hcms to build. The build materials are exposed as sect-chr columns lcms, hcms (struct dchrstr members d_lcms, d_hcms). They are per point per point of efficiency. In contrast, unit build materials are defined for 100%. We want to define build materials for 100% now, for flexibility and consistency, and we want to optionally support more build materials in the future. Replace d_lcms and d_hcms by array member d_mat[], and replace selectors lcms and hcms by selectors l_build and h_build. This is an xdump compatibility break. To provide the customary grace period, we'd have to make selectors lcms and hcms virtual instead, with value l_build / 100 and h_build / 100 rounded up, and deprecate them. Deities would have to avoid l_build and h_build values that aren't multiples of 100 for this to work fully. But we're not bothering with maintaining xdump compatibility in this release. Provide selectors for all other item types, to help clients prepare for future additional materials. Use CA_DUMP_ONLY to keep them out of configuration tables until they actually work. Signed-off-by: Markus Armbruster --- include/sect.h | 4 +- src/lib/common/nsc.c | 3 +- src/lib/global/sect.config | 6 +- src/lib/subs/show.c | 6 +- src/lib/update/sect.c | 21 +---- tests/version/journal.log | 154 ++++++++++++++++++++----------------- 6 files changed, 93 insertions(+), 101 deletions(-) diff --git a/include/sect.h b/include/sect.h index c718ca03..b40dcf41 100644 --- a/include/sect.h +++ b/include/sect.h @@ -112,9 +112,9 @@ struct dchrstr { 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_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 */ int d_maxpop; /* maximum population */ int d_flags; /* capability flags */ diff --git a/src/lib/common/nsc.c b/src/lib/common/nsc.c index 271ecda8..f5fdee46 100644 --- a/src/lib/common/nsc.c +++ b/src/lib/common/nsc.c @@ -240,9 +240,8 @@ 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}, + NSC_MVEC(fldoff(d_mat), CA_DUMP_ONLY, CA_DUMP_ONLY, CA_DUMP_ONLY), {"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}, {"maxpop", fldoff(d_maxpop), NSC_INT, 0, NULL, EF_BAD, 0, CA_DUMP}, {"flags", fldoff(d_flags), NSC_INT, 0, NULL, diff --git a/src/lib/global/sect.config b/src/lib/global/sect.config index 61d392b0..8ea81512 100644 --- a/src/lib/global/sect.config +++ b/src/lib/global/sect.config @@ -64,7 +64,7 @@ # econfig key custom_tables. config sect-chr -uid mnem prd peff val lcm hcm cost maint name ... +uid mnem prd peff val l_b h_b 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" @@ -72,7 +72,7 @@ uid mnem prd peff val lcm hcm cost maint name ... 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 0 0 100 1 "capital" -# 5 "c" -1 0 30 1 2 1000 1 "city" +# 5 "c" -1 0 30 100 200 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" @@ -86,7 +86,7 @@ uid mnem prd peff val lcm hcm cost maint name ... 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" + 19 "f" -1 0 10 0 100 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" diff --git a/src/lib/subs/show.c b/src/lib/subs/show.c index 9290292b..025cf3f8 100644 --- a/src/lib/subs/show.c +++ b/src/lib/subs/show.c @@ -410,14 +410,12 @@ show_sect_build(int foo) if (dchr[i].d_mob0 < 0) continue; if (dchr[i].d_cost == 100 - && dchr[i].d_lcms == 0 && dchr[i].d_hcms == 0 + && !dchr[i].d_mat[I_LCM] && !dchr[i].d_mat[I_HCM] && dchr[i].d_maint == 0) continue; /* the usual, skip */ pr("%c %-21.21s %5d%5d %5d %5d\n", dchr[i].d_mnem, dchr[i].d_name, - 100 * dchr[i].d_lcms, - 100 * dchr[i].d_hcms, - dchr[i].d_cost, + dchr[i].d_mat[I_LCM], dchr[i].d_mat[I_HCM], dchr[i].d_cost, dchr[i].d_maint * etu_per_update); } pr("any other 0 0 100 0\n"); diff --git a/src/lib/update/sect.c b/src/lib/update/sect.c index ff16a665..136e5bf9 100644 --- a/src/lib/update/sect.c +++ b/src/lib/update/sect.c @@ -50,7 +50,7 @@ buildeff(struct sctstr *sp) int work_cost = 0; int avail = sp->sct_avail; int buildeff_work = avail / 2; - int cost, n, hcms, lcms, neweff, desig; + int cost, n, neweff, desig; cost = 0; neweff = sp->sct_effic; @@ -78,28 +78,11 @@ buildeff(struct sctstr *sp) work_cost = 100 - neweff; if (work_cost > buildeff_work) work_cost = buildeff_work; - - if (dchr[desig].d_lcms > 0) { - lcms = sp->sct_item[I_LCM]; - lcms /= dchr[desig].d_lcms; - if (work_cost > lcms) - work_cost = lcms; - } - if (dchr[desig].d_hcms > 0) { - hcms = sp->sct_item[I_HCM]; - hcms /= dchr[desig].d_hcms; - if (work_cost > hcms) - work_cost = hcms; - } + work_cost = get_materials(sp, dchr[sp->sct_type].d_mat, work_cost); neweff += work_cost; cost += (work_cost * dchr[desig].d_cost + 99) / 100; buildeff_work -= work_cost; - - if ((dchr[desig].d_lcms > 0) || (dchr[desig].d_hcms > 0)) { - sp->sct_item[I_LCM] -= work_cost * dchr[desig].d_lcms; - sp->sct_item[I_HCM] -= work_cost * dchr[desig].d_hcms; - } } sp->sct_effic = neweff; diff --git a/tests/version/journal.log b/tests/version/journal.log index fc35fc1b..b62afc0f 100644 --- a/tests/version/journal.log +++ b/tests/version/journal.log @@ -1000,13 +1000,25 @@ 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 "g_build" 6 0 0 -1 + Play#0 output Play#0 1 "p_build" 6 0 0 -1 + Play#0 output Play#0 1 "i_build" 6 0 0 -1 + Play#0 output Play#0 1 "d_build" 6 0 0 -1 + Play#0 output Play#0 1 "b_build" 6 0 0 -1 + Play#0 output Play#0 1 "f_build" 6 0 0 -1 + Play#0 output Play#0 1 "o_build" 6 0 0 -1 + Play#0 output Play#0 1 "l_build" 6 0 0 -1 + Play#0 output Play#0 1 "h_build" 6 0 0 -1 + Play#0 output Play#0 1 "u_build" 6 0 0 -1 + Play#0 output Play#0 1 "r_build" 6 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 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 /19 + 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 @@ -1549,40 +1561,40 @@ 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 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 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 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 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 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 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 0 0 0 0 0 0 0 0 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 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 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 * @@ -2275,40 +2287,40 @@ 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 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 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 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 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 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 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 0 0 0 0 0 0 0 0 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 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 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 *