config: Make work to build units independently configurable

The work required for build and repairs is traditionally a function of
build materials: 20 + lcm + 2*hcm for ships, planes and land units,
and (lcm + 2*hcm + oil + rad)/5 for nukes.  Make it independently
configurable instead, via new ship-chr, plane-chr, land-chr, nuke-chr
selector bwork, backed by new struct mchrstr member m_bwork, struct
plchrstr member pl_bwork, struct lchrstr member l_bwork, struct
nchrstr member n_bwork.  Keep the required work exactly the same for
now.

Clients that compute work from materials need to be updated.  Easy,
since build work is now exposed in xdump.

Signed-off-by: Markus Armbruster <armbru@pond.sub.org>
This commit is contained in:
Markus Armbruster 2016-05-27 13:39:11 +02:00
parent 14af586b57
commit 68c7c08a58
19 changed files with 319 additions and 351 deletions

View file

@ -30,7 +30,7 @@
* Thomas Ruschak, 1992
* Ken Stevens, 1995
* Steve McClure, 1998
* Markus Armbruster, 2004-2015
* Markus Armbruster, 2004-2016
*/
#ifndef LAND_H
@ -86,6 +86,7 @@ struct lchrstr {
int l_mil; /* how many mil it takes to build (unused) */
int l_gun; /* how many guns it takes to build (unused) */
int l_shell; /* #shells it takes to build (unused) */
int l_bwork; /* work to build 100% */
int l_tech; /* tech required to build */
int l_cost; /* how much it costs to build */
float l_att; /* attack multiplier */
@ -120,9 +121,6 @@ struct lchrstr {
#define L_TRAIN bit(11) /* train unit - neato */
#define L_HEAVY bit(12) /* heavy unit - can't go on trains */
/* Work required for building 100% */
#define LND_BLD_WORK(lcm, hcm) (20 + (lcm) + 2 * (hcm))
/* Chance to detect L_SPY unit (percent) */
#define LND_SPY_DETECT_CHANCE(eff) ((110-(eff))/100.0)

View file

@ -28,6 +28,7 @@
*
* Known contributors to this file:
* Dave Pare, 1986
* Markus Armbruster, 2004-2016
*/
#ifndef NUKE_H
@ -69,8 +70,9 @@ struct nchrstr {
int n_rad;
int n_blast; /* blast radius */
int n_dam; /* damage at center */
int n_cost;
int n_bwork; /* work to build 100% */
int n_tech; /* tech needed to build */
int n_cost; /* how much it costs to build */
int n_weight;
int n_flags; /* description of capability */
signed char n_type; /* index in nchr[] */
@ -82,10 +84,6 @@ struct nchrstr {
#define putnuke(n, p) ef_write(EF_NUKE, (n), (p))
#define getnukep(n) ((struct nukstr *)ef_ptr(EF_NUKE, (n)))
/* Work required for building */
#define NUK_BLD_WORK(lcm, hcm, oil, rad) \
(((lcm) + 2 * (hcm) + (oil) + (rad) + 4) / 5)
extern struct nchrstr nchr[N_MAXNUKE + 1];
/* src/lib/common/cargo.c */

View file

@ -30,7 +30,7 @@
* Dave Pare, 1986
* Ken Stevens, 1995
* Steve McClure, 1998
* Markus Armbruster, 2004-2013
* Markus Armbruster, 2004-2016
*/
#ifndef PLANE_H
@ -81,8 +81,9 @@ struct plchrstr {
char *pl_name; /* full name of type of plane */
int pl_lcm; /* costs to build */
int pl_hcm;
int pl_cost;
int pl_bwork; /* work to build 100% */
int pl_tech; /* tech needed to build */
int pl_cost; /* how much it costs to build */
int pl_acc; /* bombing accuracy (higher the better) */
int pl_load; /* bomb load, also for carrying cargo */
int pl_att; /* air-air attack/defense strengths */
@ -141,9 +142,6 @@ struct shiplist {
struct shiplist *next;
};
/* Work required for building 100% */
#define PLN_BLD_WORK(lcm, hcm) (20 + (lcm) + 2 * (hcm))
extern int pl_att(struct plchrstr *, int);
extern int pl_def(struct plchrstr *, int);
extern int pl_acc(struct plchrstr *, int);

View file

@ -31,7 +31,7 @@
* Thomas Ruschak, 1992
* Ken Stevens, 1995
* Steve McClure, 1998
* Markus Armbruster, 2004-2015
* Markus Armbruster, 2004-2016
*/
#ifndef SHIP_H
@ -93,6 +93,7 @@ struct mchrstr {
unsigned char m_nxlight; /* maximum number of xlight planes */
unsigned char m_nchoppers; /* maximum number of choppers */
char *m_name; /* full name of type of ship */
int m_bwork; /* work to build 100% */
int m_tech; /* tech required to build */
int m_cost; /* how much it costs to build */
int m_flags; /* what special things can this ship do */
@ -131,9 +132,6 @@ struct mchrstr {
extern struct mchrstr mchr[SHP_TYPE_MAX + 2];
/* Work required for building 100% */
#define SHP_BLD_WORK(lcm, hcm) (20 + (lcm) + 2 * (hcm))
enum {
SHP_AIROPS_EFF = 50, /* min. efficiency for air ops */
SHP_TORP_SHELLS = 3 /* number of shells used by a torpedo */

View file

@ -56,12 +56,6 @@ military crew. So, for maximum efficiency growth,
put full crews on your newly built
ships and leave them in harbor until they reach 100%.
.s1
The work required to add a point of efficiency to a ship is
.s1
.NF
(20 + (lcm_to_build + 2 * hcm_to_build))/100
.FI
.s1
Ships at sea have only their crews to make repairs.
A small crew on a large ship
may not be able to make any repairs at all.
@ -80,11 +74,6 @@ A plane is not capable of leaving the ground until
it has reached 40% efficiency. Planes below 10% efficiency are
destroyed.
.s1
The work required to add a point of efficiency to a plane is
.s1
.NF
(20 + (lcm_to_build + 2 * hcm_to_build))/100
.FI
.s1
Planes will also gain efficiency in non-airport sectors, but at only 1/3rd
the normal rate.
@ -105,12 +94,6 @@ dead). Then,
each update, the unit will grow in efficiency, and use up more
of the required goods until it reaches 100%.
.s1
The work required to add a point of efficiency to a land unit is
.s1
.NF
(20 + (lcm_to_build + 2 * hcm_to_build))/100
.FI
.s1
Land units can also gain efficiency in fortress sectors, but cannot
be built there.
Land units can gain efficiency in any other sector type (assuming

View file

@ -28,7 +28,7 @@
*
* Known contributors to this file:
* Steve McClure, 1998-2000
* Markus Armbruster, 2004-2015
* Markus Armbruster, 2004-2016
*/
#include <config.h>
@ -211,23 +211,21 @@ build_ship(struct sctstr *sp, int type, int tlev)
{
struct mchrstr *mp = &mchr[type];
short mat[I_MAX+1];
int work;
struct shpstr ship;
memset(mat, 0, sizeof(mat));
mat[I_LCM] = mp->m_lcm;
mat[I_HCM] = mp->m_hcm;
work = SHP_BLD_WORK(mp->m_lcm, mp->m_hcm);
if (sp->sct_type != SCT_HARBR && !player->god) {
pr("Ships must be built in harbours.\n");
return 0;
}
if (!sector_can_build(sp, mat, work, SHIP_MINEFF, mp->m_name))
if (!sector_can_build(sp, mat, mp->m_bwork, SHIP_MINEFF, mp->m_name))
return 0;
if (!build_can_afford(mp->m_cost, SHIP_MINEFF, mp->m_name))
return 0;
build_charge(sp, mat, work, mp->m_cost, SHIP_MINEFF);
build_charge(sp, mat, mp->m_bwork, mp->m_cost, SHIP_MINEFF);
ef_blank(EF_SHIP, pick_unused_unit_uid(EF_SHIP), &ship);
ship.shp_x = sp->sct_x;
@ -264,23 +262,21 @@ build_land(struct sctstr *sp, int type, int tlev)
{
struct lchrstr *lp = &lchr[type];
short mat[I_MAX+1];
int work;
struct lndstr land;
memset(mat, 0, sizeof(mat));
mat[I_LCM] = lp->l_lcm;
mat[I_HCM] = lp->l_hcm;
work = LND_BLD_WORK(lp->l_lcm, lp->l_hcm);
if (sp->sct_type != SCT_HEADQ && !player->god) {
pr("Land units must be built in headquarters.\n");
return 0;
}
if (!sector_can_build(sp, mat, work, LAND_MINEFF, lp->l_name))
if (!sector_can_build(sp, mat, lp->l_bwork, LAND_MINEFF, lp->l_name))
return 0;
if (!build_can_afford(lp->l_cost, LAND_MINEFF, lp->l_name))
return 0;
build_charge(sp, mat, work, lp->l_cost, LAND_MINEFF);
build_charge(sp, mat, lp->l_bwork, lp->l_cost, LAND_MINEFF);
ef_blank(EF_LAND, pick_unused_unit_uid(EF_LAND), &land);
land.lnd_x = sp->sct_x;
@ -316,7 +312,6 @@ build_nuke(struct sctstr *sp, int type, int tlev)
{
struct nchrstr *np = &nchr[type];
short mat[I_MAX+1];
int work;
struct nukstr nuke;
if (sp->sct_type != SCT_NUKE && !player->god) {
@ -333,13 +328,12 @@ build_nuke(struct sctstr *sp, int type, int tlev)
mat[I_HCM] = np->n_hcm;
mat[I_OIL] = np->n_oil;
mat[I_RAD] = np->n_rad;
work = NUK_BLD_WORK(np->n_lcm, np->n_hcm, np->n_oil, np->n_rad);
if (!sector_can_build(sp, mat, work, 100, np->n_name))
if (!sector_can_build(sp, mat, np->n_bwork, 100, np->n_name))
return 0;
if (!build_can_afford(np->n_cost, 100, np->n_name))
return 0;
build_charge(sp, mat, work, np->n_cost, 100);
build_charge(sp, mat, np->n_bwork, np->n_cost, 100);
ef_blank(EF_NUKE, pick_unused_unit_uid(EF_NUKE), &nuke);
nuke.nuk_x = sp->sct_x;
@ -362,24 +356,22 @@ build_plane(struct sctstr *sp, int type, int tlev)
{
struct plchrstr *pp = &plchr[type];
short mat[I_MAX+1];
int work;
struct plnstr plane;
memset(mat, 0, sizeof(mat));
mat[I_MILIT] = pp->pl_crew;
mat[I_LCM] = pp->pl_lcm;
mat[I_HCM] = pp->pl_hcm;
work = PLN_BLD_WORK(pp->pl_lcm, pp->pl_hcm);
if (sp->sct_type != SCT_AIRPT && !player->god) {
pr("Planes must be built in airports.\n");
return 0;
}
if (!sector_can_build(sp, mat, work, PLANE_MINEFF, pp->pl_name))
if (!sector_can_build(sp, mat, pp->pl_bwork, PLANE_MINEFF, pp->pl_name))
return 0;
if (!build_can_afford(pp->pl_cost, PLANE_MINEFF, pp->pl_name))
return 0;
build_charge(sp, mat, work, pp->pl_cost, PLANE_MINEFF);
build_charge(sp, mat, pp->pl_bwork, pp->pl_cost, PLANE_MINEFF);
ef_blank(EF_PLANE, pick_unused_unit_uid(EF_PLANE), &plane);
plane.pln_x = sp->sct_x;

View file

@ -29,6 +29,7 @@
* Known contributors to this file:
* Dave Pare, 1986
* Steve McClure, 1996-2000
* Markus Armbruster, 2004-2016
*/
#include <config.h>
@ -106,7 +107,7 @@ lupgr(void)
}
n++;
lp = &lchr[(int)land.lnd_type];
avail = (LND_BLD_WORK(lp->l_lcm, lp->l_hcm) * UPGR_COST + 99) / 100;
avail = (lp->l_bwork * UPGR_COST + 99) / 100;
if (sect.sct_avail < avail) {
pr("Not enough available work in %s to upgrade a %s\n",
xyas(sect.sct_x, sect.sct_y, player->cnum), lp->l_name);
@ -186,7 +187,7 @@ supgr(void)
}
n++;
mp = &mchr[(int)ship.shp_type];
avail = (SHP_BLD_WORK(mp->m_lcm, mp->m_hcm) * UPGR_COST + 99) / 100;
avail = (mp->m_bwork * UPGR_COST + 99) / 100;
if (sect.sct_avail < avail) {
pr("Not enough available work in %s to upgrade a %s\n",
xyas(sect.sct_x, sect.sct_y, player->cnum), mp->m_name);
@ -271,7 +272,7 @@ pupgr(void)
continue;
n++;
pp = &plchr[(int)plane.pln_type];
avail = (PLN_BLD_WORK(pp->pl_lcm, pp->pl_hcm) * UPGR_COST + 99) / 100;
avail = (pp->pl_bwork * UPGR_COST + 99) / 100;
if (sect.sct_avail < avail) {
pr("Not enough available work in %s to upgrade a %s\n",
xyas(sect.sct_x, sect.sct_y, player->cnum), pp->pl_name);

View file

@ -27,7 +27,7 @@
* nsc.c: Empire selection global structures
*
* Known contributors to this file:
* Markus Armbruster, 2004-2014
* Markus Armbruster, 2004-2016
*/
/*
@ -271,6 +271,7 @@ struct castr mchr_ca[] = {
{"glim", fldoff(m_glim), NSC_INT, 0, NULL, EF_BAD, 0},
{"nxlight", fldoff(m_nxlight), NSC_UCHAR, 0, NULL, EF_BAD, 0},
{"nchoppers", fldoff(m_nchoppers), NSC_UCHAR, 0, NULL, EF_BAD, 0},
{"bwork", fldoff(m_bwork), NSC_INT, 0, NULL, EF_BAD, 0},
{"tech", fldoff(m_tech), NSC_INT, 0, NULL, EF_BAD, 0},
{"cost", fldoff(m_cost), NSC_INT, 0, NULL, EF_BAD, 0},
{"flags", fldoff(m_flags), NSC_INT, 0, NULL,
@ -306,8 +307,9 @@ struct castr plchr_ca[] = {
{"name", fldoff(pl_name), NSC_STRING, 0, NULL, EF_BAD, 0},
{"l_build", fldoff(pl_lcm), NSC_INT, 0, NULL, EF_BAD, 0},
{"h_build", fldoff(pl_hcm), NSC_INT, 0, NULL, EF_BAD, 0},
{"cost", fldoff(pl_cost), NSC_INT, 0, NULL, EF_BAD, 0},
{"bwork", fldoff(pl_bwork), NSC_INT, 0, NULL, EF_BAD, 0},
{"tech", fldoff(pl_tech), NSC_INT, 0, NULL, EF_BAD, 0},
{"cost", fldoff(pl_cost), NSC_INT, 0, NULL, EF_BAD, 0},
{"acc", fldoff(pl_acc), NSC_INT, 0, NULL, EF_BAD, 0},
{"load", fldoff(pl_load), NSC_INT, 0, NULL, EF_BAD, 0},
{"att", fldoff(pl_att), NSC_INT, 0, NULL, EF_BAD, 0},
@ -367,6 +369,7 @@ struct castr lchr_ca[] = {
NSC_IVEC(fldoff(l_item), ""),
{"l_build", fldoff(l_lcm), NSC_INT, 0, NULL, EF_BAD, 0},
{"h_build", fldoff(l_hcm), NSC_INT, 0, NULL, EF_BAD, 0},
{"bwork", fldoff(l_bwork), NSC_INT, 0, NULL, EF_BAD, 0},
{"tech", fldoff(l_tech), NSC_INT, 0, NULL, EF_BAD, 0},
{"cost", fldoff(l_cost), NSC_INT, 0, NULL, EF_BAD, 0},
{"att", fldoff(l_att), NSC_FLOAT, 0, NULL, EF_BAD, 0},
@ -408,8 +411,9 @@ struct castr nchr_ca[] = {
{"r_build", fldoff(n_rad), NSC_INT, 0, NULL, EF_BAD, 0},
{"blast", fldoff(n_blast), NSC_INT, 0, NULL, EF_BAD, 0},
{"dam", fldoff(n_dam), NSC_INT, 0, NULL, EF_BAD, 0},
{"cost", fldoff(n_cost), NSC_INT, 0, NULL, EF_BAD, 0},
{"bwork", fldoff(n_bwork), NSC_INT, 0, NULL, EF_BAD, 0},
{"tech", fldoff(n_tech), NSC_INT, 0, NULL, EF_BAD, 0},
{"cost", fldoff(n_cost), NSC_INT, 0, NULL, EF_BAD, 0},
{"weight", fldoff(n_weight), NSC_INT, 0, NULL, EF_BAD, 0},
{"flags", fldoff(n_flags), NSC_INT, 0, NULL,
EF_NUKE_CHR_FLAGS, NSC_BITS},

View file

@ -27,7 +27,7 @@
# land.config: Land unit characteristics
#
# Known contributors to this file:
# Markus Armbruster, 2006-2011
# Markus Armbruster, 2006-2016
#
# Derived from land.c; known contributors:
# Thomas Ruschak, 1992
@ -43,29 +43,29 @@
# econfig key custom_tables.
config land-chr
type name l_b h_b tech cost ...
0 "cav cavalry" 10 5 30 500
1 "linf light infantry" 8 4 40 300
2 "inf infantry" 10 5 50 500
3 "mtif motor inf" 15 10 190 400
4 "mif mech inf" 15 10 190 800
5 "mar marines" 10 5 140 1000
6 "sup supply" 10 5 50 500
7 "tra train" 100 50 40 3500
8 "spy infiltrator" 10 5 40 750
9 "com commando" 10 5 55 1500
10 "aau aa unit" 20 10 70 500
11 "art artillery" 20 10 35 800
12 "lat lt artillery" 20 10 70 500
13 "hat hvy artillery" 40 20 100 800
14 "mat mech artillery" 20 10 200 1000
15 "eng engineer" 10 5 130 3000
16 "meng mech engineer" 10 5 260 4500
17 "lar lt armor" 10 5 150 600
18 "har hvy armor" 20 10 120 500
19 "arm armor" 20 10 170 1000
20 "sec security" 10 5 170 600
21 "rad radar unit" 10 5 270 1000
type name l_b h_b bwork tech cost ...
0 "cav cavalry" 10 5 40 30 500
1 "linf light infantry" 8 4 36 40 300
2 "inf infantry" 10 5 40 50 500
3 "mtif motor inf" 15 10 55 190 400
4 "mif mech inf" 15 10 55 190 800
5 "mar marines" 10 5 40 140 1000
6 "sup supply" 10 5 40 50 500
7 "tra train" 100 50 220 40 3500
8 "spy infiltrator" 10 5 40 40 750
9 "com commando" 10 5 40 55 1500
10 "aau aa unit" 20 10 60 70 500
11 "art artillery" 20 10 60 35 800
12 "lat lt artillery" 20 10 60 70 500
13 "hat hvy artillery" 40 20 100 100 800
14 "mat mech artillery" 20 10 60 200 1000
15 "eng engineer" 10 5 40 130 3000
16 "meng mech engineer" 10 5 40 260 4500
17 "lar lt armor" 10 5 40 150 600
18 "har hvy armor" 20 10 60 120 500
19 "arm armor" 20 10 60 170 1000
20 "sec security" 10 5 40 170 600
21 "rad radar unit" 10 5 40 270 1000
/config
config land-chr

View file

@ -27,7 +27,7 @@
# nuke.c: Nuke characteristics
#
# Known contributors to this file:
# Markus Armbruster, 2006-2011
# Markus Armbruster, 2006-2016
#
# Derived from nuke.c.
#
@ -40,18 +40,18 @@
# econfig key custom_tables.
config nuke-chr
type name l_b h_b o_b r_b bla dam cost tech wei flags
0 "10kt fission" 50 50 25 70 3 70 10000 280 4 ()
1 "15kt fission" 50 50 25 80 3 90 15000 290 5 ()
2 "50kt fission" 60 60 30 90 3 100 25000 300 6 ()
3 "100kt fission" 75 75 40 120 4 125 30000 310 8 ()
4 "5kt fusion" 15 15 15 30 2 80 12500 315 1 ()
5 "75kt fusion" 40 40 35 50 3 90 20000 320 3 ()
6 "250kt fusion" 50 50 45 60 4 110 25000 330 4 ()
7 "500kt fusion" 60 60 50 80 5 120 35000 340 5 ()
8 "1mt fusion" 75 75 50 110 6 150 40000 350 5 ()
9 "60kt neutron" 60 60 30 100 3 30 30000 355 2 (neutron)
10 "3mt fusion" 100 100 75 130 7 170 45000 360 6 ()
11 "5mt fusion" 120 120 100 150 8 190 50000 370 8 ()
12 "120kt neutron" 75 75 40 120 5 50 36000 375 3 (neutron)
type name l_b h_b o_b r_b bwork bla dam cost tech wei flags
0 "10kt fission" 50 50 25 70 49 3 70 10000 280 4 ()
1 "15kt fission" 50 50 25 80 51 3 90 15000 290 5 ()
2 "50kt fission" 60 60 30 90 60 3 100 25000 300 6 ()
3 "100kt fission" 75 75 40 120 77 4 125 30000 310 8 ()
4 "5kt fusion" 15 15 15 30 18 2 80 12500 315 1 ()
5 "75kt fusion" 40 40 35 50 41 3 90 20000 320 3 ()
6 "250kt fusion" 50 50 45 60 51 4 110 25000 330 4 ()
7 "500kt fusion" 60 60 50 80 62 5 120 35000 340 5 ()
8 "1mt fusion" 75 75 50 110 77 6 150 40000 350 5 ()
9 "60kt neutron" 60 60 30 100 62 3 30 30000 355 2 (neutron)
10 "3mt fusion" 100 100 75 130 101 7 170 45000 360 6 ()
11 "5mt fusion" 120 120 100 150 122 8 190 50000 370 8 ()
12 "120kt neutron" 75 75 40 120 77 5 50 36000 375 3 (neutron)
/config

View file

@ -27,7 +27,7 @@
# plane.config: Plane characteristics
#
# Known contributors to this file:
# Markus Armbruster, 2006-2011
# Markus Armbruster, 2006-2016
#
# Derived from plane.c; known contributors:
# Dave Pare, 1986
@ -45,42 +45,42 @@
# econfig key custom_tables.
config plane-chr
type name l_b h_b cre tech cost ...
0 "f1 Sopwith Camel" 8 2 1 50 400
1 "f2 P-51 Mustang" 8 2 1 80 400
2 "jf1 F-4 Phantom" 12 4 2 125 1000
3 "jf2 AV-8B Harrier" 12 4 2 195 1400
4 "sf F-117A Nighthawk" 15 5 2 325 3000
5 "es P-38 Lightning" 9 3 1 90 700
6 "jes F-14E jet escort" 14 8 2 160 1400
7 "lb TBD-1 Devastator" 10 3 1 60 550
8 "jl A-6 Intruder" 14 4 2 130 1000
9 "mb medium bomber" 14 5 3 80 1000
10 "jfb FB-111 Aardvark f/b" 20 10 5 140 1800
11 "hb B-26B Marauder" 20 6 2 90 1100
12 "jhb B-52 Strato-Fortress" 26 13 5 150 3200
13 "sb B-2 stealth bomber" 15 5 2 325 4000
14 "as anti-sub plane" 10 3 2 100 550
15 "np naval plane" 20 10 4 135 1800
16 "nc AH-1 Cobra" 8 2 2 160 800
17 "ac AH-64 Apache" 8 2 2 200 800
18 "tc transport chopper" 8 2 2 135 800
19 "tr C-56 Lodestar" 14 5 3 85 1000
20 "jt C-141 Starlifter" 18 5 3 160 1500
21 "zep Zeppelin" 6 2 3 70 1000
22 "re recon" 12 4 2 130 800
23 "sp E2-C Hawkeye" 15 5 2 190 2000
24 "lst landsat" 20 20 0 245 2000
25 "ss KH-7 spysat" 20 20 0 305 4000
26 "mi Harpoon" 8 2 0 160 300
27 "sam Sea Sparrow" 3 1 0 180 200
28 "ssm V2" 15 15 0 145 800
29 "srbm Atlas" 20 20 0 200 1000
30 "irbm Titan" 20 20 0 260 1500
31 "icbm Minuteman" 20 20 0 310 3000
32 "slbm Trident" 20 20 0 280 2000
33 "asat anti-sat" 20 20 0 305 2000
34 "abm Patriot" 16 8 0 270 1500
type name l_b h_b cre bwork tech cost ...
0 "f1 Sopwith Camel" 8 2 1 32 50 400
1 "f2 P-51 Mustang" 8 2 1 32 80 400
2 "jf1 F-4 Phantom" 12 4 2 40 125 1000
3 "jf2 AV-8B Harrier" 12 4 2 40 195 1400
4 "sf F-117A Nighthawk" 15 5 2 45 325 3000
5 "es P-38 Lightning" 9 3 1 35 90 700
6 "jes F-14E jet escort" 14 8 2 50 160 1400
7 "lb TBD-1 Devastator" 10 3 1 36 60 550
8 "jl A-6 Intruder" 14 4 2 42 130 1000
9 "mb medium bomber" 14 5 3 44 80 1000
10 "jfb FB-111 Aardvark f/b" 20 10 5 60 140 1800
11 "hb B-26B Marauder" 20 6 2 52 90 1100
12 "jhb B-52 Strato-Fortress" 26 13 5 72 150 3200
13 "sb B-2 stealth bomber" 15 5 2 45 325 4000
14 "as anti-sub plane" 10 3 2 36 100 550
15 "np naval plane" 20 10 4 60 135 1800
16 "nc AH-1 Cobra" 8 2 2 32 160 800
17 "ac AH-64 Apache" 8 2 2 32 200 800
18 "tc transport chopper" 8 2 2 32 135 800
19 "tr C-56 Lodestar" 14 5 3 44 85 1000
20 "jt C-141 Starlifter" 18 5 3 48 160 1500
21 "zep Zeppelin" 6 2 3 30 70 1000
22 "re recon" 12 4 2 40 130 800
23 "sp E2-C Hawkeye" 15 5 2 45 190 2000
24 "lst landsat" 20 20 0 80 245 2000
25 "ss KH-7 spysat" 20 20 0 80 305 4000
26 "mi Harpoon" 8 2 0 32 160 300
27 "sam Sea Sparrow" 3 1 0 25 180 200
28 "ssm V2" 15 15 0 65 145 800
29 "srbm Atlas" 20 20 0 80 200 1000
30 "irbm Titan" 20 20 0 80 260 1500
31 "icbm Minuteman" 20 20 0 80 310 3000
32 "slbm Trident" 20 20 0 80 280 2000
33 "asat anti-sat" 20 20 0 80 305 2000
34 "abm Patriot" 16 8 0 52 270 1500
/config
config plane-chr

View file

@ -27,7 +27,7 @@
# ship.config: Ship characteristics
#
# Known contributors to this file:
# Markus Armbruster, 2006-2015
# Markus Armbruster, 2006-2016
#
# Derived from ship.c; known contributors:
# Dave Pare, 1986
@ -45,45 +45,45 @@
# econfig key custom_tables.
config ship-chr
type name l_b h_b tech cost ...
0 "fb fishing boat" 25 15 0 180
1 "ft fishing trawler" 25 15 35 300
2 "cs cargo ship" 60 40 20 500
3 "os ore ship" 60 40 20 500
4 "ss slave ship" 60 40 0 300
type name l_b h_b bwork tech cost ...
0 "fb fishing boat" 25 15 75 0 180
1 "ft fishing trawler" 25 15 75 35 300
2 "cs cargo ship" 60 40 160 20 500
3 "os ore ship" 60 40 160 20 500
4 "ss slave ship" 60 40 160 0 300
# Uncomment to enable trade ships
# 5 "ts trade ship" 200 100 30 1750
6 "frg frigate" 30 30 0 600
7 "oe oil exploration boat" 25 15 40 800
8 "od oil derrick" 60 60 50 1500
9 "pt patrol boat" 20 10 40 300
10 "lc light cruiser" 30 40 45 800
11 "hc heavy cruiser" 40 50 50 1200
12 "tt troop transport" 50 50 10 800
13 "bb battleship" 50 70 45 1800
14 "bbc battlecruiser" 50 60 75 1500
15 "tk tanker" 60 40 35 600
16 "ms minesweeper" 25 15 40 400
17 "dd destroyer" 30 30 70 600
18 "sb submarine" 30 30 60 650
19 "sbc cargo submarine" 40 40 150 1200
20 "cal light carrier" 50 60 80 2700
21 "car aircraft carrier" 60 70 160 4500
22 "can nuc carrier" 70 80 305 8000
23 "ls landing ship" 60 40 145 1000
24 "af asw frigate" 40 30 220 800
25 "na nuc attack sub" 30 40 260 1200
26 "ad asw destroyer" 40 40 240 1500
27 "nm nuc miss sub" 30 40 270 1500
28 "msb missile sub" 30 30 230 1200
29 "mb missile boat" 20 20 180 500
30 "mf missile frigate" 40 30 280 1000
31 "mc missile cruiser" 50 50 290 1500
32 "aac aa cruiser" 50 60 130 1500
33 "agc aegis cruiser" 50 60 265 4000
34 "ncr nuc cruiser" 50 50 325 1800
35 "nas nuc asw cruiser" 50 50 330 1800
36 "nsp nuc supply ship" 60 40 360 1500
# 5 "ts trade ship" 200 100 420 30 1750
6 "frg frigate" 30 30 110 0 600
7 "oe oil exploration boat" 25 15 75 40 800
8 "od oil derrick" 60 60 200 50 1500
9 "pt patrol boat" 20 10 60 40 300
10 "lc light cruiser" 30 40 130 45 800
11 "hc heavy cruiser" 40 50 160 50 1200
12 "tt troop transport" 50 50 170 10 800
13 "bb battleship" 50 70 210 45 1800
14 "bbc battlecruiser" 50 60 190 75 1500
15 "tk tanker" 60 40 160 35 600
16 "ms minesweeper" 25 15 75 40 400
17 "dd destroyer" 30 30 110 70 600
18 "sb submarine" 30 30 110 60 650
19 "sbc cargo submarine" 40 40 140 150 1200
20 "cal light carrier" 50 60 190 80 2700
21 "car aircraft carrier" 60 70 220 160 4500
22 "can nuc carrier" 70 80 250 305 8000
23 "ls landing ship" 60 40 160 145 1000
24 "af asw frigate" 40 30 120 220 800
25 "na nuc attack sub" 30 40 130 260 1200
26 "ad asw destroyer" 40 40 140 240 1500
27 "nm nuc miss sub" 30 40 130 270 1500
28 "msb missile sub" 30 30 110 230 1200
29 "mb missile boat" 20 20 80 180 500
30 "mf missile frigate" 40 30 120 280 1000
31 "mc missile cruiser" 50 50 170 290 1500
32 "aac aa cruiser" 50 60 190 130 1500
33 "agc aegis cruiser" 50 60 190 265 4000
34 "ncr nuc cruiser" 50 50 170 325 1800
35 "nas nuc asw cruiser" 50 50 170 330 1800
36 "nsp nuc supply ship" 60 40 160 360 1500
/config
config ship-chr

View file

@ -31,7 +31,7 @@
* Jeff Bailey, 1990
* Steve McClure, 1996
* Ron Koenderink, 2005-2009
* Markus Armbruster, 2006-2015
* Markus Armbruster, 2006-2016
*/
#include <config.h>
@ -192,16 +192,14 @@ show_nuke_build(int tlev)
int n = make_nchr_index(chridx, tlev);
int i;
struct nchrstr *np;
int avail;
pr("%13s lcm hcm oil rad avail tech res $\n", "");
for (i = 0; i < n; i++) {
np = &nchr[chridx[i].type];
avail = NUK_BLD_WORK(np->n_lcm, np->n_hcm, np->n_oil, np->n_rad);
pr("%-13.13s %3d %3d %4d %4d %5d %4d %3.0f $%6d\n",
np->n_name, np->n_lcm, np->n_hcm, np->n_oil,
np->n_rad, avail, np->n_tech,
np->n_rad, np->n_bwork, np->n_tech,
drnuke_const > MIN_DRNUKE_CONST ?
ceil(np->n_tech * drnuke_const) : 0.0,
np->n_cost);
@ -243,7 +241,7 @@ show_ship_build(int tlev)
mp = &mchr[chridx[i].type];
pr("%-25.25s %3d %3d %5d %4d $%d\n",
mp->m_name, mp->m_lcm, mp->m_hcm,
SHP_BLD_WORK(mp->m_lcm, mp->m_hcm), mp->m_tech, mp->m_cost);
mp->m_bwork, mp->m_tech, mp->m_cost);
}
}
@ -335,7 +333,7 @@ show_plane_build(int tlev)
pr("%-25.25s %3d %3d %4d %5d %4d $%d\n",
pp->pl_name, pp->pl_lcm,
pp->pl_hcm, pp->pl_crew,
PLN_BLD_WORK(pp->pl_lcm, pp->pl_hcm), pp->pl_tech, pp->pl_cost);
pp->pl_bwork, pp->pl_tech, pp->pl_cost);
}
}
@ -354,7 +352,7 @@ show_land_build(int tlev)
lp->l_name, lp->l_lcm,
lp->l_hcm,
lp->l_gun,
LND_BLD_WORK(lp->l_lcm, lp->l_hcm), lp->l_tech, lp->l_cost);
lp->l_bwork, lp->l_tech, lp->l_cost);
}
}

View file

@ -30,7 +30,7 @@
* Dave Pare, 1986
* Thomas Ruschak, 1992
* Steve McClure, 1996
* Markus Armbruster, 2006-2011
* Markus Armbruster, 2006-2016
*/
#include <config.h>
@ -199,7 +199,6 @@ landrepair(struct lndstr *land, struct natstr *np, struct bp *bp, int etus)
struct lchrstr *lp;
int build;
int avail;
int w_p_eff;
int mult;
int mvec[I_MAX + 1];
@ -223,8 +222,7 @@ landrepair(struct lndstr *land, struct natstr *np, struct bp *bp, int etus)
else
avail = bp_get_avail(bp, sp) * 100;
w_p_eff = LND_BLD_WORK(lp->l_lcm, lp->l_hcm);
delta = roundavg((double)avail / w_p_eff);
delta = roundavg((double)avail / lp->l_bwork);
if (delta <= 0)
return;
if (delta > (int)((float)etus * land_grow_scale))
@ -240,7 +238,7 @@ landrepair(struct lndstr *land, struct natstr *np, struct bp *bp, int etus)
if ((sp->sct_type != SCT_HEADQ) && (sp->sct_type != SCT_FORTR))
build /= 3;
avail -= build * w_p_eff;
avail -= build * lp->l_bwork;
if (avail < 0)
avail = 0;
if (!player->simulation)

View file

@ -29,7 +29,7 @@
* Known contributors to this file:
* Dave Pare, 1986
* Steve McClure, 1998
* Markus Armbruster, 2006-2011
* Markus Armbruster, 2006-2016
*/
#include <config.h>
@ -131,7 +131,6 @@ planerepair(struct plnstr *pp, struct natstr *np, struct bp *bp, int etus)
int delta;
int mult;
int avail;
int w_p_eff;
int used;
carrier = NULL;
@ -166,8 +165,7 @@ planerepair(struct plnstr *pp, struct natstr *np, struct bp *bp, int etus)
if (carrier)
avail += etus * carrier->shp_item[I_MILIT] / 2;
w_p_eff = PLN_BLD_WORK(pcp->pl_lcm, pcp->pl_hcm);
delta = roundavg((double)avail / w_p_eff);
delta = roundavg((double)avail / pcp->pl_bwork);
if (delta <= 0)
return;
if (delta > (int)((float)etus * plane_grow_scale))
@ -184,7 +182,7 @@ planerepair(struct plnstr *pp, struct natstr *np, struct bp *bp, int etus)
if (carrier)
build = delta;
used = build * w_p_eff;
used = build * pcp->pl_bwork;
/*
* I didn't use roundavg here, because I want to
* penalize the player with a large number of planes.

View file

@ -30,7 +30,7 @@
* Dave Pare, 1986
* Steve McClure, 1996
* Ron Koenderink, 2004
* Markus Armbruster, 2006-2011
* Markus Armbruster, 2006-2016
*/
#include <config.h>
@ -247,7 +247,6 @@ shiprepair(struct shpstr *ship, struct natstr *np, struct bp *bp, int etus)
int build;
int wf;
int avail;
int w_p_eff;
int mult;
int mvec[I_MAX + 1];
@ -274,8 +273,6 @@ shiprepair(struct shpstr *ship, struct natstr *np, struct bp *bp, int etus)
avail = wf + bp_get_avail(bp, sp) * 100;
}
w_p_eff = SHP_BLD_WORK(mp->m_lcm, mp->m_hcm);
if ((sp->sct_off) && (sp->sct_own == ship->shp_own))
return;
@ -288,7 +285,7 @@ shiprepair(struct shpstr *ship, struct natstr *np, struct bp *bp, int etus)
return;
}
delta = roundavg((double)avail / w_p_eff);
delta = roundavg((double)avail / mp->m_bwork);
if (delta <= 0)
return;
if (delta > (int)((float)etus * ship_grow_scale))
@ -304,7 +301,7 @@ shiprepair(struct shpstr *ship, struct natstr *np, struct bp *bp, int etus)
if (sp->sct_type != SCT_HARBR)
build = delta;
wf -= build * w_p_eff;
wf -= build * mp->m_bwork;
if (wf < 0) {
/*
* I didn't use roundavg here, because I want to penalize

View file

@ -33,7 +33,7 @@ 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-unk:2: unknown header 'xxx' in field 1
tests/empdump/xundump-errors/fld-ambsym:2: ambiguous flags symbol 's' in field 29
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/fld-constnum:3: value for field 1 must be 0
tests/empdump/xundump-errors/fld-conststr:3: value for field 1 must be "road network"
@ -63,6 +63,7 @@ tests/empdump/xundump-errors/fld-eof:2: field 'frnge' missing
tests/empdump/xundump-errors/fld-eof:2: field 'glim' missing
tests/empdump/xundump-errors/fld-eof:2: field 'nxlight' missing
tests/empdump/xundump-errors/fld-eof:2: field 'nchoppers' missing
tests/empdump/xundump-errors/fld-eof:2: field 'bwork' missing
tests/empdump/xundump-errors/fld-eof:2: field 'tech' missing
tests/empdump/xundump-errors/fld-eof:2: field 'cost' missing
tests/empdump/xundump-errors/fld-eof:2: field 'flags' missing

View file

@ -1,3 +1,3 @@
XDUMP ship-chr 1
0 "ft\040\040\040fishing\040trawler" 300 10 0 0 0 0 0 0 900 0 0 0 15 0 25 15 10 25 15 2 0 0 0 0 35 300 (sw s) 0 0
0 "ft\040\040\040fishing\040trawler" 300 10 0 0 0 0 0 0 900 0 0 0 15 0 25 15 10 25 15 2 0 0 0 0 35 300 75 (sw s) 0 0
# ambiguous flags symbol 's' in field 29

View file

@ -1030,12 +1030,13 @@
Play#0 output Play#0 1 "glim" 8 0 0 -1
Play#0 output Play#0 1 "nxlight" 5 0 0 -1
Play#0 output Play#0 1 "nchoppers" 5 0 0 -1
Play#0 output Play#0 1 "bwork" 8 0 0 -1
Play#0 output Play#0 1 "tech" 8 0 0 -1
Play#0 output Play#0 1 "cost" 8 0 0 -1
Play#0 output Play#0 1 "flags" 8 8 0 48
Play#0 output Play#0 1 "nplanes" 5 0 0 -1
Play#0 output Play#0 1 "nland" 5 0 0 -1
Play#0 output Play#0 1 /31
Play#0 output Play#0 1 /32
Play#0 output Play#0 6 0 640
Play#0 input xdump meta 20
Play#0 command xdump
@ -1044,8 +1045,9 @@
Play#0 output Play#0 1 "name" 3 0 0 -1
Play#0 output Play#0 1 "l_build" 8 0 0 -1
Play#0 output Play#0 1 "h_build" 8 0 0 -1
Play#0 output Play#0 1 "cost" 8 0 0 -1
Play#0 output Play#0 1 "bwork" 8 0 0 -1
Play#0 output Play#0 1 "tech" 8 0 0 -1
Play#0 output Play#0 1 "cost" 8 0 0 -1
Play#0 output Play#0 1 "acc" 8 0 0 -1
Play#0 output Play#0 1 "load" 8 0 0 -1
Play#0 output Play#0 1 "att" 8 0 0 -1
@ -1055,7 +1057,7 @@
Play#0 output Play#0 1 "fuel" 8 0 0 -1
Play#0 output Play#0 1 "stealth" 8 0 0 -1
Play#0 output Play#0 1 "flags" 8 8 0 43
Play#0 output Play#0 1 /15
Play#0 output Play#0 1 /16
Play#0 output Play#0 6 0 640
Play#0 input xdump meta 21
Play#0 command xdump
@ -1078,6 +1080,7 @@
Play#0 output Play#0 1 "rad" 6 0 0 -1
Play#0 output Play#0 1 "l_build" 8 0 0 -1
Play#0 output Play#0 1 "h_build" 8 0 0 -1
Play#0 output Play#0 1 "bwork" 8 0 0 -1
Play#0 output Play#0 1 "tech" 8 0 0 -1
Play#0 output Play#0 1 "cost" 8 0 0 -1
Play#0 output Play#0 1 "att" 12 0 0 -1
@ -1095,7 +1098,7 @@
Play#0 output Play#0 1 "flags" 8 8 0 30
Play#0 output Play#0 1 "nxlight" 5 0 0 -1
Play#0 output Play#0 1 "nland" 5 0 0 -1
Play#0 output Play#0 1 /35
Play#0 output Play#0 1 /36
Play#0 output Play#0 6 0 640
Play#0 input xdump meta 22
Play#0 command xdump
@ -1108,11 +1111,12 @@
Play#0 output Play#0 1 "r_build" 8 0 0 -1
Play#0 output Play#0 1 "blast" 8 0 0 -1
Play#0 output Play#0 1 "dam" 8 0 0 -1
Play#0 output Play#0 1 "cost" 8 0 0 -1
Play#0 output Play#0 1 "bwork" 8 0 0 -1
Play#0 output Play#0 1 "tech" 8 0 0 -1
Play#0 output Play#0 1 "cost" 8 0 0 -1
Play#0 output Play#0 1 "weight" 8 0 0 -1
Play#0 output Play#0 1 "flags" 8 8 0 39
Play#0 output Play#0 1 /12
Play#0 output Play#0 1 /13
Play#0 output Play#0 6 0 640
Play#0 input xdump meta 23
Play#0 command xdump
@ -1525,127 +1529,127 @@
Play#0 input xdump ship-chr *
Play#0 command xdump
Play#0 output Play#0 1 XDUMP ship-chr 0
Play#0 output Play#0 1 0 "fb\\040\\040\\040fishing\\040boat" 300 10 0 0 0 0 0 0 900 0 0 0 15 0 25 15 10 10 15 2 0 0 0 0 0 180 524289 0 0
Play#0 output Play#0 1 1 "ft\\040\\040\\040fishing\\040trawler" 300 10 0 0 0 0 0 0 900 0 0 0 15 0 25 15 10 25 15 2 0 0 0 0 35 300 524289 0 0
Play#0 output Play#0 1 2 "cs\\040\\040\\040cargo\\040ship" 600 50 300 50 0 0 0 0 900 0 1400 900 250 0 60 40 20 25 35 3 0 0 1 0 20 500 262144 0 2
Play#0 output Play#0 1 3 "os\\040\\040\\040ore\\040ship" 30 5 0 0 0 990 990 0 200 0 0 0 45 990 60 40 20 25 35 3 0 0 1 0 20 500 0 0 0
Play#0 output Play#0 1 4 "ss\\040\\040\\040slave\\040ship" 20 80 0 0 0 0 0 0 200 0 0 0 1200 0 60 40 20 10 35 3 0 0 1 0 0 300 0 0 0
Play#0 output Play#0 1 6 "frg\\040\\040frigate" 0 60 10 2 0 0 0 0 60 0 0 0 0 0 30 30 50 25 25 3 1 1 1 0 0 600 16384 0 2
Play#0 output Play#0 1 7 "oe\\040\\040\\040oil\\040exploration\\040boat" 10 5 0 0 0 0 0 0 100 1 0 0 0 0 25 15 10 25 15 2 0 0 0 0 40 800 524320 0 0
Play#0 output Play#0 1 8 "od\\040\\040\\040oil\\040derrick" 990 80 0 0 0 0 0 0 990 990 0 0 990 0 60 60 30 15 65 3 0 0 2 0 50 1500 32 0 0
Play#0 output Play#0 1 9 "pt\\040\\040\\040patrol\\040boat" 0 2 12 2 0 0 0 0 5 0 0 0 0 0 20 10 10 38 10 2 1 1 0 0 40 300 524290 0 0
Play#0 output Play#0 1 10 "lc\\040\\040\\040light\\040cruiser" 0 100 40 5 0 0 0 0 100 0 0 0 0 0 30 40 50 30 30 5 6 3 1 0 45 800 128 0 2
Play#0 output Play#0 1 11 "hc\\040\\040\\040heavy\\040cruiser" 0 120 100 8 0 0 0 0 200 0 0 0 0 0 40 50 70 30 30 5 8 4 1 0 50 1200 0 0 4
Play#0 output Play#0 1 12 "tt\\040\\040\\040troop\\040transport" 0 120 20 4 0 0 0 0 120 0 0 0 0 0 50 50 60 20 35 3 1 2 1 0 10 800 16384 0 2
Play#0 output Play#0 1 13 "bb\\040\\040\\040battleship" 0 200 200 10 0 0 0 0 900 0 0 0 0 0 50 70 95 25 35 6 10 7 1 0 45 1800 0 0 2
Play#0 output Play#0 1 14 "bbc\\040\\040battlecruiser" 0 180 100 10 0 0 0 0 400 0 0 0 0 0 50 60 55 30 35 6 10 6 1 0 75 1500 0 0 2
Play#0 output Play#0 1 15 "tk\\040\\040\\040tanker" 30 5 0 0 990 0 0 0 200 990 0 0 25 0 60 40 75 25 45 3 0 0 1 0 35 600 262144 0 0
Play#0 output Play#0 1 16 "ms\\040\\040\\040minesweeper" 0 10 100 1 0 0 0 0 90 0 0 0 0 0 25 15 10 25 15 2 0 0 0 0 40 400 524672 0 0
Play#0 output Play#0 1 17 "dd\\040\\040\\040destroyer" 0 60 40 4 0 0 0 0 80 0 0 0 0 0 30 30 45 35 20 4 6 3 1 0 70 600 196 0 1
Play#0 output Play#0 1 18 "sb\\040\\040\\040submarine" 0 25 36 5 0 0 0 0 80 0 0 0 0 0 30 30 25 20 5 4 3 3 0 0 60 650 706 0 0
Play#0 output Play#0 1 19 "sbc\\040\\040cargo\\040submarine" 5 10 104 20 100 0 0 0 900 0 500 300 0 0 40 40 50 30 2 3 0 0 0 0 150 1200 262720 0 0
Play#0 output Play#0 1 20 "cal\\040\\040light\\040carrier" 0 175 250 4 300 0 0 0 180 0 0 0 0 0 50 60 60 30 40 5 2 2 4 20 80 2700 8 20 0
Play#0 output Play#0 1 21 "car\\040\\040aircraft\\040carrier" 0 350 500 4 500 0 0 0 900 0 0 0 0 0 60 70 80 35 40 7 2 2 10 40 160 4500 8 40 0
Play#0 output Play#0 1 22 "can\\040\\040nuc\\040carrier" 0 350 999 4 999 0 0 0 900 0 0 0 0 0 70 80 100 45 40 9 2 2 20 4 305 8000 262152 60 0
Play#0 output Play#0 1 23 "ls\\040\\040\\040landing\\040ship" 0 400 10 1 0 0 0 0 300 0 0 0 0 0 60 40 40 30 30 2 0 0 2 0 145 1000 2048 0 6
Play#0 output Play#0 1 24 "af\\040\\040\\040asw\\040frigate" 0 60 60 4 0 0 0 0 120 0 0 0 0 0 40 30 50 35 30 5 2 2 4 0 220 800 4166 0 0
Play#0 output Play#0 1 25 "na\\040\\040\\040nuc\\040attack\\040sub" 0 25 60 6 0 0 0 0 500 0 0 0 0 0 30 40 45 40 3 6 5 3 0 0 260 1200 4802 0 0
Play#0 output Play#0 1 26 "ad\\040\\040\\040asw\\040destroyer" 0 100 80 6 40 0 0 0 500 0 0 0 0 0 40 40 60 40 35 6 8 3 10 2 240 1500 4166 0 0
Play#0 output Play#0 1 27 "nm\\040\\040\\040nuc\\040miss\\040sub" 0 25 200 1 0 0 0 0 500 0 0 0 0 0 30 40 55 35 2 6 0 0 0 0 270 1500 592 20 0
Play#0 output Play#0 1 28 "msb\\040\\040missile\\040sub" 0 25 100 1 0 0 0 0 500 0 0 0 0 0 30 30 35 30 3 3 0 0 0 0 230 1200 592 10 0
Play#0 output Play#0 1 29 "mb\\040\\040\\040missile\\040boat" 0 5 100 3 0 0 0 0 500 0 0 0 0 0 20 20 15 40 15 3 2 2 0 0 180 500 16 10 0
Play#0 output Play#0 1 30 "mf\\040\\040\\040missile\\040frigate" 0 60 220 4 0 0 0 0 120 0 0 0 0 0 40 30 50 35 30 5 2 2 2 0 280 1000 16 20 0
Play#0 output Play#0 1 31 "mc\\040\\040\\040missile\\040cruiser" 0 120 500 6 160 0 0 0 200 0 0 0 0 0 50 50 70 35 35 8 8 6 8 8 290 1500 1048592 40 0
Play#0 output Play#0 1 32 "aac\\040\\040aa\\040cruiser" 0 100 100 15 0 0 0 0 200 0 0 0 0 0 50 60 80 35 30 6 1 8 1 0 130 1500 1048576 0 4
Play#0 output Play#0 1 33 "agc\\040\\040aegis\\040cruiser" 0 200 400 25 40 0 0 0 900 0 0 0 0 0 50 60 80 35 30 6 1 16 30 2 265 4000 1048592 32 0
Play#0 output Play#0 1 34 "ncr\\040\\040nuc\\040cruiser" 0 200 400 8 40 0 0 0 900 0 0 0 0 0 50 50 100 45 35 6 14 7 10 2 325 1800 1048592 20 0
Play#0 output Play#0 1 35 "nas\\040\\040nuc\\040asw\\040cruiser" 0 200 120 6 160 0 0 0 500 0 0 0 0 0 50 50 80 45 35 9 10 4 25 8 330 1800 4166 0 0
Play#0 output Play#0 1 36 "nsp\\040\\040nuc\\040supply\\040ship" 50 50 600 50 999 0 0 0 999 0 1500 900 0 0 60 40 40 45 35 6 0 0 10 2 360 1500 262144 0 2
Play#0 output Play#0 1 0 "fb\\040\\040\\040fishing\\040boat" 300 10 0 0 0 0 0 0 900 0 0 0 15 0 25 15 10 10 15 2 0 0 0 0 75 0 180 524289 0 0
Play#0 output Play#0 1 1 "ft\\040\\040\\040fishing\\040trawler" 300 10 0 0 0 0 0 0 900 0 0 0 15 0 25 15 10 25 15 2 0 0 0 0 75 35 300 524289 0 0
Play#0 output Play#0 1 2 "cs\\040\\040\\040cargo\\040ship" 600 50 300 50 0 0 0 0 900 0 1400 900 250 0 60 40 20 25 35 3 0 0 1 0 160 20 500 262144 0 2
Play#0 output Play#0 1 3 "os\\040\\040\\040ore\\040ship" 30 5 0 0 0 990 990 0 200 0 0 0 45 990 60 40 20 25 35 3 0 0 1 0 160 20 500 0 0 0
Play#0 output Play#0 1 4 "ss\\040\\040\\040slave\\040ship" 20 80 0 0 0 0 0 0 200 0 0 0 1200 0 60 40 20 10 35 3 0 0 1 0 160 0 300 0 0 0
Play#0 output Play#0 1 6 "frg\\040\\040frigate" 0 60 10 2 0 0 0 0 60 0 0 0 0 0 30 30 50 25 25 3 1 1 1 0 110 0 600 16384 0 2
Play#0 output Play#0 1 7 "oe\\040\\040\\040oil\\040exploration\\040boat" 10 5 0 0 0 0 0 0 100 1 0 0 0 0 25 15 10 25 15 2 0 0 0 0 75 40 800 524320 0 0
Play#0 output Play#0 1 8 "od\\040\\040\\040oil\\040derrick" 990 80 0 0 0 0 0 0 990 990 0 0 990 0 60 60 30 15 65 3 0 0 2 0 200 50 1500 32 0 0
Play#0 output Play#0 1 9 "pt\\040\\040\\040patrol\\040boat" 0 2 12 2 0 0 0 0 5 0 0 0 0 0 20 10 10 38 10 2 1 1 0 0 60 40 300 524290 0 0
Play#0 output Play#0 1 10 "lc\\040\\040\\040light\\040cruiser" 0 100 40 5 0 0 0 0 100 0 0 0 0 0 30 40 50 30 30 5 6 3 1 0 130 45 800 128 0 2
Play#0 output Play#0 1 11 "hc\\040\\040\\040heavy\\040cruiser" 0 120 100 8 0 0 0 0 200 0 0 0 0 0 40 50 70 30 30 5 8 4 1 0 160 50 1200 0 0 4
Play#0 output Play#0 1 12 "tt\\040\\040\\040troop\\040transport" 0 120 20 4 0 0 0 0 120 0 0 0 0 0 50 50 60 20 35 3 1 2 1 0 170 10 800 16384 0 2
Play#0 output Play#0 1 13 "bb\\040\\040\\040battleship" 0 200 200 10 0 0 0 0 900 0 0 0 0 0 50 70 95 25 35 6 10 7 1 0 210 45 1800 0 0 2
Play#0 output Play#0 1 14 "bbc\\040\\040battlecruiser" 0 180 100 10 0 0 0 0 400 0 0 0 0 0 50 60 55 30 35 6 10 6 1 0 190 75 1500 0 0 2
Play#0 output Play#0 1 15 "tk\\040\\040\\040tanker" 30 5 0 0 990 0 0 0 200 990 0 0 25 0 60 40 75 25 45 3 0 0 1 0 160 35 600 262144 0 0
Play#0 output Play#0 1 16 "ms\\040\\040\\040minesweeper" 0 10 100 1 0 0 0 0 90 0 0 0 0 0 25 15 10 25 15 2 0 0 0 0 75 40 400 524672 0 0
Play#0 output Play#0 1 17 "dd\\040\\040\\040destroyer" 0 60 40 4 0 0 0 0 80 0 0 0 0 0 30 30 45 35 20 4 6 3 1 0 110 70 600 196 0 1
Play#0 output Play#0 1 18 "sb\\040\\040\\040submarine" 0 25 36 5 0 0 0 0 80 0 0 0 0 0 30 30 25 20 5 4 3 3 0 0 110 60 650 706 0 0
Play#0 output Play#0 1 19 "sbc\\040\\040cargo\\040submarine" 5 10 104 20 100 0 0 0 900 0 500 300 0 0 40 40 50 30 2 3 0 0 0 0 140 150 1200 262720 0 0
Play#0 output Play#0 1 20 "cal\\040\\040light\\040carrier" 0 175 250 4 300 0 0 0 180 0 0 0 0 0 50 60 60 30 40 5 2 2 4 20 190 80 2700 8 20 0
Play#0 output Play#0 1 21 "car\\040\\040aircraft\\040carrier" 0 350 500 4 500 0 0 0 900 0 0 0 0 0 60 70 80 35 40 7 2 2 10 40 220 160 4500 8 40 0
Play#0 output Play#0 1 22 "can\\040\\040nuc\\040carrier" 0 350 999 4 999 0 0 0 900 0 0 0 0 0 70 80 100 45 40 9 2 2 20 4 250 305 8000 262152 60 0
Play#0 output Play#0 1 23 "ls\\040\\040\\040landing\\040ship" 0 400 10 1 0 0 0 0 300 0 0 0 0 0 60 40 40 30 30 2 0 0 2 0 160 145 1000 2048 0 6
Play#0 output Play#0 1 24 "af\\040\\040\\040asw\\040frigate" 0 60 60 4 0 0 0 0 120 0 0 0 0 0 40 30 50 35 30 5 2 2 4 0 120 220 800 4166 0 0
Play#0 output Play#0 1 25 "na\\040\\040\\040nuc\\040attack\\040sub" 0 25 60 6 0 0 0 0 500 0 0 0 0 0 30 40 45 40 3 6 5 3 0 0 130 260 1200 4802 0 0
Play#0 output Play#0 1 26 "ad\\040\\040\\040asw\\040destroyer" 0 100 80 6 40 0 0 0 500 0 0 0 0 0 40 40 60 40 35 6 8 3 10 2 140 240 1500 4166 0 0
Play#0 output Play#0 1 27 "nm\\040\\040\\040nuc\\040miss\\040sub" 0 25 200 1 0 0 0 0 500 0 0 0 0 0 30 40 55 35 2 6 0 0 0 0 130 270 1500 592 20 0
Play#0 output Play#0 1 28 "msb\\040\\040missile\\040sub" 0 25 100 1 0 0 0 0 500 0 0 0 0 0 30 30 35 30 3 3 0 0 0 0 110 230 1200 592 10 0
Play#0 output Play#0 1 29 "mb\\040\\040\\040missile\\040boat" 0 5 100 3 0 0 0 0 500 0 0 0 0 0 20 20 15 40 15 3 2 2 0 0 80 180 500 16 10 0
Play#0 output Play#0 1 30 "mf\\040\\040\\040missile\\040frigate" 0 60 220 4 0 0 0 0 120 0 0 0 0 0 40 30 50 35 30 5 2 2 2 0 120 280 1000 16 20 0
Play#0 output Play#0 1 31 "mc\\040\\040\\040missile\\040cruiser" 0 120 500 6 160 0 0 0 200 0 0 0 0 0 50 50 70 35 35 8 8 6 8 8 170 290 1500 1048592 40 0
Play#0 output Play#0 1 32 "aac\\040\\040aa\\040cruiser" 0 100 100 15 0 0 0 0 200 0 0 0 0 0 50 60 80 35 30 6 1 8 1 0 190 130 1500 1048576 0 4
Play#0 output Play#0 1 33 "agc\\040\\040aegis\\040cruiser" 0 200 400 25 40 0 0 0 900 0 0 0 0 0 50 60 80 35 30 6 1 16 30 2 190 265 4000 1048592 32 0
Play#0 output Play#0 1 34 "ncr\\040\\040nuc\\040cruiser" 0 200 400 8 40 0 0 0 900 0 0 0 0 0 50 50 100 45 35 6 14 7 10 2 170 325 1800 1048592 20 0
Play#0 output Play#0 1 35 "nas\\040\\040nuc\\040asw\\040cruiser" 0 200 120 6 160 0 0 0 500 0 0 0 0 0 50 50 80 45 35 9 10 4 25 8 170 330 1800 4166 0 0
Play#0 output Play#0 1 36 "nsp\\040\\040nuc\\040supply\\040ship" 50 50 600 50 999 0 0 0 999 0 1500 900 0 0 60 40 40 45 35 6 0 0 10 2 160 360 1500 262144 0 2
Play#0 output Play#0 1 /36
Play#0 output Play#0 6 0 640
Play#0 input xdump plane-chr *
Play#0 command xdump
Play#0 output Play#0 1 XDUMP plane-chr 0
Play#0 output Play#0 1 0 "f1\\040\\040\\040Sopwith\\040Camel" 8 2 400 50 90 1 1 1 4 1 1 0 22
Play#0 output Play#0 1 1 "f2\\040\\040\\040P-51\\040Mustang" 8 2 400 80 80 1 4 4 8 1 1 0 70
Play#0 output Play#0 1 2 "jf1\\040\\040F-4\\040Phantom" 12 4 1000 125 45 1 14 14 11 2 3 0 70
Play#0 output Play#0 1 3 "jf2\\040\\040AV-8B\\040Harrier" 12 4 1400 195 30 1 17 17 14 2 3 0 86
Play#0 output Play#0 1 4 "sf\\040\\040\\040F-117A\\040Nighthawk" 15 5 3000 325 45 3 19 19 20 2 4 80 70
Play#0 output Play#0 1 5 "es\\040\\040\\040P-38\\040Lightning" 9 3 700 90 60 1 5 5 15 1 2 0 131074
Play#0 output Play#0 1 6 "jes\\040\\040F-14E\\040jet\\040escort" 14 8 1400 160 60 1 10 10 25 2 3 0 131074
Play#0 output Play#0 1 7 "lb\\040\\040\\040TBD-1\\040Devastator" 10 3 550 60 50 2 0 3 7 1 1 0 83
Play#0 output Play#0 1 8 "jl\\040\\040\\040A-6\\040Intruder" 14 4 1000 130 25 3 0 9 11 2 3 0 67
Play#0 output Play#0 1 9 "mb\\040\\040\\040medium\\040bomber" 14 5 1000 80 45 4 0 5 14 3 3 0 3
Play#0 output Play#0 1 10 "jfb\\040\\040FB-111\\040Aardvark\\040f/b" 20 10 1800 140 30 7 8 8 20 5 5 0 3
Play#0 output Play#0 1 11 "hb\\040\\040\\040B-26B\\040Marauder" 20 6 1100 90 90 5 0 4 15 2 2 0 1
Play#0 output Play#0 1 12 "jhb\\040\\040B-52\\040Strato-Fortress" 26 13 3200 150 80 12 0 11 35 5 6 0 1
Play#0 output Play#0 1 13 "sb\\040\\040\\040B-2\\040stealth\\040bomber" 15 5 4000 325 25 8 0 15 28 2 5 80 3
Play#0 output Play#0 1 14 "as\\040\\040\\040anti-sub\\040plane" 10 3 550 100 85 2 0 3 15 2 2 0 819202
Play#0 output Play#0 1 15 "np\\040\\040\\040naval\\040plane" 20 10 1800 135 70 3 0 4 28 4 2 0 819274
Play#0 output Play#0 1 16 "nc\\040\\040\\040AH-1\\040Cobra" 8 2 800 160 55 2 0 3 11 2 2 0 573458
Play#0 output Play#0 1 17 "ac\\040\\040\\040AH-64\\040Apache" 8 2 800 200 15 1 0 9 11 2 2 40 16402
Play#0 output Play#0 1 18 "tc\\040\\040\\040transport\\040chopper" 8 2 800 135 0 5 0 3 7 2 2 40 81944
Play#0 output Play#0 1 19 "tr\\040\\040\\040C-56\\040Lodestar" 14 5 1000 85 0 7 0 2 15 3 3 0 65544
Play#0 output Play#0 1 20 "jt\\040\\040\\040C-141\\040Starlifter" 18 5 1500 160 0 16 0 9 35 3 4 0 65544
Play#0 output Play#0 1 21 "zep\\040\\040Zeppelin" 6 2 1000 70 60 2 0 -3 15 3 2 0 154
Play#0 output Play#0 1 22 "re\\040\\040\\040recon" 12 4 800 130 0 0 0 4 15 2 2 20 128
Play#0 output Play#0 1 23 "sp\\040\\040\\040E2-C\\040Hawkeye" 15 5 2000 190 0 0 0 11 32 2 5 50 128
Play#0 output Play#0 1 24 "lst\\040\\040landsat" 20 20 2000 245 0 0 0 3 41 0 9 0 512
Play#0 output Play#0 1 25 "ss\\040\\040\\040KH-7\\040spysat" 20 20 4000 305 0 0 0 3 61 0 9 0 896
Play#0 output Play#0 1 26 "mi\\040\\040\\040Harpoon" 8 2 300 160 50 6 0 5 6 0 0 0 1048690
Play#0 output Play#0 1 27 "sam\\040\\040Sea\\040Sparrow" 3 1 200 180 0 0 0 18 2 0 0 0 8308
Play#0 output Play#0 1 28 "ssm\\040\\040V2" 15 15 800 145 60 3 0 3 4 0 0 0 50
Play#0 output Play#0 1 29 "srbm\\040Atlas" 20 20 1000 200 60 6 0 5 9 0 0 0 50
Play#0 output Play#0 1 30 "irbm\\040Titan" 20 20 1500 260 60 8 0 10 15 0 0 0 50
Play#0 output Play#0 1 31 "icbm\\040Minuteman" 20 20 3000 310 60 10 0 15 41 0 0 0 50
Play#0 output Play#0 1 32 "slbm\\040Trident" 20 20 2000 280 60 8 0 6 23 0 0 0 114
Play#0 output Play#0 1 33 "asat\\040anti-sat" 20 20 2000 305 50 6 0 7 13 0 4 0 560
Play#0 output Play#0 1 34 "abm\\040\\040Patriot" 16 8 1500 270 50 0 0 31 12 0 0 0 2096
Play#0 output Play#0 1 0 "f1\\040\\040\\040Sopwith\\040Camel" 8 2 32 50 400 90 1 1 1 4 1 1 0 22
Play#0 output Play#0 1 1 "f2\\040\\040\\040P-51\\040Mustang" 8 2 32 80 400 80 1 4 4 8 1 1 0 70
Play#0 output Play#0 1 2 "jf1\\040\\040F-4\\040Phantom" 12 4 40 125 1000 45 1 14 14 11 2 3 0 70
Play#0 output Play#0 1 3 "jf2\\040\\040AV-8B\\040Harrier" 12 4 40 195 1400 30 1 17 17 14 2 3 0 86
Play#0 output Play#0 1 4 "sf\\040\\040\\040F-117A\\040Nighthawk" 15 5 45 325 3000 45 3 19 19 20 2 4 80 70
Play#0 output Play#0 1 5 "es\\040\\040\\040P-38\\040Lightning" 9 3 35 90 700 60 1 5 5 15 1 2 0 131074
Play#0 output Play#0 1 6 "jes\\040\\040F-14E\\040jet\\040escort" 14 8 50 160 1400 60 1 10 10 25 2 3 0 131074
Play#0 output Play#0 1 7 "lb\\040\\040\\040TBD-1\\040Devastator" 10 3 36 60 550 50 2 0 3 7 1 1 0 83
Play#0 output Play#0 1 8 "jl\\040\\040\\040A-6\\040Intruder" 14 4 42 130 1000 25 3 0 9 11 2 3 0 67
Play#0 output Play#0 1 9 "mb\\040\\040\\040medium\\040bomber" 14 5 44 80 1000 45 4 0 5 14 3 3 0 3
Play#0 output Play#0 1 10 "jfb\\040\\040FB-111\\040Aardvark\\040f/b" 20 10 60 140 1800 30 7 8 8 20 5 5 0 3
Play#0 output Play#0 1 11 "hb\\040\\040\\040B-26B\\040Marauder" 20 6 52 90 1100 90 5 0 4 15 2 2 0 1
Play#0 output Play#0 1 12 "jhb\\040\\040B-52\\040Strato-Fortress" 26 13 72 150 3200 80 12 0 11 35 5 6 0 1
Play#0 output Play#0 1 13 "sb\\040\\040\\040B-2\\040stealth\\040bomber" 15 5 45 325 4000 25 8 0 15 28 2 5 80 3
Play#0 output Play#0 1 14 "as\\040\\040\\040anti-sub\\040plane" 10 3 36 100 550 85 2 0 3 15 2 2 0 819202
Play#0 output Play#0 1 15 "np\\040\\040\\040naval\\040plane" 20 10 60 135 1800 70 3 0 4 28 4 2 0 819274
Play#0 output Play#0 1 16 "nc\\040\\040\\040AH-1\\040Cobra" 8 2 32 160 800 55 2 0 3 11 2 2 0 573458
Play#0 output Play#0 1 17 "ac\\040\\040\\040AH-64\\040Apache" 8 2 32 200 800 15 1 0 9 11 2 2 40 16402
Play#0 output Play#0 1 18 "tc\\040\\040\\040transport\\040chopper" 8 2 32 135 800 0 5 0 3 7 2 2 40 81944
Play#0 output Play#0 1 19 "tr\\040\\040\\040C-56\\040Lodestar" 14 5 44 85 1000 0 7 0 2 15 3 3 0 65544
Play#0 output Play#0 1 20 "jt\\040\\040\\040C-141\\040Starlifter" 18 5 48 160 1500 0 16 0 9 35 3 4 0 65544
Play#0 output Play#0 1 21 "zep\\040\\040Zeppelin" 6 2 30 70 1000 60 2 0 -3 15 3 2 0 154
Play#0 output Play#0 1 22 "re\\040\\040\\040recon" 12 4 40 130 800 0 0 0 4 15 2 2 20 128
Play#0 output Play#0 1 23 "sp\\040\\040\\040E2-C\\040Hawkeye" 15 5 45 190 2000 0 0 0 11 32 2 5 50 128
Play#0 output Play#0 1 24 "lst\\040\\040landsat" 20 20 80 245 2000 0 0 0 3 41 0 9 0 512
Play#0 output Play#0 1 25 "ss\\040\\040\\040KH-7\\040spysat" 20 20 80 305 4000 0 0 0 3 61 0 9 0 896
Play#0 output Play#0 1 26 "mi\\040\\040\\040Harpoon" 8 2 32 160 300 50 6 0 5 6 0 0 0 1048690
Play#0 output Play#0 1 27 "sam\\040\\040Sea\\040Sparrow" 3 1 25 180 200 0 0 0 18 2 0 0 0 8308
Play#0 output Play#0 1 28 "ssm\\040\\040V2" 15 15 65 145 800 60 3 0 3 4 0 0 0 50
Play#0 output Play#0 1 29 "srbm\\040Atlas" 20 20 80 200 1000 60 6 0 5 9 0 0 0 50
Play#0 output Play#0 1 30 "irbm\\040Titan" 20 20 80 260 1500 60 8 0 10 15 0 0 0 50
Play#0 output Play#0 1 31 "icbm\\040Minuteman" 20 20 80 310 3000 60 10 0 15 41 0 0 0 50
Play#0 output Play#0 1 32 "slbm\\040Trident" 20 20 80 280 2000 60 8 0 6 23 0 0 0 114
Play#0 output Play#0 1 33 "asat\\040anti-sat" 20 20 80 305 2000 50 6 0 7 13 0 4 0 560
Play#0 output Play#0 1 34 "abm\\040\\040Patriot" 16 8 52 270 1500 50 0 0 31 12 0 0 0 2096
Play#0 output Play#0 1 /35
Play#0 output Play#0 6 0 640
Play#0 input xdump land-chr *
Play#0 command xdump
Play#0 output Play#0 1 XDUMP land-chr 0
Play#0 output Play#0 1 0 "cav\\040\\040cavalry" 0 20 0 0 0 0 0 0 12 0 0 0 0 0 10 5 30 500 1.20000 0.500000 80 32 18 4 3 0 0 0 0 0 80 0 0
Play#0 output Play#0 1 1 "linf\\040light\\040infantry" 0 25 1 0 0 0 0 0 15 0 0 0 0 0 8 4 40 300 1.00000 1.50000 60 28 15 2 1 0 0 0 1 1 272 0 0
Play#0 output Play#0 1 2 "inf\\040\\040infantry" 0 100 0 0 0 0 0 0 24 0 0 0 0 0 10 5 50 500 1.00000 1.50000 60 25 15 2 1 0 0 0 0 0 272 0 0
Play#0 output Play#0 1 3 "mtif\\040motor\\040inf" 0 100 8 0 0 0 0 0 60 0 0 0 0 0 15 10 190 400 1.20000 2.20000 60 33 17 1 3 0 0 0 2 3 16 0 0
Play#0 output Play#0 1 4 "mif\\040\\040mech\\040inf" 0 100 8 0 0 0 0 0 60 0 0 0 0 0 15 10 190 800 1.50000 2.50000 50 33 17 1 3 0 0 0 2 3 16 0 0
Play#0 output Play#0 1 5 "mar\\040\\040marines" 0 100 4 0 0 0 0 0 60 0 0 0 0 0 10 5 140 1000 1.40000 2.40000 60 25 14 2 1 0 0 0 1 2 304 0 0
Play#0 output Play#0 1 6 "sup\\040\\040supply" 0 25 200 10 300 100 100 10 300 0 200 100 0 0 10 5 50 500 0.100000 0.200000 80 25 20 1 0 0 0 0 0 0 20 0 0
Play#0 output Play#0 1 7 "tra\\040\\040train" 0 990 990 200 990 500 500 100 990 990 990 990 0 150 100 50 40 3500 0.00000 0.00000 120 10 25 3 0 0 0 0 0 0 6148 5 12
Play#0 output Play#0 1 8 "spy\\040\\040infiltrator" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 5 40 750 0.00000 0.00000 80 32 18 4 3 0 0 0 0 0 1360 0 0
Play#0 output Play#0 1 9 "com\\040\\040commando" 0 0 3 0 0 0 0 0 0 0 0 0 0 0 10 5 55 1500 0.00000 0.00000 80 32 18 4 3 0 0 0 0 0 1360 0 0
Play#0 output Play#0 1 10 "aau\\040\\040aa\\040unit" 0 20 5 0 0 0 0 0 12 0 0 0 0 0 20 10 70 500 0.500000 1.00000 60 18 20 1 1 0 0 0 1 2 528 0 0
Play#0 output Play#0 1 11 "art\\040\\040artillery" 0 25 40 10 0 0 0 0 24 0 0 0 0 0 20 10 35 800 0.100000 0.400000 70 18 20 1 0 8 50 5 2 1 16 0 0
Play#0 output Play#0 1 12 "lat\\040\\040lt\\040artillery" 0 25 20 6 0 0 0 0 12 0 0 0 0 0 20 10 70 500 0.200000 0.600000 60 30 18 1 1 5 10 3 1 1 16 0 0
Play#0 output Play#0 1 13 "hat\\040\\040hvy\\040artillery" 0 25 80 12 0 0 0 0 24 0 0 0 0 0 40 20 100 800 0.00000 0.200000 60 12 20 1 0 11 99 8 4 1 0 0 0
Play#0 output Play#0 1 14 "mat\\040\\040mech\\040artillery" 0 25 40 10 0 0 0 0 15 0 0 0 0 0 20 10 200 1000 0.200000 0.600000 50 35 17 1 1 8 35 6 3 3 16 0 0
Play#0 output Play#0 1 15 "eng\\040\\040engineer" 0 20 3 0 0 0 0 0 12 0 0 0 0 0 10 5 130 3000 1.20000 2.40000 50 25 14 2 1 0 0 0 1 1 274 0 0
Play#0 output Play#0 1 16 "meng\\040mech\\040engineer" 0 20 4 0 0 0 0 0 15 0 0 0 0 0 10 5 260 4500 1.80000 3.50000 45 33 15 3 3 0 0 0 1 5 274 0 0
Play#0 output Play#0 1 17 "lar\\040\\040lt\\040armor" 0 50 4 0 0 0 0 0 30 0 0 0 0 0 10 5 150 600 2.00000 1.00000 50 42 15 4 4 0 0 0 1 2 80 0 0
Play#0 output Play#0 1 18 "har\\040\\040hvy\\040armor" 0 100 3 0 0 0 0 0 48 0 0 0 0 0 20 10 120 500 2.00000 0.800000 50 18 17 1 1 0 0 0 2 1 0 0 0
Play#0 output Play#0 1 19 "arm\\040\\040armor" 0 50 4 0 0 0 0 0 30 0 0 0 0 0 20 10 170 1000 3.00000 1.50000 40 33 16 2 2 0 0 0 1 2 16 0 0
Play#0 output Play#0 1 20 "sec\\040\\040security" 0 50 4 0 0 0 0 0 30 0 0 0 0 0 10 5 170 600 1.00000 2.00000 60 25 15 2 1 0 0 0 1 1 24 0 0
Play#0 output Play#0 1 21 "rad\\040\\040radar\\040unit" 0 10 0 0 0 0 0 0 7 0 0 0 0 0 10 5 270 1000 0.00000 0.00000 50 33 15 3 0 0 0 0 0 2 144 1 0
Play#0 output Play#0 1 0 "cav\\040\\040cavalry" 0 20 0 0 0 0 0 0 12 0 0 0 0 0 10 5 40 30 500 1.20000 0.500000 80 32 18 4 3 0 0 0 0 0 80 0 0
Play#0 output Play#0 1 1 "linf\\040light\\040infantry" 0 25 1 0 0 0 0 0 15 0 0 0 0 0 8 4 36 40 300 1.00000 1.50000 60 28 15 2 1 0 0 0 1 1 272 0 0
Play#0 output Play#0 1 2 "inf\\040\\040infantry" 0 100 0 0 0 0 0 0 24 0 0 0 0 0 10 5 40 50 500 1.00000 1.50000 60 25 15 2 1 0 0 0 0 0 272 0 0
Play#0 output Play#0 1 3 "mtif\\040motor\\040inf" 0 100 8 0 0 0 0 0 60 0 0 0 0 0 15 10 55 190 400 1.20000 2.20000 60 33 17 1 3 0 0 0 2 3 16 0 0
Play#0 output Play#0 1 4 "mif\\040\\040mech\\040inf" 0 100 8 0 0 0 0 0 60 0 0 0 0 0 15 10 55 190 800 1.50000 2.50000 50 33 17 1 3 0 0 0 2 3 16 0 0
Play#0 output Play#0 1 5 "mar\\040\\040marines" 0 100 4 0 0 0 0 0 60 0 0 0 0 0 10 5 40 140 1000 1.40000 2.40000 60 25 14 2 1 0 0 0 1 2 304 0 0
Play#0 output Play#0 1 6 "sup\\040\\040supply" 0 25 200 10 300 100 100 10 300 0 200 100 0 0 10 5 40 50 500 0.100000 0.200000 80 25 20 1 0 0 0 0 0 0 20 0 0
Play#0 output Play#0 1 7 "tra\\040\\040train" 0 990 990 200 990 500 500 100 990 990 990 990 0 150 100 50 220 40 3500 0.00000 0.00000 120 10 25 3 0 0 0 0 0 0 6148 5 12
Play#0 output Play#0 1 8 "spy\\040\\040infiltrator" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 5 40 40 750 0.00000 0.00000 80 32 18 4 3 0 0 0 0 0 1360 0 0
Play#0 output Play#0 1 9 "com\\040\\040commando" 0 0 3 0 0 0 0 0 0 0 0 0 0 0 10 5 40 55 1500 0.00000 0.00000 80 32 18 4 3 0 0 0 0 0 1360 0 0
Play#0 output Play#0 1 10 "aau\\040\\040aa\\040unit" 0 20 5 0 0 0 0 0 12 0 0 0 0 0 20 10 60 70 500 0.500000 1.00000 60 18 20 1 1 0 0 0 1 2 528 0 0
Play#0 output Play#0 1 11 "art\\040\\040artillery" 0 25 40 10 0 0 0 0 24 0 0 0 0 0 20 10 60 35 800 0.100000 0.400000 70 18 20 1 0 8 50 5 2 1 16 0 0
Play#0 output Play#0 1 12 "lat\\040\\040lt\\040artillery" 0 25 20 6 0 0 0 0 12 0 0 0 0 0 20 10 60 70 500 0.200000 0.600000 60 30 18 1 1 5 10 3 1 1 16 0 0
Play#0 output Play#0 1 13 "hat\\040\\040hvy\\040artillery" 0 25 80 12 0 0 0 0 24 0 0 0 0 0 40 20 100 100 800 0.00000 0.200000 60 12 20 1 0 11 99 8 4 1 0 0 0
Play#0 output Play#0 1 14 "mat\\040\\040mech\\040artillery" 0 25 40 10 0 0 0 0 15 0 0 0 0 0 20 10 60 200 1000 0.200000 0.600000 50 35 17 1 1 8 35 6 3 3 16 0 0
Play#0 output Play#0 1 15 "eng\\040\\040engineer" 0 20 3 0 0 0 0 0 12 0 0 0 0 0 10 5 40 130 3000 1.20000 2.40000 50 25 14 2 1 0 0 0 1 1 274 0 0
Play#0 output Play#0 1 16 "meng\\040mech\\040engineer" 0 20 4 0 0 0 0 0 15 0 0 0 0 0 10 5 40 260 4500 1.80000 3.50000 45 33 15 3 3 0 0 0 1 5 274 0 0
Play#0 output Play#0 1 17 "lar\\040\\040lt\\040armor" 0 50 4 0 0 0 0 0 30 0 0 0 0 0 10 5 40 150 600 2.00000 1.00000 50 42 15 4 4 0 0 0 1 2 80 0 0
Play#0 output Play#0 1 18 "har\\040\\040hvy\\040armor" 0 100 3 0 0 0 0 0 48 0 0 0 0 0 20 10 60 120 500 2.00000 0.800000 50 18 17 1 1 0 0 0 2 1 0 0 0
Play#0 output Play#0 1 19 "arm\\040\\040armor" 0 50 4 0 0 0 0 0 30 0 0 0 0 0 20 10 60 170 1000 3.00000 1.50000 40 33 16 2 2 0 0 0 1 2 16 0 0
Play#0 output Play#0 1 20 "sec\\040\\040security" 0 50 4 0 0 0 0 0 30 0 0 0 0 0 10 5 40 170 600 1.00000 2.00000 60 25 15 2 1 0 0 0 1 1 24 0 0
Play#0 output Play#0 1 21 "rad\\040\\040radar\\040unit" 0 10 0 0 0 0 0 0 7 0 0 0 0 0 10 5 40 270 1000 0.00000 0.00000 50 33 15 3 0 0 0 0 0 2 144 1 0
Play#0 output Play#0 1 /22
Play#0 output Play#0 6 0 640
Play#0 input xdump nuke-chr *
Play#0 command xdump
Play#0 output Play#0 1 XDUMP nuke-chr 0
Play#0 output Play#0 1 0 "10kt\\040\\040fission" 50 50 25 70 3 70 10000 280 4 0
Play#0 output Play#0 1 1 "15kt\\040\\040fission" 50 50 25 80 3 90 15000 290 5 0
Play#0 output Play#0 1 2 "50kt\\040\\040fission" 60 60 30 90 3 100 25000 300 6 0
Play#0 output Play#0 1 3 "100kt\\040fission" 75 75 40 120 4 125 30000 310 8 0
Play#0 output Play#0 1 4 "5kt\\040\\040\\040fusion" 15 15 15 30 2 80 12500 315 1 0
Play#0 output Play#0 1 5 "75kt\\040\\040fusion" 40 40 35 50 3 90 20000 320 3 0
Play#0 output Play#0 1 6 "250kt\\040fusion" 50 50 45 60 4 110 25000 330 4 0
Play#0 output Play#0 1 7 "500kt\\040fusion" 60 60 50 80 5 120 35000 340 5 0
Play#0 output Play#0 1 8 "1mt\\040\\040\\040fusion" 75 75 50 110 6 150 40000 350 5 0
Play#0 output Play#0 1 9 "60kt\\040\\040neutron" 60 60 30 100 3 30 30000 355 2 1
Play#0 output Play#0 1 10 "3mt\\040\\040\\040fusion" 100 100 75 130 7 170 45000 360 6 0
Play#0 output Play#0 1 11 "5mt\\040\\040\\040fusion" 120 120 100 150 8 190 50000 370 8 0
Play#0 output Play#0 1 12 "120kt\\040neutron" 75 75 40 120 5 50 36000 375 3 1
Play#0 output Play#0 1 0 "10kt\\040\\040fission" 50 50 25 70 3 70 49 280 10000 4 0
Play#0 output Play#0 1 1 "15kt\\040\\040fission" 50 50 25 80 3 90 51 290 15000 5 0
Play#0 output Play#0 1 2 "50kt\\040\\040fission" 60 60 30 90 3 100 60 300 25000 6 0
Play#0 output Play#0 1 3 "100kt\\040fission" 75 75 40 120 4 125 77 310 30000 8 0
Play#0 output Play#0 1 4 "5kt\\040\\040\\040fusion" 15 15 15 30 2 80 18 315 12500 1 0
Play#0 output Play#0 1 5 "75kt\\040\\040fusion" 40 40 35 50 3 90 41 320 20000 3 0
Play#0 output Play#0 1 6 "250kt\\040fusion" 50 50 45 60 4 110 51 330 25000 4 0
Play#0 output Play#0 1 7 "500kt\\040fusion" 60 60 50 80 5 120 62 340 35000 5 0
Play#0 output Play#0 1 8 "1mt\\040\\040\\040fusion" 75 75 50 110 6 150 77 350 40000 5 0
Play#0 output Play#0 1 9 "60kt\\040\\040neutron" 60 60 30 100 3 30 62 355 30000 2 1
Play#0 output Play#0 1 10 "3mt\\040\\040\\040fusion" 100 100 75 130 7 170 101 360 45000 6 0
Play#0 output Play#0 1 11 "5mt\\040\\040\\040fusion" 120 120 100 150 8 190 122 370 50000 8 0
Play#0 output Play#0 1 12 "120kt\\040neutron" 75 75 40 120 5 50 77 375 36000 3 1
Play#0 output Play#0 1 /13
Play#0 output Play#0 6 0 640
Play#0 input xdump news-chr *
@ -2246,57 +2250,57 @@
Play#1 input xdump ship-chr *
Play#1 command xdump
Play#1 output Play#1 1 XDUMP ship-chr 0
Play#1 output Play#1 1 0 "fb\\040\\040\\040fishing\\040boat" 300 10 0 0 0 0 0 0 900 0 0 0 15 0 25 15 10 10 15 2 0 0 0 0 0 180 524289 0 0
Play#1 output Play#1 1 1 "ft\\040\\040\\040fishing\\040trawler" 300 10 0 0 0 0 0 0 900 0 0 0 15 0 25 15 10 25 15 2 0 0 0 0 35 300 524289 0 0
Play#1 output Play#1 1 2 "cs\\040\\040\\040cargo\\040ship" 600 50 300 50 0 0 0 0 900 0 1400 900 250 0 60 40 20 25 35 3 0 0 1 0 20 500 262144 0 2
Play#1 output Play#1 1 3 "os\\040\\040\\040ore\\040ship" 30 5 0 0 0 990 990 0 200 0 0 0 45 990 60 40 20 25 35 3 0 0 1 0 20 500 0 0 0
Play#1 output Play#1 1 4 "ss\\040\\040\\040slave\\040ship" 20 80 0 0 0 0 0 0 200 0 0 0 1200 0 60 40 20 10 35 3 0 0 1 0 0 300 0 0 0
Play#1 output Play#1 1 6 "frg\\040\\040frigate" 0 60 10 2 0 0 0 0 60 0 0 0 0 0 30 30 50 25 25 3 1 1 1 0 0 600 16384 0 2
Play#1 output Play#1 1 7 "oe\\040\\040\\040oil\\040exploration\\040boat" 10 5 0 0 0 0 0 0 100 1 0 0 0 0 25 15 10 25 15 2 0 0 0 0 40 800 524320 0 0
Play#1 output Play#1 1 8 "od\\040\\040\\040oil\\040derrick" 990 80 0 0 0 0 0 0 990 990 0 0 990 0 60 60 30 15 65 3 0 0 2 0 50 1500 32 0 0
Play#1 output Play#1 1 9 "pt\\040\\040\\040patrol\\040boat" 0 2 12 2 0 0 0 0 5 0 0 0 0 0 20 10 10 38 10 2 1 1 0 0 40 300 524290 0 0
Play#1 output Play#1 1 10 "lc\\040\\040\\040light\\040cruiser" 0 100 40 5 0 0 0 0 100 0 0 0 0 0 30 40 50 30 30 5 6 3 1 0 45 800 128 0 2
Play#1 output Play#1 1 11 "hc\\040\\040\\040heavy\\040cruiser" 0 120 100 8 0 0 0 0 200 0 0 0 0 0 40 50 70 30 30 5 8 4 1 0 50 1200 0 0 4
Play#1 output Play#1 1 12 "tt\\040\\040\\040troop\\040transport" 0 120 20 4 0 0 0 0 120 0 0 0 0 0 50 50 60 20 35 3 1 2 1 0 10 800 16384 0 2
Play#1 output Play#1 1 13 "bb\\040\\040\\040battleship" 0 200 200 10 0 0 0 0 900 0 0 0 0 0 50 70 95 25 35 6 10 7 1 0 45 1800 0 0 2
Play#1 output Play#1 1 14 "bbc\\040\\040battlecruiser" 0 180 100 10 0 0 0 0 400 0 0 0 0 0 50 60 55 30 35 6 10 6 1 0 75 1500 0 0 2
Play#1 output Play#1 1 15 "tk\\040\\040\\040tanker" 30 5 0 0 990 0 0 0 200 990 0 0 25 0 60 40 75 25 45 3 0 0 1 0 35 600 262144 0 0
Play#1 output Play#1 1 16 "ms\\040\\040\\040minesweeper" 0 10 100 1 0 0 0 0 90 0 0 0 0 0 25 15 10 25 15 2 0 0 0 0 40 400 524672 0 0
Play#1 output Play#1 1 17 "dd\\040\\040\\040destroyer" 0 60 40 4 0 0 0 0 80 0 0 0 0 0 30 30 45 35 20 4 6 3 1 0 70 600 196 0 1
Play#1 output Play#1 1 18 "sb\\040\\040\\040submarine" 0 25 36 5 0 0 0 0 80 0 0 0 0 0 30 30 25 20 5 4 3 3 0 0 60 650 706 0 0
Play#1 output Play#1 1 20 "cal\\040\\040light\\040carrier" 0 175 250 4 300 0 0 0 180 0 0 0 0 0 50 60 60 30 40 5 2 2 4 20 80 2700 8 20 0
Play#1 output Play#1 1 0 "fb\\040\\040\\040fishing\\040boat" 300 10 0 0 0 0 0 0 900 0 0 0 15 0 25 15 10 10 15 2 0 0 0 0 75 0 180 524289 0 0
Play#1 output Play#1 1 1 "ft\\040\\040\\040fishing\\040trawler" 300 10 0 0 0 0 0 0 900 0 0 0 15 0 25 15 10 25 15 2 0 0 0 0 75 35 300 524289 0 0
Play#1 output Play#1 1 2 "cs\\040\\040\\040cargo\\040ship" 600 50 300 50 0 0 0 0 900 0 1400 900 250 0 60 40 20 25 35 3 0 0 1 0 160 20 500 262144 0 2
Play#1 output Play#1 1 3 "os\\040\\040\\040ore\\040ship" 30 5 0 0 0 990 990 0 200 0 0 0 45 990 60 40 20 25 35 3 0 0 1 0 160 20 500 0 0 0
Play#1 output Play#1 1 4 "ss\\040\\040\\040slave\\040ship" 20 80 0 0 0 0 0 0 200 0 0 0 1200 0 60 40 20 10 35 3 0 0 1 0 160 0 300 0 0 0
Play#1 output Play#1 1 6 "frg\\040\\040frigate" 0 60 10 2 0 0 0 0 60 0 0 0 0 0 30 30 50 25 25 3 1 1 1 0 110 0 600 16384 0 2
Play#1 output Play#1 1 7 "oe\\040\\040\\040oil\\040exploration\\040boat" 10 5 0 0 0 0 0 0 100 1 0 0 0 0 25 15 10 25 15 2 0 0 0 0 75 40 800 524320 0 0
Play#1 output Play#1 1 8 "od\\040\\040\\040oil\\040derrick" 990 80 0 0 0 0 0 0 990 990 0 0 990 0 60 60 30 15 65 3 0 0 2 0 200 50 1500 32 0 0
Play#1 output Play#1 1 9 "pt\\040\\040\\040patrol\\040boat" 0 2 12 2 0 0 0 0 5 0 0 0 0 0 20 10 10 38 10 2 1 1 0 0 60 40 300 524290 0 0
Play#1 output Play#1 1 10 "lc\\040\\040\\040light\\040cruiser" 0 100 40 5 0 0 0 0 100 0 0 0 0 0 30 40 50 30 30 5 6 3 1 0 130 45 800 128 0 2
Play#1 output Play#1 1 11 "hc\\040\\040\\040heavy\\040cruiser" 0 120 100 8 0 0 0 0 200 0 0 0 0 0 40 50 70 30 30 5 8 4 1 0 160 50 1200 0 0 4
Play#1 output Play#1 1 12 "tt\\040\\040\\040troop\\040transport" 0 120 20 4 0 0 0 0 120 0 0 0 0 0 50 50 60 20 35 3 1 2 1 0 170 10 800 16384 0 2
Play#1 output Play#1 1 13 "bb\\040\\040\\040battleship" 0 200 200 10 0 0 0 0 900 0 0 0 0 0 50 70 95 25 35 6 10 7 1 0 210 45 1800 0 0 2
Play#1 output Play#1 1 14 "bbc\\040\\040battlecruiser" 0 180 100 10 0 0 0 0 400 0 0 0 0 0 50 60 55 30 35 6 10 6 1 0 190 75 1500 0 0 2
Play#1 output Play#1 1 15 "tk\\040\\040\\040tanker" 30 5 0 0 990 0 0 0 200 990 0 0 25 0 60 40 75 25 45 3 0 0 1 0 160 35 600 262144 0 0
Play#1 output Play#1 1 16 "ms\\040\\040\\040minesweeper" 0 10 100 1 0 0 0 0 90 0 0 0 0 0 25 15 10 25 15 2 0 0 0 0 75 40 400 524672 0 0
Play#1 output Play#1 1 17 "dd\\040\\040\\040destroyer" 0 60 40 4 0 0 0 0 80 0 0 0 0 0 30 30 45 35 20 4 6 3 1 0 110 70 600 196 0 1
Play#1 output Play#1 1 18 "sb\\040\\040\\040submarine" 0 25 36 5 0 0 0 0 80 0 0 0 0 0 30 30 25 20 5 4 3 3 0 0 110 60 650 706 0 0
Play#1 output Play#1 1 20 "cal\\040\\040light\\040carrier" 0 175 250 4 300 0 0 0 180 0 0 0 0 0 50 60 60 30 40 5 2 2 4 20 190 80 2700 8 20 0
Play#1 output Play#1 1 /19
Play#1 output Play#1 6 0 0
Play#1 input xdump plane-chr *
Play#1 command xdump
Play#1 output Play#1 1 XDUMP plane-chr 0
Play#1 output Play#1 1 0 "f1\\040\\040\\040Sopwith\\040Camel" 8 2 400 50 90 1 1 1 4 1 1 0 22
Play#1 output Play#1 1 1 "f2\\040\\040\\040P-51\\040Mustang" 8 2 400 80 80 1 4 4 8 1 1 0 70
Play#1 output Play#1 1 2 "jf1\\040\\040F-4\\040Phantom" 12 4 1000 125 45 1 14 14 11 2 3 0 70
Play#1 output Play#1 1 5 "es\\040\\040\\040P-38\\040Lightning" 9 3 700 90 60 1 5 5 15 1 2 0 131074
Play#1 output Play#1 1 7 "lb\\040\\040\\040TBD-1\\040Devastator" 10 3 550 60 50 2 0 3 7 1 1 0 83
Play#1 output Play#1 1 9 "mb\\040\\040\\040medium\\040bomber" 14 5 1000 80 45 4 0 5 14 3 3 0 3
Play#1 output Play#1 1 11 "hb\\040\\040\\040B-26B\\040Marauder" 20 6 1100 90 90 5 0 4 15 2 2 0 1
Play#1 output Play#1 1 14 "as\\040\\040\\040anti-sub\\040plane" 10 3 550 100 85 2 0 3 15 2 2 0 819202
Play#1 output Play#1 1 19 "tr\\040\\040\\040C-56\\040Lodestar" 14 5 1000 85 0 7 0 2 15 3 3 0 65544
Play#1 output Play#1 1 21 "zep\\040\\040Zeppelin" 6 2 1000 70 60 2 0 -3 15 3 2 0 154
Play#1 output Play#1 1 0 "f1\\040\\040\\040Sopwith\\040Camel" 8 2 32 50 400 90 1 1 1 4 1 1 0 22
Play#1 output Play#1 1 1 "f2\\040\\040\\040P-51\\040Mustang" 8 2 32 80 400 80 1 4 4 8 1 1 0 70
Play#1 output Play#1 1 2 "jf1\\040\\040F-4\\040Phantom" 12 4 40 125 1000 45 1 14 14 11 2 3 0 70
Play#1 output Play#1 1 5 "es\\040\\040\\040P-38\\040Lightning" 9 3 35 90 700 60 1 5 5 15 1 2 0 131074
Play#1 output Play#1 1 7 "lb\\040\\040\\040TBD-1\\040Devastator" 10 3 36 60 550 50 2 0 3 7 1 1 0 83
Play#1 output Play#1 1 9 "mb\\040\\040\\040medium\\040bomber" 14 5 44 80 1000 45 4 0 5 14 3 3 0 3
Play#1 output Play#1 1 11 "hb\\040\\040\\040B-26B\\040Marauder" 20 6 52 90 1100 90 5 0 4 15 2 2 0 1
Play#1 output Play#1 1 14 "as\\040\\040\\040anti-sub\\040plane" 10 3 36 100 550 85 2 0 3 15 2 2 0 819202
Play#1 output Play#1 1 19 "tr\\040\\040\\040C-56\\040Lodestar" 14 5 44 85 1000 0 7 0 2 15 3 3 0 65544
Play#1 output Play#1 1 21 "zep\\040\\040Zeppelin" 6 2 30 70 1000 60 2 0 -3 15 3 2 0 154
Play#1 output Play#1 1 /10
Play#1 output Play#1 6 0 0
Play#1 input xdump land-chr *
Play#1 command xdump
Play#1 output Play#1 1 XDUMP land-chr 0
Play#1 output Play#1 1 0 "cav\\040\\040cavalry" 0 20 0 0 0 0 0 0 12 0 0 0 0 0 10 5 30 500 1.20000 0.500000 80 32 18 4 3 0 0 0 0 0 80 0 0
Play#1 output Play#1 1 1 "linf\\040light\\040infantry" 0 25 1 0 0 0 0 0 15 0 0 0 0 0 8 4 40 300 1.00000 1.50000 60 28 15 2 1 0 0 0 1 1 272 0 0
Play#1 output Play#1 1 2 "inf\\040\\040infantry" 0 100 0 0 0 0 0 0 24 0 0 0 0 0 10 5 50 500 1.00000 1.50000 60 25 15 2 1 0 0 0 0 0 272 0 0
Play#1 output Play#1 1 6 "sup\\040\\040supply" 0 25 200 10 300 100 100 10 300 0 200 100 0 0 10 5 50 500 0.100000 0.200000 80 25 20 1 0 0 0 0 0 0 20 0 0
Play#1 output Play#1 1 7 "tra\\040\\040train" 0 990 990 200 990 500 500 100 990 990 990 990 0 150 100 50 40 3500 0.00000 0.00000 120 10 25 3 0 0 0 0 0 0 6148 5 12
Play#1 output Play#1 1 8 "spy\\040\\040infiltrator" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 5 40 750 0.00000 0.00000 80 32 18 4 3 0 0 0 0 0 1360 0 0
Play#1 output Play#1 1 9 "com\\040\\040commando" 0 0 3 0 0 0 0 0 0 0 0 0 0 0 10 5 55 1500 0.00000 0.00000 80 32 18 4 3 0 0 0 0 0 1360 0 0
Play#1 output Play#1 1 10 "aau\\040\\040aa\\040unit" 0 20 5 0 0 0 0 0 12 0 0 0 0 0 20 10 70 500 0.500000 1.00000 60 18 20 1 1 0 0 0 1 2 528 0 0
Play#1 output Play#1 1 11 "art\\040\\040artillery" 0 25 40 10 0 0 0 0 24 0 0 0 0 0 20 10 35 800 0.100000 0.400000 70 18 20 1 0 8 50 5 2 1 16 0 0
Play#1 output Play#1 1 12 "lat\\040\\040lt\\040artillery" 0 25 20 6 0 0 0 0 12 0 0 0 0 0 20 10 70 500 0.200000 0.600000 60 30 18 1 1 5 10 3 1 1 16 0 0
Play#1 output Play#1 1 13 "hat\\040\\040hvy\\040artillery" 0 25 80 12 0 0 0 0 24 0 0 0 0 0 40 20 100 800 0.00000 0.200000 60 12 20 1 0 11 99 8 4 1 0 0 0
Play#1 output Play#1 1 18 "har\\040\\040hvy\\040armor" 0 100 3 0 0 0 0 0 48 0 0 0 0 0 20 10 120 500 2.00000 0.800000 50 18 17 1 1 0 0 0 2 1 0 0 0
Play#1 output Play#1 1 0 "cav\\040\\040cavalry" 0 20 0 0 0 0 0 0 12 0 0 0 0 0 10 5 40 30 500 1.20000 0.500000 80 32 18 4 3 0 0 0 0 0 80 0 0
Play#1 output Play#1 1 1 "linf\\040light\\040infantry" 0 25 1 0 0 0 0 0 15 0 0 0 0 0 8 4 36 40 300 1.00000 1.50000 60 28 15 2 1 0 0 0 1 1 272 0 0
Play#1 output Play#1 1 2 "inf\\040\\040infantry" 0 100 0 0 0 0 0 0 24 0 0 0 0 0 10 5 40 50 500 1.00000 1.50000 60 25 15 2 1 0 0 0 0 0 272 0 0
Play#1 output Play#1 1 6 "sup\\040\\040supply" 0 25 200 10 300 100 100 10 300 0 200 100 0 0 10 5 40 50 500 0.100000 0.200000 80 25 20 1 0 0 0 0 0 0 20 0 0
Play#1 output Play#1 1 7 "tra\\040\\040train" 0 990 990 200 990 500 500 100 990 990 990 990 0 150 100 50 220 40 3500 0.00000 0.00000 120 10 25 3 0 0 0 0 0 0 6148 5 12
Play#1 output Play#1 1 8 "spy\\040\\040infiltrator" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 5 40 40 750 0.00000 0.00000 80 32 18 4 3 0 0 0 0 0 1360 0 0
Play#1 output Play#1 1 9 "com\\040\\040commando" 0 0 3 0 0 0 0 0 0 0 0 0 0 0 10 5 40 55 1500 0.00000 0.00000 80 32 18 4 3 0 0 0 0 0 1360 0 0
Play#1 output Play#1 1 10 "aau\\040\\040aa\\040unit" 0 20 5 0 0 0 0 0 12 0 0 0 0 0 20 10 60 70 500 0.500000 1.00000 60 18 20 1 1 0 0 0 1 2 528 0 0
Play#1 output Play#1 1 11 "art\\040\\040artillery" 0 25 40 10 0 0 0 0 24 0 0 0 0 0 20 10 60 35 800 0.100000 0.400000 70 18 20 1 0 8 50 5 2 1 16 0 0
Play#1 output Play#1 1 12 "lat\\040\\040lt\\040artillery" 0 25 20 6 0 0 0 0 12 0 0 0 0 0 20 10 60 70 500 0.200000 0.600000 60 30 18 1 1 5 10 3 1 1 16 0 0
Play#1 output Play#1 1 13 "hat\\040\\040hvy\\040artillery" 0 25 80 12 0 0 0 0 24 0 0 0 0 0 40 20 100 100 800 0.00000 0.200000 60 12 20 1 0 11 99 8 4 1 0 0 0
Play#1 output Play#1 1 18 "har\\040\\040hvy\\040armor" 0 100 3 0 0 0 0 0 48 0 0 0 0 0 20 10 60 120 500 2.00000 0.800000 50 18 17 1 1 0 0 0 2 1 0 0 0
Play#1 output Play#1 1 /12
Play#1 output Play#1 6 0 0
Play#1 input xdump nuke-chr *