sail: Remove option SAIL

SAIL has issues:

* Sail orders are executed at the update.  Crafty players can use them
  to get around the update window.

* The route is fixed at command time.  You can't let the update find
  the best route, like it does for distribution.

* The info pages documenting it amount to almost 100 non-blank lines
  formatted.  They claim you can follow friendly ships.  This is
  wrong.  They also show incorrect follow syntax.  Unlikely to be the
  only errors.

* Few players use it.  Makes it a nice hidey-hole for bugs.  Here are
  two nice ones:

  - If follow's second argument is negative, the code attempts to
    follow an uninitialized ship.  Could well be a remote hole.

  - If ship #1 follows #2 follows #3 follows #2, the update goes into
    an infinite loop.

* It's more than 500 lines of rather crufty code nobody wants to
  touch.  Thanks to a big effort in Empire 2, it shares some code with
  the navigation command.  It still duplicates other navigation code.
  The sharing complicates fixing the bugs demonstrated by
  navi-march-test.

Reviewing, fixing and testing this mess isn't worth the opportunity
cost.  Remove it instead.  Drop commands follow, mquota, sail and
unsail.  Drop ship selectors mquota, path, follow.

struct shpstr shrinks some more, on my system from 160 to 120 bytes.

Signed-off-by: Markus Armbruster <armbru@pond.sub.org>
This commit is contained in:
Markus Armbruster 2014-12-24 21:42:51 +01:00
parent 48e656c057
commit dc73207a99
37 changed files with 297 additions and 1157 deletions

View file

@ -189,8 +189,6 @@ EMPCF_OPT("RAILWAYS", opt_RAILWAYS,
"Highways double as rail")
EMPCF_OPT("RES_POP", opt_RES_POP,
"Population is limited by research")
EMPCF_OPT("SAIL", opt_SAIL,
"Enable sail command")
EMPCF_OPT("SUPER_BARS", opt_SUPER_BARS,
"Make bars immune to damage")
EMPCF_OPT("TECH_POP", opt_TECH_POP,

View file

@ -123,7 +123,6 @@ int fina(void);
int flash(void);
int flee(void);
int fly(void);
int foll(void);
int force(void);
int fort(void);
int give(void);
@ -154,7 +153,6 @@ int march(void);
int mark(void);
int mine(void);
int mission(void);
int mobq(void);
int morale(void);
int move(void);
int multifire(void);
@ -195,7 +193,6 @@ int reso(void);
int retr(void);
int rout(void);
int sabo(void);
int sail(void);
int sate(void);
int scra(void);
int sct(void);
@ -717,8 +714,6 @@ extern int update_removewants(void);
/* revolt.c */
extern void revolt(struct sctstr *);
extern void guerrilla(struct sctstr *);
/* sail.c */
extern void sail_ship(natid);
/* sect.c */
extern void do_fallout(struct sctstr *, int);
extern void spread_fallout(struct sctstr *, int);

View file

@ -72,9 +72,6 @@ struct shpstr {
short shp_pstage; /* plague stage */
short shp_ptime; /* how many etus remain in this stage */
short shp_access; /* Last tick mob was updated (MOB_ACCESS) */
unsigned char shp_mobquota; /* mobility quota */
char shp_path[MAXSHPPATH];
int shp_follow;
char shp_name[MAXSHPNAMLEN]; /* name set with the "name" command */
coord shp_orig_x;
coord shp_orig_y; /* Where we were built */

View file

@ -39,7 +39,6 @@ This document gives a rough order of events during the update.
g) then make things
f) ship building
stopped ships are started, but not built (see info stop)
finally, if option SAIL is enabled, follow sail paths
g) plane building
stopped planes are started, but not built (see info stop)
h) land unit building

View file

@ -1,23 +0,0 @@
.TH Command FOLLOW
.NA follow "Cause one ship to automatically follow another"
.LV Expert
.SY "follow <SHIP/FLEET>"
You use the \*Qfollow\*U command to get a ship to use the same
sailing path as another ship.
At each update, ships with a sailing path \*Qautonavigate\*U along
the path that was set for them, and ships that are set
to follow that ship will also be navigated along the same
path. Telegrams notify you of arrivals
or problems encountered while attempting to follow the path.
.s1
Radar operates continuously as the ship moves along the path, constantly
adding sector information to the known world map.
.s1
Ship movement is performed before mobility is increased.
This insures that after the update, ships with a sailing path will still
have some mobility so that you can always manually navigate
to some extent.
.s1
You may follow any ship which is owned by you or a friendly country.
.s1
.SA "sail, unsail, mquota, Ships"

View file

@ -31,8 +31,6 @@ That's the price you pay for having automatic defenses.
.s1
.L "IMPORTANT NOTES"
.s1
Missions can occur during updates. (Interdicting ships using "sail").
.s1
Artillery units less than 40% efficient will not fire.
.s1
Planes flying missions other than air defense will be intercepted

View file

@ -1,8 +0,0 @@
.TH Command MQUOTA
.NA mquota "Change the mobility quota of a ship with SAIL orders"
.LV Expert
.SY "mquota <SHIP/FLEET> <NUMBER>"
You use the \*Qmquota\*U command to limit the amount of mobility
that a ship a sailing path will use during an update.
.s1
.SA "sail, unsail, follow, Ships"

View file

@ -148,4 +148,4 @@ all the ships in the fleet which are in the same sector.
While navigating, you cannot enter a sector that belongs to another
country unless they have FRIENDLY relations with you. This includes bridges, and harbors.
.s1
.SA "mine, Ship-types, mission, sail, Ships, Transportation, Moving"
.SA "mine, Ship-types, mission, Ships, Transportation, Moving"

View file

@ -47,7 +47,7 @@ allies, but not by others . Allied nations are assumed to have
When you accept a country as a trustworthy trading partner, then you
establish friendly relations towards them. This allows them to sail
ships into your harbours, load and unload goods, and have their
ships repaired there. You are allowed to "tend" and "follow" friendly
ships repaired there. You are allowed to "tend" friendly
ships. You may send "flash" messages (see info flash) to friendly nations.
You will be warned, however, if they overfly
your territory. And if they do it enough times, your diplomatic

View file

@ -1,55 +0,0 @@
.TH Command SAIL
.NA sail "Give sailing orders to a ship"
.LV Expert
.SY "sail <SHIP/FLEET> [<PATH>|q[uery]|-]"
You use the \*Qsail\*U command to give a sailing path to ships.
At each update, ships with a sailing path \*Qauto-navigate\*U along
the path that was set for them. Telegrams notify you of arrivals
or problems encountered while attempting to follow the path.
.s1
Radar operates continuously as the ship moves along the path, constantly
adding sector information to the known world map.
.s1
Ship movement is performed before mobility is increased.
This insures that after the update, ships with a sailing path will still
have some mobility so that you can always manually navigate
to some extent.
.s1
Note that ships sailing can encounter exactly the same interdiction as
ships navigating.
.s1
.EX sail <SHIP/FLEET> q
.s1
\*Qsail\*U, with the \*Qquery\*U parameter, shows the current sailing path.
The report indicates:
.NF
shp# ship number
ship type type of ship (cargo ship, destroyer, etc)
x,y ship's current position
mobil ship's current mobility
mobquota mobility available per update to sail
follows ship that is being followed
path the current sailing path
shp# ship type x,y mobil mobquota follows path
1 cargo ship -27,19 44 32 1 jjjuujj
12 cargo ship -27,19 40 32 1
34 fishing boat 15,32 58 32 3 ggbbgyyg
58 cargo ship 18,34 62 0 4
4 ship(s)
.FI
.s1
.EX sail <SHIP/FLEET> -
.s1
\*Qsail\*U, with the \*Q-\*U parameter, causes the sailing path
for the ships specified to be removed.
.s1
The PATH is a normal empire path specification. You may *not* give a
destination sector on the command line, or at any time while giving
the route.
.s1
When getting a path interactively, empire will show you the information
you have (from your bmap) concerning the current area, to help you plot
your course.
.s1
.SA "follow, unsail, mquota, Ships"

View file

@ -1,7 +0,0 @@
.TH Command UNSAIL
.NA unsail "Stop a ship from sailing"
.LV Expert
.SY "unsail <SHIP/FLEET>"
You use the \*Qunsail\*U command to remove a sailing path from ships.
.s1
.SA "follow, sail, mquota, Ships"

View file

@ -884,7 +884,7 @@ edit_ship(struct shpstr *ship, char *key, char *p)
{
struct mchrstr *mcp = &mchr[ship->shp_type];
int arg = atoi(p);
int old_uid, ret;
int ret;
switch (*key) {
case 'U':
@ -893,13 +893,8 @@ edit_ship(struct shpstr *ship, char *key, char *p)
case 'E':
case 'M':
case 'F':
old_uid = ship->shp_uid;
ret = edit_unit((struct empobj *)ship, key, p,
SHIP_MINEFF, "fleet", 0);
if (ret == RET_OK && ship->shp_uid != old_uid) {
if (ship->shp_follow == old_uid)
ship->shp_follow = ship->shp_uid;
}
return ret;
case 't':
arg = ef_elt_byname(EF_SHIP_CHR, p);

View file

@ -1,97 +0,0 @@
/*
* Empire - A multi-player, client/server Internet based war game.
* Copyright (C) 1986-2014, Dave Pare, Jeff Bailey, Thomas Ruschak,
* Ken Stevens, Steve McClure, Markus Armbruster
*
* Empire is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* ---
*
* See files README, COPYING and CREDITS in the root of the source
* tree for related information and legal notices. It is expected
* that future projects/authors will amend these files as needed.
*
* ---
*
* foll.c: Set leader of a set of ships
*
* Known contributors to this file:
* Robert Forsman
*/
#include <config.h>
#include "commands.h"
#include "optlist.h"
#include "ship.h"
int
foll(void)
{
struct shpstr ship;
char *cp;
int good, leader, count = 0;
coord x, y;
struct nstr_item nstr;
char buf[1024];
if (!opt_SAIL) {
pr("The SAIL option is not enabled, so this command is not valid.\n");
return RET_FAIL;
}
if (!snxtitem(&nstr, EF_SHIP, player->argp[1], NULL))
return RET_SYN;
cp = getstarg(player->argp[2], "leader? ", buf);
if (!cp)
cp = "";
good = sscanf(cp, "%d", &leader);
if (!good)
return RET_SYN;
getship(leader, &ship);
if (relations_with(ship.shp_own, player->cnum) < FRIENDLY) {
pr("That ship won't let you follow.\n");
return RET_FAIL;
}
x = ship.shp_x;
y = ship.shp_y;
while (nxtitem(&nstr, &ship)) {
if (!player->owner)
continue;
if (ship.shp_x != x || ship.shp_y != y) {
pr("Ship #%d not in same sector as #%d\n",
ship.shp_uid, leader);
continue;
}
if (ship.shp_uid == leader) {
pr("Ship #%d can't follow itself!\n", leader);
continue;
}
count++;
ship.shp_mission = 0;
*ship.shp_path = 'f';
ship.shp_path[1] = 0;
ship.shp_follow = leader;
pr("Ship #%d follows #%d.\n", ship.shp_uid, leader);
putship(ship.shp_uid, &ship);
}
if (count == 0) {
if (player->argp[1])
pr("%s: No ship(s)\n", player->argp[1]);
else
pr("%s: No ship(s)\n", "");
return RET_FAIL;
} else
pr("%d ship%s\n", count, splur(count));
return RET_OK;
}

View file

@ -1,109 +0,0 @@
/*
* Empire - A multi-player, client/server Internet based war game.
* Copyright (C) 1986-2014, Dave Pare, Jeff Bailey, Thomas Ruschak,
* Ken Stevens, Steve McClure, Markus Armbruster
*
* Empire is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* ---
*
* See files README, COPYING and CREDITS in the root of the source
* tree for related information and legal notices. It is expected
* that future projects/authors will amend these files as needed.
*
* ---
*
* mobq.c: Set the sailing mobility quota for a ship
*
* Known contributors to this file:
* Robert Forsman
*/
#include <config.h>
#include "commands.h"
#include "optlist.h"
#include "ship.h"
int
mobq(void)
{
struct shpstr ship;
char *cp, *oldmq;
int good, mobquota, count = 0;
struct nstr_item nstr;
char buf[1024];
if (!opt_SAIL) {
pr("The SAIL option is not enabled, so this command is not valid.\n");
return RET_FAIL;
}
if (!snxtitem(&nstr, EF_SHIP, player->argp[1], NULL))
return RET_SYN;
oldmq = player->argp[2];
if (oldmq) {
good = sscanf(oldmq, "%d", &mobquota);
if (!good)
return RET_SYN;
if (mobquota < 0 || mobquota > ship_mob_max) {
pr("Bad mobility quota value %d.\n", mobquota);
return RET_SYN;
}
if (mobquota + (ship_mob_scale * (float)etu_per_update) >
ship_mob_max) {
pr("warning: %d less than optimal\n", mobquota);
}
}
while (nxtitem(&nstr, &ship)) {
if (!player->owner)
continue;
if (!oldmq)
pr("Ship #%d at %s. Old value %d.\n", ship.shp_uid,
xyas(ship.shp_x, ship.shp_y, player->cnum),
ship.shp_mobquota);
cp = getstarg(player->argp[2], "mobility quota? ", buf);
if (!cp)
return RET_SYN;
if (!check_ship_ok(&ship))
continue;
good = sscanf(cp, "%d", &mobquota);
if (!good) {
pr("Huh?\n");
continue;
}
if (!oldmq) {
if (mobquota < 0 || mobquota > ship_mob_max) {
pr("Bad mobility quota value %d.\n", mobquota);
continue;
}
if (mobquota + (ship_mob_scale * (float)etu_per_update) >
ship_mob_max) {
pr("warning: %d less than optimal\n", mobquota);
}
}
ship.shp_mobquota = mobquota;
count++;
putship(ship.shp_uid, &ship);
}
if (count == 0) {
if (player->argp[1])
pr("%s: No ship(s)\n", player->argp[1]);
else
pr("%s: No ship(s)\n", "");
return RET_FAIL;
} else
pr("%d ship%s\n", count, splur(count));
return RET_OK;
}

View file

@ -1,147 +0,0 @@
/*
* Empire - A multi-player, client/server Internet based war game.
* Copyright (C) 1986-2014, Dave Pare, Jeff Bailey, Thomas Ruschak,
* Ken Stevens, Steve McClure, Markus Armbruster
*
* Empire is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* ---
*
* See files README, COPYING and CREDITS in the root of the source
* tree for related information and legal notices. It is expected
* that future projects/authors will amend these files as needed.
*
* ---
*
* sail.c: Set sail path for leaders
*
* Known contributors to this file:
* Robert Forsman
*/
#include <config.h>
#include "commands.h"
#include "optlist.h"
#include "path.h"
#include "ship.h"
static int
show_sail(struct nstr_item *nstr)
{
int count = 0;
struct shpstr ship;
while (nxtitem(nstr, &ship)) {
if (!player->owner || ship.shp_own == 0)
continue;
if (count++ == 0) {
if (player->god)
pr("own ");
pr("shp# ship type x,y ");
pr("mobil mobquota follows path\n");
}
if (player->god)
pr("%3d ", ship.shp_own);
pr("%4d ", ship.shp_uid);
pr("%-16.16s ", mchr[(int)ship.shp_type].m_name);
prxy("%4d,%-4d ", ship.shp_x, ship.shp_y);
pr("%3d ", ship.shp_mobil);
pr(" %3d ", ship.shp_mobquota);
pr(" %3d ", ship.shp_follow);
if (ship.shp_path[0]) {
pr("%s", ship.shp_path);
}
pr("\n");
if (ship.shp_name[0] != 0) {
if (player->god)
pr(" ");
pr(" %s\n", ship.shp_name);
}
}
if (count == 0) {
if (player->argp[1])
pr("%s: No ship(s)\n", player->argp[1]);
else
pr("%s: No ship(s)\n", "");
return RET_FAIL;
} else
pr("%d ship%s\n", count, splur(count));
return RET_OK;
}
static int
cmd_unsail_ship(struct nstr_item *nstr)
{
struct shpstr ship;
int count = 0;
while (nxtitem(nstr, &ship)) {
if (!player->owner || ship.shp_own == 0)
continue;
if (ship.shp_path[0]) {
pr("Ship #%d unsailed\n", ship.shp_uid);
count++;
ship.shp_path[0] = 0;
putship(ship.shp_uid, &ship);
}
}
return RET_OK;
}
static int
cmd_sail_ship(struct nstr_item *nstr)
{
char *cp;
struct shpstr ship;
char navpath[MAX_PATH_LEN];
while (nxtitem(nstr, &ship)) {
if (!player->owner || ship.shp_own == 0)
continue;
pr("Ship #%d at %s\n", ship.shp_uid,
xyas(ship.shp_x, ship.shp_y, player->cnum));
cp = getpath(navpath, player->argp[2],
ship.shp_x, ship.shp_y, 0, 0, MOB_SAIL);
if (!cp)
return RET_FAIL;
if (!check_ship_ok(&ship))
continue;
strncpy(ship.shp_path, cp, sizeof(ship.shp_path) - 1);
ship.shp_mission = 0;
putship(ship.shp_uid, &ship);
}
return RET_OK;
}
int
sail(void)
{
char *cp;
struct nstr_item nstr;
if (!opt_SAIL) {
pr("The SAIL option is not enabled, so this command is not valid.\n");
return RET_FAIL;
}
if (!snxtitem(&nstr, EF_SHIP, player->argp[1], NULL))
return RET_SYN;
cp = player->argp[2];
if (*player->argp[0] == 'u' || (cp && !strcmp(cp, "-")))
return cmd_unsail_ship(&nstr);
if (cp && *cp == 'q')
return show_sail(&nstr);
return cmd_sail_ship(&nstr);
}

View file

@ -236,10 +236,6 @@ struct castr ship_ca[] = {
EF_PLAGUE_STAGES, NSC_DEITY},
{"ptime", fldoff(shp_ptime), NSC_SHORT, 0, NULL, EF_BAD, NSC_DEITY},
{"access", fldoff(shp_access), NSC_SHORT, 0, NULL, EF_BAD, 0},
{"mquota", fldoff(shp_mobquota), NSC_UCHAR, 0, NULL, EF_BAD, 0},
{"path", fldoff(shp_path), NSC_STRINGY, MAXSHPPATH, NULL, EF_BAD, 0},
/* follow can point to dead ship; avoid ca_table for now */
{"follow", fldoff(shp_follow), NSC_INT, 0, NULL, EF_BAD, 0},
{"name", fldoff(shp_name), NSC_STRINGY, MAXSHPNAMLEN, NULL,
EF_BAD, 0},
/* should let builder access xbuilt, ybuilt, but can't express that: */

View file

@ -28,7 +28,7 @@
*
* Known contributors to this file:
* Steve McClure, 1998
* Markus Armbruster, 2005-2011
* Markus Armbruster, 2005-2014
*/
#include <config.h>
@ -56,6 +56,5 @@ int opt_NO_FORT_FIRE = 0;
int opt_NO_PLAGUE = 1;
int opt_RAILWAYS = 1;
int opt_RES_POP = 0;
int opt_SAIL = 1;
int opt_SUPER_BARS = 0;
int opt_TECH_POP = 0;

View file

@ -114,7 +114,6 @@ struct cmndstr player_coms[] = {
{"fleetadd <FLEET> <SHIPS>", 0, flee, C_MOD, NORM},
{"fly <cargo-PLANES> <fighter-PLANES> <ap-SECT> <PATH|DESTINATION> <COM>",
2, fly, C_MOD, NORM + MONEY + CAP},
{"follow <leader> <SHIPS>", 1, foll, C_MOD, NORM + CAP},
{"force", 0, force, C_MOD, GOD},
{"fortify <UNITS> <MOB>", 1, fort, C_MOD, NORM + CAP},
{"give <COMM> <SECTS> <NUM>", 0, give, C_MOD, GOD},
@ -162,7 +161,6 @@ struct cmndstr player_coms[] = {
{"motd", 0, show_motd, 0, 0},
{"move <COMM> <SECT> <NUM> <PATH|DESTINATION>",
1, move, C_MOD, NORM + CAP},
{"mquota <SHIPS> <value>", 2, mobq, C_MOD, NORM + CAP},
{"name <SHIPS> <NAME>", 0, name, C_MOD, NORM},
{"nation [as-COUNTRY]", 0, nati, 0, 0},
{"navigate <SHIPS> <PATH|DESTINATION>", 1, navi, C_MOD, NORM + CAP},
@ -211,7 +209,6 @@ struct cmndstr player_coms[] = {
1, retr, C_MOD, NORM + CAP},
{"route <COMM> <SECTS>", 1, rout, C_MOD, NORM},
{"sabotage <UNITS>", 1, sabo, C_MOD, NORM + MONEY + CAP},
{"sail <SHIPS> <PATH>", 1, sail, C_MOD, NORM + CAP},
{"satellite <PLANE> [<se|sh|l> [?cond&cond&...]]",
1, sate, C_MOD, NORM + CAP},
{"sbmap <SECTS|SHIP> [s|l|n|p|r|t|*|h]", 0, map, C_MOD, NORM},
@ -267,7 +264,6 @@ struct cmndstr player_coms[] = {
{"turn <\"on\"|\"off\"|\"mess\">", 0, turn, C_MOD, GOD},
{"unload <COMM|\"land\"|\"plane\"> <SHIPS> <NUM|UNIT|PLANE>",
1, load, C_MOD, NORM + CAP},
{"unsail <SHIPS>", 1, sail, C_MOD, NORM + CAP},
{"update", 0, upda, 0, 0},
{"upgrade <s|p|l> <SHIPS|PLANES|UNITS>",
1, upgr, C_MOD, NORM + MONEY + CAP},

View file

@ -136,15 +136,6 @@ retreat_ship1(struct shpstr *sp, char code, int orig)
struct mchrstr *mcp;
int changed;
if (opt_SAIL) {
/* can't retreat a ship that's sailin, bad things happend */
if (*sp->shp_path) {
wu(0, sp->shp_own,
"%s %s,\nbut had sailing orders, and couldn't retreat!\n",
prship(sp), conditions[findcondition(code)].desc[orig]);
return 0;
}
}
/* check crew - uws don't count */
if (sp->shp_item[I_MILIT] == 0 && sp->shp_item[I_CIVIL] == 0) {
wu(0, sp->shp_own,

View file

@ -132,13 +132,6 @@ shp_nav(struct emp_qelem *list, double *minmobp, double *maxmobp,
free(mlp);
continue;
}
if (opt_SAIL) {
if (*sp->shp_path && !update_running) {
shp_stays(actor, "has a sail path", mlp);
mpr(actor, "Use `sail <#> -' to reset\n");
continue;
}
}
/* check crew - uws don't count */
if (sp->shp_item[I_MILIT] == 0 && sp->shp_item[I_CIVIL] == 0) {
shp_stays(actor, "is crewless", mlp);

View file

@ -338,9 +338,6 @@ unit_wipe_orders(struct empobj *unit)
switch (unit->ef_type) {
case EF_SHIP:
sp = (struct shpstr *)unit;
sp->shp_mobquota = 0;
sp->shp_path[0] = 0;
sp->shp_follow = sp->shp_uid;
sp->shp_rflags = 0;
sp->shp_rpath[0] = 0;
break;

View file

@ -1,347 +0,0 @@
/*
* Empire - A multi-player, client/server Internet based war game.
* Copyright (C) 1986-2014, Dave Pare, Jeff Bailey, Thomas Ruschak,
* Ken Stevens, Steve McClure, Markus Armbruster
*
* Empire is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* ---
*
* See files README, COPYING and CREDITS in the root of the source
* tree for related information and legal notices. It is expected
* that future projects/authors will amend these files as needed.
*
* ---
*
* sail.c: Sail ships during the update
*
* Known contributors to this file:
* Doug Hay
* Robert Forsman
* Ken Stevens, 1995
* Steve McClure, 1998-2000
*/
#include <config.h>
#include <math.h>
#include "nsc.h"
#include "path.h"
#include "update.h"
#include "empobj.h"
#include "unit.h"
struct fltelemstr {
int num;
int own;
double mobil, mobcost;
struct fltelemstr *next;
};
struct fltheadstr {
int leader;
signed char real_q;
/* defines for the real_q member */
#define LEADER_VIRTUAL 0
#define LEADER_REAL 1
#define LEADER_WRONGSECT 2
coord x, y;
natid own;
unsigned maxmoves;
struct fltelemstr *head;
struct fltheadstr *next;
};
static void fltp_to_list(struct fltheadstr *, struct emp_qelem *);
static void
cost_ship(struct shpstr *sp, struct fltelemstr *ep, struct fltheadstr *fp)
{
double mobcost = shp_mobcost(sp);
int howfar;
howfar = 0;
if (mobcost > 0) {
howfar = (int)sp->shp_mobil - (int)sp->shp_mobquota;
howfar = ceil((howfar / mobcost));
}
if (howfar < 0)
howfar = 0;
#ifdef SAILDEBUG
wu(0, fp->own,
"Ship #%d can move %d spaces on mobility %d (cost/sect %f)\n",
sp->shp_uid, howfar, sp->shp_mobil, mobcost);
#endif
if ((unsigned)howfar < fp->maxmoves)
fp->maxmoves = howfar;
ep->mobil = sp->shp_mobil;
ep->mobcost = mobcost;
}
static int
sail_find_fleet(struct fltheadstr **head, struct shpstr *sp)
{
struct fltheadstr *fltp;
struct shpstr *ap;
struct fltelemstr *this;
int len = 0;
int follow = -1;
int stop;
char *cp;
if (sp->shp_own == 0)
return 0;
/* If this ship is following, find the head of the follow list. */
for (ap = sp; ap; len++, ap = getshipp(follow)) {
follow = ap->shp_follow;
/* Not same owner */
if (ap->shp_own != sp->shp_own) {
wu(0, sp->shp_own,
"Ship #%d, following #%d, which you don't own.\n",
sp->shp_uid, ap->shp_uid);
return 0;
}
/* Not a follower. */
if (ap->shp_path[0] != 'f')
break;
/* Following itself */
if (follow == ap->shp_uid || follow == sp->shp_uid)
break;
}
if (!ap) {
wu(0, sp->shp_own,
"Ship #%d, following #%d, which you don't own.\n",
sp->shp_uid, follow);
return 0;
}
/* This should prevent infinite loops. */
if (len >= 10) {
wu(0, sp->shp_own,
"Ship #%d, too many follows (circular follow?).\n",
sp->shp_uid);
return 0;
}
for (stop = 0, cp = ap->shp_path; !stop && *cp; cp++) {
switch (*cp) {
case 'y':
case 'u':
case 'g':
case 'j':
case 'b':
case 'n':
case 'h':
case 't':
break;
default:
stop = 1;
}
}
/* we found a non-valid char in the path. */
if (*cp) {
wu(0, ap->shp_own, "invalid char '\\%03o' in path of ship %d\n",
(unsigned char)*cp, ap->shp_uid);
*cp = 0;
}
/* if this ship is not sailing anywhere then ignore it. */
if (!*ap->shp_path)
return 0;
/* Find the fleet structure we belong to. */
for (fltp = *head; fltp && fltp->leader != follow; fltp = fltp->next) ;
if (!fltp) {
fltp = malloc(sizeof(*fltp));
memset(fltp, 0, sizeof(*fltp));
/* Fix the links. */
fltp->next = *head;
*head = fltp;
/* Set the leader. */
fltp->leader = ap->shp_uid;
fltp->real_q = LEADER_REAL;
fltp->x = ap->shp_x;
fltp->y = ap->shp_y;
fltp->own = ap->shp_own;
fltp->maxmoves = 500;
}
/* If the fleet is not in the same sector as us, no go. */
if ((fltp->x != sp->shp_x) || (fltp->y != sp->shp_y)) {
wu(0, sp->shp_own,
"Ship %d not in same sector as its sailing fleet\n",
sp->shp_uid);
fltp->real_q = LEADER_WRONGSECT;
return 0;
}
this = malloc(sizeof(*this));
memset(this, 0, sizeof(*this));
this->num = sp->shp_uid;
this->own = sp->shp_own;
this->next = fltp->head;
fltp->head = this;
cost_ship(sp, this, fltp);
return 1;
}
static int
sail_nav_fleet(struct fltheadstr *fltp)
{
struct fltelemstr *fe;
struct shpstr *sp, ship;
struct sctstr *sectp;
int error = 0;
char *s, *p;
natid own;
struct emp_qelem ship_list;
int dir;
#ifdef SAILDEBUG
switch (fltp->real_q) {
case LEADER_VIRTUAL:
s = "leaderless";
break;
case LEADER_REAL:
s = "real";
break;
case LEADER_WRONGSECT:
s = "scattered";
break;
default:
s = "inconsistent";
}
wu(0, fltp->own,
"Fleet lead by %d is %s, can go %d spaces\n contains ships:",
fltp->leader, s, fltp->maxmoves);
for (fe = fltp->head; fe; fe = fe->next)
wu(0, fltp->own, " %d", fe->num);
wu(0, fltp->own, "\n");
#endif
sectp = getsectp(fltp->x, fltp->y);
for (fe = fltp->head; fe; fe = fe->next) {
sp = getshipp(fe->num);
if (sp->shp_item[I_MILIT] == 0 && sp->shp_item[I_CIVIL] == 0) {
wu(0, fltp->own,
" ship #%d (%s) is crewless and can't go on\n",
fe->num, cname(fe->own));
error = 1;
}
if (shp_check_nav(sp, sectp) == NAV_CANAL) {
wu(0, fltp->own,
"Your ship #%d (%s) is too big to fit through the canal.\n",
fe->num, cname(fe->own));
error = 1;
}
}
if (error)
return 0;
sp = getshipp(fltp->leader);
sectp = getsectp(fltp->x, fltp->y);
if (shp_check_nav(sp, sectp) != NAVOK)
wu(0, fltp->own, "Your fleet lead by %d is trapped by land.\n",
fltp->leader);
sp = getshipp(fltp->leader);
own = sp->shp_own;
fltp_to_list(fltp, &ship_list); /* hack -KHS 1995 */
for (s = sp->shp_path; *s && fltp->maxmoves > 0; s++) {
dir = diridx(*s);
if (0 != shp_nav_one_sector(&ship_list, dir, own, 0))
fltp->maxmoves = 1;
--fltp->maxmoves;
}
shp_nav_put(&ship_list, own);
getship(sp->shp_uid, &ship);
fltp->x = ship.shp_x;
fltp->y = ship.shp_y;
for (p = &ship.shp_path[0]; *s; p++, s++)
*p = *s;
*p = 0;
putship(ship.shp_uid, &ship);
#ifdef SAILDEBUG
if (sp->shp_path[0]) {
wu(0, fltp->own,
"Fleet lead by #%d nav'd to %s, path left = %s\n",
fltp->leader, xyas(fltp->x, fltp->y, fltp->own), &sp->shp_path);
} else
wu(0, fltp->own,
"Fleet lead by #%d nav'd to %s, finished.\n",
fltp->leader, xyas(fltp->x, fltp->y, fltp->own));
wu(0, sp->shp_own, "Ship #%d has %d mobility now.\n",
fe->num, (int)fe->mobil);
#endif
return 1;
}
void
sail_ship(natid cn)
{
struct shpstr *sp;
struct fltheadstr *head = NULL;
struct fltheadstr *fltp;
int n;
for (n = 0; NULL != (sp = getshipp(n)); n++)
if (sp->shp_own == cn) {
sail_find_fleet(&head, sp);
}
/* see what the fleets fall out into */
for (fltp = head; fltp; fltp = fltp->next) {
if (sail_nav_fleet(fltp))
wu(0, fltp->own, "Your fleet lead by ship #%d has reached %s.\n",
fltp->leader, xyas(fltp->x, fltp->y, fltp->own));
}
/* Free up the memory, 'cause I want to. */
for (fltp = head; fltp;) {
struct fltelemstr *fe;
struct fltheadstr *saveh;
saveh = fltp->next;
for (fe = fltp->head; fe;) {
struct fltelemstr *saveel;
saveel = fe->next;
free(fe);
fe = saveel;
}
free(fltp);
fltp = saveh;
}
}
/* The following is a total hack by Ken Stevens to cut down dramatically on repeated code 1995 */
static void
fltp_to_list(struct fltheadstr *fltp, struct emp_qelem *list)
{
struct fltelemstr *fe;
struct ulist *mlp;
emp_initque(list);
for (fe = fltp->head; fe; fe = fe->next) {
mlp = shp_insque(getshipp(fe->num), list);
ef_mark_fresh(EF_SHIP, &mlp->unit.ship);
mlp->mobil = fe->mobil;
}
}

View file

@ -82,10 +82,6 @@ prod_ship(int etus, int natnum, struct bp *bp, int build)
np->nat_money = start_money;
}
if (opt_SAIL) {
if (build && !player->simulation) /* make sure to only sail once */
sail_ship(natnum);
}
return k;
}

View file

@ -168,15 +168,15 @@ owner xloc yloc des effic mobil off loyal terr0 terr1 terr2 terr3 dterr xdist yd
0 -1 -1 0 0 0 0 0 0 0 0 0 0 -1 -1 0 0 0 1 0 50 50 50 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 0 0 0 0 0
/config
config ship
uid owner xloc yloc type effic mobil off tech opx opy mission radius fleet civil milit shell gun petrol iron dust bar food oil lcm hcm uw rad pstage ptime access mquota path follow name xbuilt ybuilt builder rflags rpath
0 0 1 -1 2 0 2 0 100 0 0 none 0 "" 0 1 0 0 0 0 0 0 1 0 0 0 0 0 healthy 0 0 0 "" 0 "" 1 -1 3 () ""
1 98 1 -1 2 20 0 0 100 0 0 none 0 "" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 1 "" 1 -1 3 () ""
2 2 3 -1 2 20 -127 0 20 0 0 none 0 "" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 2 "" 1 -1 3 (group) ""
3 3 1 -1 2 20 -127 0 20 0 0 none 0 "a" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 3 "" 1 -1 3 (injured) "jj"
4 3 1 -1 2 100 127 0 32767 0 0 none 0 "" 0 50 0 0 0 0 0 0 0 0 0 0 0 0 exposed 32767 0 0 "" 4 "" 1 -1 3 () ""
5 3 1 -1 2 100 127 0 32767 0 0 none 0 "" 0 50 0 0 0 0 0 0 0 0 0 0 0 0 exposed 32767 0 0 "" 5 "" 1 -1 3 () ""
6 1 0 0 10 20 0 0 50 0 0 none 0 "" 0 0 0 5 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
49 0 0 0 0 0 0 0 0 0 0 none 0 "" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
uid owner xloc yloc type effic mobil off tech opx opy mission radius fleet civil milit shell gun petrol iron dust bar food oil lcm hcm uw rad pstage ptime access name xbuilt ybuilt builder rflags rpath
0 0 1 -1 2 0 2 0 100 0 0 none 0 "" 0 1 0 0 0 0 0 0 1 0 0 0 0 0 healthy 0 0 "" 1 -1 3 () ""
1 98 1 -1 2 20 0 0 100 0 0 none 0 "" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 -1 3 () ""
2 2 3 -1 2 20 -127 0 20 0 0 none 0 "" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 -1 3 (group) ""
3 3 1 -1 2 20 -127 0 20 0 0 none 0 "a" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 -1 3 (injured) "jj"
4 3 1 -1 2 100 127 0 32767 0 0 none 0 "" 0 50 0 0 0 0 0 0 0 0 0 0 0 0 exposed 32767 0 "" 1 -1 3 () ""
5 3 1 -1 2 100 127 0 32767 0 0 none 0 "" 0 50 0 0 0 0 0 0 0 0 0 0 0 0 exposed 32767 0 "" 1 -1 3 () ""
6 1 0 0 10 20 0 0 50 0 0 none 0 "" 0 0 0 5 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
49 0 0 0 0 0 0 0 0 0 0 none 0 "" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
/config
config plane
uid owner xloc yloc type effic mobil off tech opx opy mission radius wing range harden ship land flags access theta

View file

@ -15,7 +15,7 @@ owner xloc yloc des effic mobil off loyal terr0 terr1 terr2 terr3 dterr xdist yd
2 3 -1 28 80 0 0 0 0 0 0 0 0 3 -1 0 0 0 1 28 0 0 0 0 0 2 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 0 0 0 0 0
/config
config ship
uid owner xloc yloc type effic mobil off tech opx opy mission radius fleet civil milit shell gun petrol iron dust bar food oil lcm hcm uw rad pstage ptime access mquota path follow name xbuilt ybuilt builder rflags rpath
uid owner xloc yloc type effic mobil off tech opx opy mission radius fleet civil milit shell gun petrol iron dust bar food oil lcm hcm uw rad pstage ptime access name xbuilt ybuilt builder rflags rpath
/config
config plane
uid owner xloc yloc type effic mobil off tech opx opy mission radius wing range harden ship land flags access theta

View file

@ -61,13 +61,13 @@ owner xloc yloc des effic mobil off loyal terr0 terr1 terr2 terr3 dterr xdist yd
6 -1 -1 13 100 127 0 0 0 0 0 0 0 -1 -1 0 0 0 1 13 0 0 0 0 0 6 100 90 0 0 0 0 0 0 0 900 2000 2000 0 900 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 0 0 0 0 0
/config
config ship
uid owner xloc yloc type effic mobil off tech opx opy mission radius fleet civil milit shell gun petrol iron dust bar food oil lcm hcm uw rad pstage ptime access mquota path follow name xbuilt ybuilt builder rflags rpath
0 1 2 0 9 20 0 0 100 0 0 none 0 "" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 2 0 1 () ""
1 1 2 0 9 20 0 0 100 0 0 none 0 "" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 1 "" 2 0 1 () ""
2 1 4 0 9 20 0 0 90 0 0 none 0 "" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 2 "" 4 0 1 () ""
3 6 -3 -1 10 20 0 0 45 0 0 none 0 "" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 3 "" -3 -1 6 () ""
4 6 -1 -1 10 20 0 0 45 0 0 none 0 "" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 4 "" -1 -1 6 () ""
49 0 0 0 0 0 0 0 0 0 0 none 0 "" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
uid owner xloc yloc type effic mobil off tech opx opy mission radius fleet civil milit shell gun petrol iron dust bar food oil lcm hcm uw rad pstage ptime access name xbuilt ybuilt builder rflags rpath
0 1 2 0 9 20 0 0 100 0 0 none 0 "" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 2 0 1 () ""
1 1 2 0 9 20 0 0 100 0 0 none 0 "" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 2 0 1 () ""
2 1 4 0 9 20 0 0 90 0 0 none 0 "" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 4 0 1 () ""
3 6 -3 -1 10 20 0 0 45 0 0 none 0 "" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -3 -1 6 () ""
4 6 -1 -1 10 20 0 0 45 0 0 none 0 "" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -1 -1 6 () ""
49 0 0 0 0 0 0 0 0 0 0 none 0 "" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
/config
config plane
uid owner xloc yloc type effic mobil off tech opx opy mission radius wing range harden ship land flags access theta

View file

@ -1026,7 +1026,7 @@ owner xloc yloc des effic mobil off loyal terr0 terr1 terr2 terr3 dterr xdist yd
0 -1 -1 0 0 0 0 0 0 0 0 0 0 -1 -1 0 -33 0 1 0 0 0 74 68 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 0 0 0 0 0
/config
config ship
uid owner xloc yloc type effic mobil off tech opx opy mission radius fleet civil milit shell gun petrol iron dust bar food oil lcm hcm uw rad pstage ptime access mquota path follow name xbuilt ybuilt builder rflags rpath
uid owner xloc yloc type effic mobil off tech opx opy mission radius fleet civil milit shell gun petrol iron dust bar food oil lcm hcm uw rad pstage ptime access name xbuilt ybuilt builder rflags rpath
/config
config plane
uid owner xloc yloc type effic mobil off tech opx opy mission radius wing range harden ship land flags access theta

View file

@ -2,7 +2,7 @@ config sect
owner xloc yloc des effic mobil off loyal terr0 terr1 terr2 terr3 dterr xdist ydist avail elev work coastal newdes min gold fert ocontent uran oldown civil milit shell gun petrol iron dust bar food oil lcm hcm uw rad c_dist m_dist s_dist g_dist p_dist i_dist d_dist b_dist f_dist o_dist l_dist h_dist u_dist r_dist c_del m_del s_del g_del p_del i_del d_del b_del f_del o_del l_del h_del u_del r_del mines pstage ptime che che_target fallout access road rail dfense
/config
config ship
uid owner xloc yloc type effic mobil off tech opx opy mission radius fleet civil milit shell gun petrol iron dust bar food oil lcm hcm uw rad pstage ptime access mquota path follow name xbuilt ybuilt builder rflags rpath
uid owner xloc yloc type effic mobil off tech opx opy mission radius fleet civil milit shell gun petrol iron dust bar food oil lcm hcm uw rad pstage ptime access name xbuilt ybuilt builder rflags rpath
/config
config plane
uid owner xloc yloc type effic mobil off tech opx opy mission radius wing range harden ship land flags access theta

View file

@ -22,24 +22,24 @@ owner xloc yloc des effic mobil off loyal terr0 terr1 terr2 terr3 dterr xdist yd
1 -1 -1 24 100 127 0 0 0 0 0 0 0 -1 -1 0 0 0 0 24 0 0 0 0 0 1 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 0 0 0 0 0
/config
config ship
uid owner xloc yloc type effic mobil off tech opx opy mission radius fleet civil milit shell gun petrol iron dust bar food oil lcm hcm uw rad pstage ptime access mquota path follow name xbuilt ybuilt builder rflags rpath
0 2 -12 0 6 20 0 0 0 0 0 none 0 "" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" -12 0 0 () ""
1 1 3 1 13 59 127 0 150 0 0 none 0 "" 0 13 200 10 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 1 "" -12 0 0 () ""
2 1 3 1 13 60 127 0 150 0 0 none 0 "" 0 13 196 10 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 2 "" -12 0 0 () ""
3 1 3 1 13 100 87 0 150 0 0 none 0 "" 0 13 162 10 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 3 "" -12 0 0 () ""
5 1 10 0 17 100 117 0 100 0 0 none 0 "" 0 5 24 4 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 5 "" -12 0 0 () ""
6 1 3 3 17 100 127 0 100 0 0 none 0 "" 0 5 36 4 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 6 "" -12 0 0 () ""
9 1 3 1 2 98 124 0 20 0 0 none 0 "" 0 10 10 9 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 9 "" -12 0 0 () ""
10 0 2 2 18 0 0 0 60 0 0 none 0 "" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 10 "" -12 0 0 () ""
11 0 6 0 18 0 0 0 60 0 0 none 0 "" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 11 "" -12 0 0 () ""
12 2 2 2 18 68 86 0 60 0 0 none 0 "" 0 3 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 12 "" -12 0 0 () ""
13 2 6 0 18 72 91 0 60 0 0 none 0 "" 0 3 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 13 "" -12 0 0 () ""
20 0 2 2 2 0 0 0 20 0 0 none 0 "" 0 0 0 0 0 0 0 0 0 0 78 78 0 0 healthy 0 0 0 "" 20 "" -12 0 0 () ""
21 0 6 0 2 0 0 0 20 0 0 none 0 "" 0 0 0 0 0 0 0 0 0 0 80 80 0 0 healthy 0 0 0 "" 21 "" -12 0 0 () ""
22 2 2 2 2 58 74 0 20 0 0 none 0 "" 0 3 0 0 0 0 0 0 0 0 58 59 0 0 healthy 0 0 0 "" 22 "" -12 0 0 () ""
23 2 6 0 2 78 98 0 20 0 0 none 0 "" 0 4 0 0 0 0 0 0 0 0 78 78 0 0 healthy 0 0 0 "" 23 "" -12 0 0 () ""
24 2 6 0 2 32 40 0 20 0 0 none 0 "" 0 2 0 0 0 0 0 0 0 0 32 32 0 0 healthy 0 0 0 "" 24 "" -12 0 0 () ""
49 0 0 0 0 0 0 0 0 0 0 none 0 "" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
uid owner xloc yloc type effic mobil off tech opx opy mission radius fleet civil milit shell gun petrol iron dust bar food oil lcm hcm uw rad pstage ptime access name xbuilt ybuilt builder rflags rpath
0 2 -12 0 6 20 0 0 0 0 0 none 0 "" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -12 0 0 () ""
1 1 3 1 13 59 127 0 150 0 0 none 0 "" 0 13 200 10 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -12 0 0 () ""
2 1 3 1 13 60 127 0 150 0 0 none 0 "" 0 13 196 10 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -12 0 0 () ""
3 1 3 1 13 100 87 0 150 0 0 none 0 "" 0 13 162 10 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -12 0 0 () ""
5 1 10 0 17 100 117 0 100 0 0 none 0 "" 0 5 24 4 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -12 0 0 () ""
6 1 3 3 17 100 127 0 100 0 0 none 0 "" 0 5 36 4 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -12 0 0 () ""
9 1 3 1 2 98 124 0 20 0 0 none 0 "" 0 10 10 9 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -12 0 0 () ""
10 0 2 2 18 0 0 0 60 0 0 none 0 "" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -12 0 0 () ""
11 0 6 0 18 0 0 0 60 0 0 none 0 "" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -12 0 0 () ""
12 2 2 2 18 68 86 0 60 0 0 none 0 "" 0 3 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -12 0 0 () ""
13 2 6 0 18 72 91 0 60 0 0 none 0 "" 0 3 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -12 0 0 () ""
20 0 2 2 2 0 0 0 20 0 0 none 0 "" 0 0 0 0 0 0 0 0 0 0 78 78 0 0 healthy 0 0 "" -12 0 0 () ""
21 0 6 0 2 0 0 0 20 0 0 none 0 "" 0 0 0 0 0 0 0 0 0 0 80 80 0 0 healthy 0 0 "" -12 0 0 () ""
22 2 2 2 2 58 74 0 20 0 0 none 0 "" 0 3 0 0 0 0 0 0 0 0 58 59 0 0 healthy 0 0 "" -12 0 0 () ""
23 2 6 0 2 78 98 0 20 0 0 none 0 "" 0 4 0 0 0 0 0 0 0 0 78 78 0 0 healthy 0 0 "" -12 0 0 () ""
24 2 6 0 2 32 40 0 20 0 0 none 0 "" 0 2 0 0 0 0 0 0 0 0 32 32 0 0 healthy 0 0 "" -12 0 0 () ""
49 0 0 0 0 0 0 0 0 0 0 none 0 "" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
/config
config plane
uid owner xloc yloc type effic mobil off tech opx opy mission radius wing range harden ship land flags access theta

View file

@ -123,79 +123,79 @@ owner xloc yloc des effic mobil off loyal terr0 terr1 terr2 terr3 dterr xdist yd
1 1 -1 9 1 0 0 0 0 0 0 0 0 1 -1 0 0 0 1 9 0 0 0 0 0 1 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 0 0 0 0 0
/config
config ship
uid owner xloc yloc type effic mobil off tech opx opy mission radius fleet civil milit shell gun petrol iron dust bar food oil lcm hcm uw rad pstage ptime access mquota path follow name xbuilt ybuilt builder rflags rpath
0 1 1 1 9 100 127 0 40 1 1 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 1 1 1 () ""
1 1 1 1 2 100 127 0 20 0 0 none 0 "" 0 5 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 1 "" 1 1 1 () ""
2 1 1 1 17 100 127 0 70 1 1 none 1 "" 0 5 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 2 "" 1 1 1 () ""
3 1 1 1 1 100 127 0 35 0 0 none 0 "" 0 5 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 3 "" 1 1 1 () ""
4 1 1 1 7 100 127 0 40 0 0 none 0 "" 0 5 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 4 "" 1 1 1 (bombed) "hhhhn"
5 1 1 1 16 100 127 0 40 0 0 none 0 "" 0 5 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 5 "" 1 1 1 () ""
10 1 -1 -1 9 100 117 0 40 0 0 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 10 "" 1 1 1 () ""
11 2 0 0 9 100 127 0 40 0 0 interdiction 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 11 "" 1 1 1 (bombed) "hhhhn"
12 1 0 0 9 100 127 0 40 0 0 interdiction 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 12 "" 1 1 1 (bombed) "hhhhn"
13 1 0 0 9 100 127 0 40 0 0 none 0 "" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 13 "" 1 1 1 () ""
20 1 0 0 9 100 117 0 40 1 1 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 20 "" 1 1 1 () ""
21 1 3 1 9 100 127 0 40 3 1 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 21 "" 1 1 1 () ""
22 1 3 -1 9 100 117 0 40 2 0 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 22 "" 1 1 1 () ""
23 1 6 0 9 100 127 0 40 6 0 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 23 "" 1 1 1 () ""
24 1 1 1 9 100 117 0 40 2 2 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 24 "" 1 1 1 () ""
25 1 4 2 9 100 127 0 40 4 2 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 25 "" 1 1 1 () ""
26 1 2 2 2 100 127 0 20 0 0 none 0 "" 0 5 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 26 "" 1 1 1 () ""
27 1 1 -1 9 100 127 0 40 1 -1 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 27 "" 1 1 1 () ""
30 1 10 -6 9 100 108 0 40 9 -5 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 30 "" 1 1 1 () ""
31 0 11 -5 9 0 53 0 40 9 -5 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 31 "" 1 1 1 () ""
32 1 10 -6 9 75 105 0 40 9 -5 none 0 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 32 "" 1 1 1 () ""
33 1 10 -6 9 80 106 0 40 9 -5 none 0 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 33 "" 1 1 1 () ""
34 1 10 -6 9 100 108 0 40 9 -5 none 0 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 34 "" 1 1 1 () ""
35 1 10 -6 9 66 103 0 40 9 -5 none 0 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 35 "" 1 1 1 () ""
36 1 10 -6 9 80 106 0 40 9 -5 none 0 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 36 "" 1 1 1 () ""
37 1 10 -6 9 80 106 0 40 9 -5 none 0 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 37 "" 1 1 1 () ""
38 1 10 -6 9 69 104 0 40 9 -5 none 0 "" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 38 "" 1 1 1 () ""
39 1 10 -6 9 64 103 0 40 9 -5 none 0 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 39 "" 1 1 1 () ""
50 1 1 1 9 100 117 0 40 0 0 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 50 "" 1 1 1 () ""
51 1 4 0 9 100 127 0 40 4 0 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 51 "" 1 1 1 () ""
52 1 2 0 9 100 117 0 40 4 0 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 52 "" 1 1 1 () ""
53 1 4 0 9 100 127 0 40 4 0 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 53 "" 1 1 1 () ""
54 1 0 0 9 100 99 0 40 1 1 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 54 "" 1 1 1 () ""
55 1 -1 -1 2 100 97 0 20 0 0 none 0 "" 0 5 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 55 "" 1 1 1 () ""
56 1 -1 -1 9 100 108 0 40 1 1 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 56 "" 1 1 1 () ""
57 1 -1 -1 2 100 97 0 20 0 0 none 0 "" 0 5 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 57 "" 1 1 1 () ""
58 1 1 1 2 100 127 0 20 0 0 none 0 "" 0 5 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 58 "" 1 1 1 () ""
59 1 1 1 2 100 127 0 20 0 0 none 0 "" 0 5 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 59 "" 1 1 1 () ""
60 1 5 1 9 100 127 0 40 5 1 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 60 "" 1 1 1 () ""
61 1 3 -1 9 100 127 0 40 3 -1 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 61 "" 1 1 1 () ""
62 1 -13 1 9 100 117 0 40 -12 0 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 62 "" 1 1 1 () ""
63 1 -5 1 9 100 117 0 40 -4 0 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 63 "" 1 1 1 () ""
64 1 -8 0 9 100 127 0 40 -8 0 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 64 "" 1 1 1 () ""
65 1 -9 1 2 100 127 0 20 0 0 none 0 "" 0 5 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 65 "" 1 1 1 () ""
70 1 -14 0 9 100 117 0 40 -12 0 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 70 "" 1 1 1 () ""
71 1 -6 0 9 100 117 0 40 -4 0 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 71 "" 1 1 1 () ""
72 1 -8 0 9 100 127 0 40 -8 0 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 72 "" 1 1 1 () ""
80 1 -4 -4 2 100 68 0 20 0 0 none 0 "" 0 5 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 80 "" 1 1 1 () ""
81 1 -4 -4 2 100 68 0 20 0 0 none 0 "" 0 5 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 81 "" 1 1 1 () ""
82 1 -3 -3 2 100 -13 0 20 0 0 none 0 "" 0 5 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 82 "" 1 1 1 () ""
83 1 -1 -1 2 100 -13 0 20 0 0 none 0 "" 0 5 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 83 "" 1 1 1 () ""
84 1 0 0 2 100 0 0 20 0 0 none 0 "" 0 5 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 84 "" 1 1 1 () ""
90 1 0 -4 9 100 81 0 40 0 0 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 90 "" 1 1 1 () ""
91 1 -3 1 9 100 108 0 40 0 0 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 91 "" 1 1 1 () ""
92 1 0 0 9 100 127 0 40 0 0 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 92 "" 1 1 1 () ""
100 1 3 -1 17 100 108 0 200 8 0 none 3 "" 0 5 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 100 "" 1 1 1 () ""
101 1 3 -1 1 100 84 0 35 0 0 none 0 "" 0 5 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 101 "" 1 1 1 () ""
102 1 3 -1 7 100 85 0 40 0 0 none 0 "" 0 5 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 102 "" 1 1 1 () ""
110 1 10 -2 16 100 113 0 40 0 0 none 0 "" 0 5 84 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 110 "" 1 1 1 () ""
111 1 10 -2 16 100 113 0 40 0 0 none 0 "" 0 5 97 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 111 "" 1 1 1 () ""
121 1 13 -3 16 100 85 0 40 0 0 none 0 "" 0 5 2 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 121 "" 1 1 1 () ""
122 1 13 -3 16 100 85 0 40 0 0 none 0 "" 0 5 3 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 122 "" 1 1 1 () ""
128 1 11 -3 16 100 -12 0 40 0 0 none 0 "" 0 5 5 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 128 "" 1 1 1 () ""
129 1 10 -2 16 100 99 0 40 0 0 none 0 "" 0 5 100 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 129 "" 1 1 1 () ""
130 1 11 -5 16 43 1 0 40 0 0 none 0 "" 0 3 10 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 130 "" 1 1 1 () ""
131 1 11 -5 16 58 20 0 40 0 0 none 0 "" 0 3 11 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 131 "" 1 1 1 () ""
135 1 11 -5 9 70 82 0 40 9 -5 none 0 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 135 "" 1 1 1 () ""
136 1 11 -5 9 69 81 0 40 9 -5 none 0 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 136 "" 1 1 1 () ""
137 1 11 -5 9 100 117 0 40 9 -5 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 137 "" 1 1 1 () ""
138 1 11 -5 9 80 93 0 40 9 -5 none 0 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 138 "" 1 1 1 () ""
139 1 11 -5 9 74 86 0 40 9 -5 none 0 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 139 "" 1 1 1 () ""
149 0 0 0 0 0 0 0 0 0 0 none 0 "" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
uid owner xloc yloc type effic mobil off tech opx opy mission radius fleet civil milit shell gun petrol iron dust bar food oil lcm hcm uw rad pstage ptime access name xbuilt ybuilt builder rflags rpath
0 1 1 1 9 100 127 0 40 1 1 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
1 1 1 1 2 100 127 0 20 0 0 none 0 "" 0 5 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
2 1 1 1 17 100 127 0 70 1 1 none 1 "" 0 5 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
3 1 1 1 1 100 127 0 35 0 0 none 0 "" 0 5 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
4 1 1 1 7 100 127 0 40 0 0 none 0 "" 0 5 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 (bombed) "hhhhn"
5 1 1 1 16 100 127 0 40 0 0 none 0 "" 0 5 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
10 1 -1 -1 9 100 117 0 40 0 0 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
11 2 0 0 9 100 127 0 40 0 0 interdiction 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 (bombed) "hhhhn"
12 1 0 0 9 100 127 0 40 0 0 interdiction 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 (bombed) "hhhhn"
13 1 0 0 9 100 127 0 40 0 0 none 0 "" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
20 1 0 0 9 100 117 0 40 1 1 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
21 1 3 1 9 100 127 0 40 3 1 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
22 1 3 -1 9 100 117 0 40 2 0 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
23 1 6 0 9 100 127 0 40 6 0 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
24 1 1 1 9 100 117 0 40 2 2 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
25 1 4 2 9 100 127 0 40 4 2 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
26 1 2 2 2 100 127 0 20 0 0 none 0 "" 0 5 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
27 1 1 -1 9 100 127 0 40 1 -1 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
30 1 10 -6 9 100 108 0 40 9 -5 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
31 0 11 -5 9 0 53 0 40 9 -5 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
32 1 10 -6 9 75 105 0 40 9 -5 none 0 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
33 1 10 -6 9 80 106 0 40 9 -5 none 0 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
34 1 10 -6 9 100 108 0 40 9 -5 none 0 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
35 1 10 -6 9 66 103 0 40 9 -5 none 0 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
36 1 10 -6 9 80 106 0 40 9 -5 none 0 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
37 1 10 -6 9 80 106 0 40 9 -5 none 0 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
38 1 10 -6 9 69 104 0 40 9 -5 none 0 "" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
39 1 10 -6 9 64 103 0 40 9 -5 none 0 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
50 1 1 1 9 100 117 0 40 0 0 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
51 1 4 0 9 100 127 0 40 4 0 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
52 1 2 0 9 100 117 0 40 4 0 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
53 1 4 0 9 100 127 0 40 4 0 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
54 1 0 0 9 100 99 0 40 1 1 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
55 1 -1 -1 2 100 97 0 20 0 0 none 0 "" 0 5 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
56 1 -1 -1 9 100 108 0 40 1 1 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
57 1 -1 -1 2 100 97 0 20 0 0 none 0 "" 0 5 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
58 1 1 1 2 100 127 0 20 0 0 none 0 "" 0 5 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
59 1 1 1 2 100 127 0 20 0 0 none 0 "" 0 5 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
60 1 5 1 9 100 127 0 40 5 1 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
61 1 3 -1 9 100 127 0 40 3 -1 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
62 1 -13 1 9 100 117 0 40 -12 0 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
63 1 -5 1 9 100 117 0 40 -4 0 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
64 1 -8 0 9 100 127 0 40 -8 0 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
65 1 -9 1 2 100 127 0 20 0 0 none 0 "" 0 5 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
70 1 -14 0 9 100 117 0 40 -12 0 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
71 1 -6 0 9 100 117 0 40 -4 0 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
72 1 -8 0 9 100 127 0 40 -8 0 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
80 1 -4 -4 2 100 68 0 20 0 0 none 0 "" 0 5 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
81 1 -4 -4 2 100 68 0 20 0 0 none 0 "" 0 5 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
82 1 -3 -3 2 100 -13 0 20 0 0 none 0 "" 0 5 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
83 1 -1 -1 2 100 -13 0 20 0 0 none 0 "" 0 5 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
84 1 0 0 2 100 0 0 20 0 0 none 0 "" 0 5 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
90 1 0 -4 9 100 81 0 40 0 0 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
91 1 -3 1 9 100 108 0 40 0 0 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
92 1 0 0 9 100 127 0 40 0 0 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
100 1 3 -1 17 100 108 0 200 8 0 none 3 "" 0 5 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
101 1 3 -1 1 100 84 0 35 0 0 none 0 "" 0 5 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
102 1 3 -1 7 100 85 0 40 0 0 none 0 "" 0 5 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
110 1 10 -2 16 100 113 0 40 0 0 none 0 "" 0 5 84 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
111 1 10 -2 16 100 113 0 40 0 0 none 0 "" 0 5 97 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
121 1 13 -3 16 100 85 0 40 0 0 none 0 "" 0 5 2 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
122 1 13 -3 16 100 85 0 40 0 0 none 0 "" 0 5 3 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
128 1 11 -3 16 100 -12 0 40 0 0 none 0 "" 0 5 5 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
129 1 10 -2 16 100 99 0 40 0 0 none 0 "" 0 5 100 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
130 1 11 -5 16 43 1 0 40 0 0 none 0 "" 0 3 10 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
131 1 11 -5 16 58 20 0 40 0 0 none 0 "" 0 3 11 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
135 1 11 -5 9 70 82 0 40 9 -5 none 0 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
136 1 11 -5 9 69 81 0 40 9 -5 none 0 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
137 1 11 -5 9 100 117 0 40 9 -5 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
138 1 11 -5 9 80 93 0 40 9 -5 none 0 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
139 1 11 -5 9 74 86 0 40 9 -5 none 0 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 1 1 1 () ""
149 0 0 0 0 0 0 0 0 0 0 none 0 "" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
/config
config plane
uid owner xloc yloc type effic mobil off tech opx opy mission radius wing range harden ship land flags access theta

View file

@ -37,8 +37,7 @@ lret
|| ships failing to retreat
| sunk
fire se -2,2 30
| sailing
fire se -2,2 31
__cmd added -1 -1 0
| crewless
fire se -2,2 32
| construction zone

View file

@ -11,7 +11,7 @@ owner xloc yloc des effic mobil off loyal terr0 terr1 terr2 terr3 dterr xdist yd
1 -1 1 15 98 124 0 0 0 0 0 0 0 -1 1 0 0 0 0 15 0 0 0 0 0 1 98 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 0 0 0 0 0
2 0 2 12 79 103 0 0 0 0 0 0 0 0 2 0 0 0 1 12 0 0 0 0 0 2 81 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 0 0 0 0 0
2 2 2 12 1 0 0 0 0 0 0 0 0 2 2 0 0 0 1 12 0 0 0 0 0 2 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 0 0 0 0 0
1 -2 2 19 100 127 0 0 0 0 0 0 0 -2 2 0 0 0 1 19 0 0 0 0 0 1 100 5 13 2 61 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 0 0 0 0 0
1 -2 2 19 100 127 0 0 0 0 0 0 0 -2 2 0 0 0 1 19 0 0 0 0 0 1 100 5 14 2 61 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 0 0 0 0 0
4 4 4 12 100 127 0 0 0 0 0 0 0 4 4 0 0 0 1 12 0 0 0 0 0 4 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 0 0 0 0 0
0 -8 4 0 0 0 0 0 0 0 0 0 0 -8 4 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 healthy 0 0 0 0 0 0 0 0
0 -6 4 0 0 0 0 0 0 0 0 0 0 -6 4 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 92 healthy 0 0 0 0 0 0 0 0
@ -24,157 +24,157 @@ owner xloc yloc des effic mobil off loyal terr0 terr1 terr2 terr3 dterr xdist yd
1 -1 -1 15 100 127 0 0 0 0 0 0 0 -1 -1 0 0 0 0 15 0 0 0 0 0 1 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 0 0 0 0 0
/config
config ship
uid owner xloc yloc type effic mobil off tech opx opy mission radius fleet civil milit shell gun petrol iron dust bar food oil lcm hcm uw rad pstage ptime access mquota path follow name xbuilt ybuilt builder rflags rpath
0 1 -3 1 2 100 127 0 20 0 0 none 0 "a" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" -3 1 1 () ""
1 1 -3 1 2 100 127 0 20 0 0 none 0 "a" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 1 "" -3 1 1 () ""
2 1 -3 1 2 91 115 0 20 0 0 none 0 "" 0 9 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 2 "" -3 1 1 (injured torped sonared helpless bombed depth-charged boarded) "bgyujnbgy"
3 1 -3 1 2 100 127 0 20 0 0 none 0 "a" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 3 "" -3 1 1 () ""
4 1 -3 1 2 100 127 0 20 0 0 none 0 "a" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 4 "" -3 1 1 (group helpless) "b"
5 1 -5 1 17 96 63 0 70 0 0 none 0 "a" 0 9 31 1 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 5 "" -3 1 1 () ""
6 1 -1 3 18 100 97 0 165 0 0 none 0 "a" 0 10 21 1 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 6 "" -3 1 1 () ""
7 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
8 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
9 2 -4 -2 17 60 127 0 70 0 0 none 0 "a" 0 10 38 1 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 9 "" -3 1 1 () ""
10 2 4 4 2 83 53 0 20 0 0 none 0 "" 0 8 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 10 "" -3 1 1 () ""
11 2 1 3 2 91 99 0 20 0 0 none 0 "" 0 9 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 11 "" -3 1 1 () ""
12 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
13 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
14 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
15 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
16 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
17 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
18 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
19 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
20 2 -3 1 2 95 121 0 20 0 0 none 0 "" 0 9 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 20 "" -3 1 1 (helpless) "u"
21 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
22 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
23 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
24 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
25 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
26 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
27 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
28 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
29 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
30 0 0 2 2 0 117 0 20 0 0 none 0 "" 0 9 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 30 "" -3 1 1 (injured) "n"
31 2 0 2 2 94 119 0 20 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "nnnn" 31 "" -3 1 1 (injured) "n"
32 2 0 2 2 94 119 0 20 0 0 none 0 "" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 32 "" -3 1 1 (injured) "n"
33 2 2 2 2 94 120 0 20 0 0 none 0 "" 0 9 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 33 "" -3 1 1 (injured) "n"
34 2 3 1 2 92 116 0 20 0 0 none 0 "" 0 9 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 34 "" -3 1 1 (injured) "n"
35 2 0 2 2 94 0 0 20 0 0 none 0 "" 0 9 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 35 "" -3 1 1 (injured) "n"
36 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
37 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
38 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
39 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
40 2 1 3 10 91 -7 0 45 0 2 none 1 "" 0 9 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 40 "" -3 1 1 (injured) "nnnh"
41 2 1 3 10 96 108 0 45 0 2 none 1 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 41 "" -3 1 1 (injured) "uh"
42 2 -4 2 10 95 120 0 45 -4 2 interdiction 1 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 42 "" -3 1 1 (injured) "ugggh"
43 2 -6 4 16 76 86 0 40 0 0 none 0 "m" 0 7 3 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 43 "" -3 1 1 (group injured) "g"
44 2 -6 4 16 63 70 0 40 0 0 none 0 "m" 0 7 2 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 44 "" -3 1 1 (group injured) "g"
45 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
46 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
47 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
48 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
49 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
50 2 -9 1 18 67 33 0 60 0 0 none 0 "" 0 7 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 50 "" -3 1 1 () ""
51 2 -9 1 18 64 27 0 60 0 0 none 0 "" 0 6 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 51 "" -3 1 1 () ""
52 2 -9 1 18 73 44 0 60 0 0 none 0 "" 0 7 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 52 "" -3 1 1 () ""
53 2 -4 -2 18 73 92 0 60 0 0 none 0 "" 0 7 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 53 "" -3 1 1 (helpless) "gg"
54 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
55 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
56 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
57 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
58 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
59 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
60 2 0 2 17 100 127 0 70 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 60 "" -3 1 1 (injured helpless bombed) "nn"
61 2 2 4 17 84 83 0 70 0 0 none 0 "" 0 8 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 61 "" -3 1 1 () ""
62 2 0 2 17 100 127 0 70 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 62 "" -3 1 1 (injured helpless bombed) "nn"
63 2 0 2 17 100 127 0 70 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 63 "" -3 1 1 (injured helpless bombed) "nn"
64 2 2 4 17 51 26 0 70 0 0 none 0 "" 0 5 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 64 "" -3 1 1 () ""
65 2 2 4 17 87 89 0 70 0 0 none 0 "" 0 9 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 65 "" -3 1 1 () ""
66 2 2 4 17 65 53 0 70 0 0 none 0 "" 0 7 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 66 "" -3 1 1 () ""
67 2 0 2 17 100 127 0 70 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 67 "" -3 1 1 (helpless bombed) "nn"
68 2 2 4 17 62 46 0 70 0 0 none 0 "" 0 6 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 68 "" -3 1 1 () ""
69 2 2 4 17 48 21 0 70 0 0 none 0 "" 0 5 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 69 "" -3 1 1 () ""
70 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
71 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
72 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
73 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
74 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
75 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
76 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
77 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
78 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
79 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
80 2 0 2 17 100 127 0 70 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 80 "" -3 1 1 (injured helpless bombed) "nn"
81 2 0 2 17 100 127 0 70 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 81 "" -3 1 1 (injured helpless bombed) "nn"
82 2 0 2 17 100 127 0 70 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 82 "" -3 1 1 (injured helpless bombed) "nn"
83 2 2 4 17 29 -28 0 70 0 0 none 0 "" 0 3 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 83 "" -3 1 1 () ""
84 2 0 2 17 100 127 0 70 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 84 "" -3 1 1 (injured helpless bombed) "nn"
85 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
86 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
87 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
88 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
89 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
90 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
91 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
92 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
93 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
94 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
95 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
96 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
97 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
98 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
99 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
100 2 2 4 2 38 37 0 20 0 0 none 0 "" 0 4 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 100 "" -3 1 1 () ""
101 2 0 2 2 100 127 0 20 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 101 "" -3 1 1 (injured torped helpless) "nn"
102 2 2 4 2 64 62 0 20 0 0 none 0 "" 0 6 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 102 "" -3 1 1 () ""
103 2 2 4 2 21 20 0 20 0 0 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 103 "" -3 1 1 () ""
104 2 0 2 2 100 127 0 20 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 104 "" -3 1 1 (injured torped helpless) "nn"
105 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
106 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
107 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
108 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
109 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
110 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
111 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
112 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
113 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
114 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
115 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
116 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
117 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
118 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
119 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
120 2 -9 1 18 100 93 0 60 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 120 "" -3 1 1 () ""
121 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
122 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
123 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
124 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
125 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
126 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
127 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
128 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
129 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
130 2 -9 1 12 100 95 0 60 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 130 "" -3 1 1 () ""
131 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
132 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
133 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
134 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
135 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
136 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
137 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
138 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
139 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
140 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
141 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
142 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
143 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
144 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
145 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
146 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
147 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
148 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
149 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
uid owner xloc yloc type effic mobil off tech opx opy mission radius fleet civil milit shell gun petrol iron dust bar food oil lcm hcm uw rad pstage ptime access name xbuilt ybuilt builder rflags rpath
0 1 -3 1 2 100 127 0 20 0 0 none 0 "a" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -3 1 1 () ""
1 1 -3 1 2 100 127 0 20 0 0 none 0 "a" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -3 1 1 () ""
2 1 -3 1 2 91 115 0 20 0 0 none 0 "" 0 9 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -3 1 1 (injured torped sonared helpless bombed depth-charged boarded) "bgyujnbgy"
3 1 -3 1 2 100 127 0 20 0 0 none 0 "a" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -3 1 1 () ""
4 1 -3 1 2 100 127 0 20 0 0 none 0 "a" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -3 1 1 (group helpless) "b"
5 1 -5 1 17 96 63 0 70 0 0 none 0 "a" 0 9 31 1 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -3 1 1 () ""
6 1 -1 3 18 100 97 0 165 0 0 none 0 "a" 0 10 21 1 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -3 1 1 () ""
7 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
8 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
9 2 -4 -2 17 60 127 0 70 0 0 none 0 "a" 0 10 38 1 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -3 1 1 () ""
10 2 4 4 2 83 53 0 20 0 0 none 0 "" 0 8 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -3 1 1 () ""
11 2 1 3 2 91 99 0 20 0 0 none 0 "" 0 9 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -3 1 1 () ""
12 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
13 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
14 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
15 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
16 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
17 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
18 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
19 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
20 2 -3 1 2 95 121 0 20 0 0 none 0 "" 0 9 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -3 1 1 (helpless) "u"
21 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
22 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
23 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
24 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
25 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
26 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
27 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
28 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
29 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
30 0 0 2 2 0 117 0 20 0 0 none 0 "" 0 9 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -3 1 1 (injured) "n"
31 2 0 2 2 100 127 0 20 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -3 1 1 (injured) "n"
32 2 0 2 2 94 119 0 20 0 0 none 0 "" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -3 1 1 (injured) "n"
33 2 2 2 2 94 120 0 20 0 0 none 0 "" 0 9 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -3 1 1 (injured) "n"
34 2 3 1 2 92 116 0 20 0 0 none 0 "" 0 9 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -3 1 1 (injured) "n"
35 2 0 2 2 94 0 0 20 0 0 none 0 "" 0 9 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -3 1 1 (injured) "n"
36 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
37 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
38 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
39 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
40 2 1 3 10 91 -7 0 45 0 2 none 1 "" 0 9 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -3 1 1 (injured) "nnnh"
41 2 1 3 10 96 108 0 45 0 2 none 1 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -3 1 1 (injured) "uh"
42 2 -4 2 10 95 120 0 45 -4 2 interdiction 1 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -3 1 1 (injured) "ugggh"
43 2 -6 4 16 76 86 0 40 0 0 none 0 "m" 0 7 3 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -3 1 1 (group injured) "g"
44 2 -6 4 16 63 70 0 40 0 0 none 0 "m" 0 7 2 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -3 1 1 (group injured) "g"
45 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
46 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
47 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
48 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
49 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
50 2 -9 1 18 67 33 0 60 0 0 none 0 "" 0 7 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -3 1 1 () ""
51 2 -9 1 18 64 27 0 60 0 0 none 0 "" 0 6 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -3 1 1 () ""
52 2 -9 1 18 73 44 0 60 0 0 none 0 "" 0 7 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -3 1 1 () ""
53 2 -4 -2 18 73 92 0 60 0 0 none 0 "" 0 7 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -3 1 1 (helpless) "gg"
54 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
55 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
56 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
57 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
58 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
59 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
60 2 0 2 17 100 127 0 70 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -3 1 1 (injured helpless bombed) "nn"
61 2 2 4 17 84 83 0 70 0 0 none 0 "" 0 8 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -3 1 1 () ""
62 2 0 2 17 100 127 0 70 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -3 1 1 (injured helpless bombed) "nn"
63 2 0 2 17 100 127 0 70 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -3 1 1 (injured helpless bombed) "nn"
64 2 2 4 17 51 26 0 70 0 0 none 0 "" 0 5 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -3 1 1 () ""
65 2 2 4 17 87 89 0 70 0 0 none 0 "" 0 9 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -3 1 1 () ""
66 2 2 4 17 65 53 0 70 0 0 none 0 "" 0 7 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -3 1 1 () ""
67 2 0 2 17 100 127 0 70 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -3 1 1 (helpless bombed) "nn"
68 2 2 4 17 62 46 0 70 0 0 none 0 "" 0 6 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -3 1 1 () ""
69 2 2 4 17 48 21 0 70 0 0 none 0 "" 0 5 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -3 1 1 () ""
70 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
71 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
72 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
73 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
74 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
75 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
76 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
77 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
78 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
79 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
80 2 0 2 17 100 127 0 70 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -3 1 1 (injured helpless bombed) "nn"
81 2 0 2 17 100 127 0 70 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -3 1 1 (injured helpless bombed) "nn"
82 2 0 2 17 100 127 0 70 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -3 1 1 (injured helpless bombed) "nn"
83 2 2 4 17 29 -28 0 70 0 0 none 0 "" 0 3 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -3 1 1 () ""
84 2 0 2 17 100 127 0 70 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -3 1 1 (injured helpless bombed) "nn"
85 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
86 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
87 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
88 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
89 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
90 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
91 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
92 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
93 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
94 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
95 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
96 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
97 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
98 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
99 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
100 2 2 4 2 38 37 0 20 0 0 none 0 "" 0 4 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -3 1 1 () ""
101 2 0 2 2 100 127 0 20 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -3 1 1 (injured torped helpless) "nn"
102 2 2 4 2 64 62 0 20 0 0 none 0 "" 0 6 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -3 1 1 () ""
103 2 2 4 2 21 20 0 20 0 0 none 0 "" 0 2 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -3 1 1 () ""
104 2 0 2 2 100 127 0 20 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -3 1 1 (injured torped helpless) "nn"
105 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
106 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
107 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
108 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
109 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
110 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
111 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
112 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
113 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
114 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
115 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
116 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
117 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
118 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
119 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
120 2 -9 1 18 100 93 0 60 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -3 1 1 () ""
121 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
122 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
123 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
124 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
125 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
126 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
127 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
128 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
129 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
130 2 -9 1 12 100 95 0 60 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" -3 1 1 () ""
131 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
132 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
133 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
134 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
135 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
136 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
137 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
138 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
139 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
140 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
141 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
142 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
143 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
144 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
145 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
146 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
147 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
148 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
149 0 0 0 0 0 127 0 0 0 0 none 0 "" 0 10 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
/config
config plane
uid owner xloc yloc type effic mobil off tech opx opy mission radius wing range harden ship land flags access theta
@ -337,7 +337,7 @@ uid owner xloc yloc type effic mobil off tech opx opy mission radius stockpile p
/config
config news
actor action victim times duration time
1 11 2 15 0 0
1 11 2 14 0 0
2 25 0 2 0 0
1 11 1 1 0 0
2 14 1 2 0 0

View file

@ -144,12 +144,8 @@
Play#1 output Play#1 1 Shells hit cs cargo ship (#30) in 0,2 for 10 damage.
Play#1 output Play#1 1 cs cargo ship (#30) sunk!
Play#1 output Play#1 6 0 629
Play#1 input fire se -2,2 31
Play#1 command fire
Play#1 output Play#1 1 Sector -2,2 ready to fire
Play#1 output Play#1 1 range is 4.00 (4.50)
Play#1 output Play#1 1 \007Kaboom!!!
Play#1 output Play#1 1 Shells hit cs cargo ship (#31) in 0,2 for 8 damage.
Play#1 input __cmd added -1 -1 0
Play#1 command __cmd
Play#1 output Play#1 6 0 628
Play#1 input fire se -2,2 32
Play#1 command fire
@ -1271,10 +1267,6 @@
Play#0 output Play#0 1 Country #1 shelled cs cargo ship (#30) in 0,2 for 10 damage.
Play#0 output Play#0 1 cs cargo ship (#30) takes 8
Play#0 output Play#0 1 cs cargo ship (#30) sunk!
Play#0 output Play#0 1 Country #1 shelled cs cargo ship (#31) in 0,2 for 8 damage.
Play#0 output Play#0 1 cs cargo ship (#31) takes 6
Play#0 output Play#0 1 cs cargo ship (#31) was damaged,
Play#0 output Play#0 1 but had sailing orders, and couldn't retreat!
Play#0 output Play#0 1 Country #1 shelled cs cargo ship (#32) in 0,2 for 8 damage.
Play#0 output Play#0 1 cs cargo ship (#32) takes 6
Play#0 output Play#0 1 cs cargo ship (#32) was damaged,
@ -1503,7 +1495,7 @@
Play#0 output Play#0 1 2 10 cs cargo ship 4,4 83% 0 8 0 0 0 0 0 0 53 20
Play#0 output Play#0 1 2 11 cs cargo ship 1,3 91% 0 9 0 0 0 0 0 0 99 20
Play#0 output Play#0 1 2 20 cs cargo ship -3,1 95% 0 9 0 0 0 0 0 0 121 20
Play#0 output Play#0 1 2 31 cs cargo ship 0,2 94% 0 10 0 0 0 0 0 0 119 20
Play#0 output Play#0 1 2 31 cs cargo ship 0,2 100% 0 10 0 0 0 0 0 0 127 20
Play#0 output Play#0 1 2 32 cs cargo ship 0,2 94% 0 0 0 0 0 0 0 0 119 20
Play#0 output Play#0 1 2 33 cs cargo ship 2,2 94% 0 9 0 0 0 0 0 0 120 20
Play#0 output Play#0 1 2 34 cs cargo ship 3,1 92% 0 9 0 0 0 0 0 0 116 20

View file

@ -50,10 +50,10 @@ edit s 0 U 20 O 2 U 10 L 0,2 U 11
retr 10 nhhnj ih
retr 11 n h
retr 20 u h
| target ships that want to retreat, but can't: sunk, sailing, crewless,
| target ships that want to retreat, but can't: sunk, crewless,
| in construction zone, landlocked, no mobility
edit s 10 U 30 U 31 U 32 U 33 U 34 U 35
sail 31 nnnnh
| #31 unused
edit s 33 L 2,2
edit s 34 L 3,1
retr 30/31/32/33/34/35 n i

View file

@ -1026,7 +1026,7 @@ owner xloc yloc des effic mobil off loyal terr0 terr1 terr2 terr3 dterr xdist yd
0 -1 -1 4 0 0 0 0 0 0 0 0 0 -1 -1 0 61 0 1 4 63 33 0 0 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 0 0 0 0 0
/config
config ship
uid owner xloc yloc type effic mobil off tech opx opy mission radius fleet civil milit shell gun petrol iron dust bar food oil lcm hcm uw rad pstage ptime access mquota path follow name xbuilt ybuilt builder rflags rpath
uid owner xloc yloc type effic mobil off tech opx opy mission radius fleet civil milit shell gun petrol iron dust bar food oil lcm hcm uw rad pstage ptime access name xbuilt ybuilt builder rflags rpath
/config
config plane
uid owner xloc yloc type effic mobil off tech opx opy mission radius wing range ship land harden flags access theta

View file

@ -1026,13 +1026,13 @@ owner xloc yloc des effic mobil off loyal terr0 terr1 terr2 terr3 dterr xdist yd
0 -1 -1 4 0 0 0 0 0 0 0 0 0 -1 -1 0 61 0 1 4 63 33 0 0 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 0 0 0 0 0
/config
config ship
uid owner xloc yloc type effic mobil off tech opx opy mission radius fleet civil milit shell gun petrol iron dust bar food oil lcm hcm uw rad pstage ptime access mquota path follow name xbuilt ybuilt builder rflags rpath
0 1 18 -12 6 100 127 0 0 0 0 none 0 "" 0 25 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 10 -14 1 () ""
1 1 10 -14 2 100 127 0 31 0 0 none 0 "" 300 25 0 0 0 0 0 0 0 0 100 100 0 0 healthy 0 0 0 "" 1 "" 10 -14 1 () ""
2 1 10 -14 15 100 127 0 44 0 0 none 0 "" 30 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 2 "" 10 -14 1 () ""
3 1 11 -13 8 100 127 0 51 0 0 none 0 "" 990 0 0 0 0 0 0 0 0 449 0 0 0 0 healthy 0 0 0 "" 3 "" 10 -14 1 () ""
4 1 11 -13 1 100 127 0 51 0 0 none 0 "" 300 0 0 0 0 0 0 0 900 0 0 0 0 0 healthy 0 0 0 "" 4 "" 10 -14 1 () ""
49 0 0 0 0 0 0 0 0 0 0 none 0 "" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 "" 0 "" 0 0 0 () ""
uid owner xloc yloc type effic mobil off tech opx opy mission radius fleet civil milit shell gun petrol iron dust bar food oil lcm hcm uw rad pstage ptime access name xbuilt ybuilt builder rflags rpath
0 1 18 -12 6 100 127 0 0 0 0 none 0 "" 0 25 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 10 -14 1 () ""
1 1 10 -14 2 100 127 0 31 0 0 none 0 "" 300 25 0 0 0 0 0 0 0 0 100 100 0 0 healthy 0 0 "" 10 -14 1 () ""
2 1 10 -14 15 100 127 0 44 0 0 none 0 "" 30 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 10 -14 1 () ""
3 1 11 -13 8 100 127 0 51 0 0 none 0 "" 990 0 0 0 0 0 0 0 0 449 0 0 0 0 healthy 0 0 "" 10 -14 1 () ""
4 1 11 -13 1 100 127 0 51 0 0 none 0 "" 300 0 0 0 0 0 0 0 900 0 0 0 0 0 healthy 0 0 "" 10 -14 1 () ""
49 0 0 0 0 0 0 0 0 0 0 none 0 "" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 "" 0 0 0 () ""
/config
config plane
uid owner xloc yloc type effic mobil off tech opx opy mission radius wing range harden ship land flags access theta

View file

@ -228,16 +228,13 @@
Play#0 output Play#0 1 "pstage" 6 1 0 42
Play#0 output Play#0 1 "ptime" 6 1 0 -1
Play#0 output Play#0 1 "access" 6 0 0 -1
Play#0 output Play#0 1 "mquota" 5 0 0 -1
Play#0 output Play#0 1 "path" 13 0 28 -1
Play#0 output Play#0 1 "follow" 8 0 0 -1
Play#0 output Play#0 1 "name" 13 0 24 -1
Play#0 output Play#0 1 "xbuilt" 9 1 0 -1
Play#0 output Play#0 1 "ybuilt" 10 1 0 -1
Play#0 output Play#0 1 "builder" 5 1 0 8
Play#0 output Play#0 1 "rflags" 8 8 0 46
Play#0 output Play#0 1 "rpath" 13 0 10 -1
Play#0 output Play#0 1 /40
Play#0 output Play#0 1 /37
Play#0 output Play#0 6 0 640
Play#0 input xdump meta plane
Play#0 command xdump
@ -692,7 +689,6 @@
Play#0 output Play#0 1 "NO_PLAGUE" 8 0 0 -1
Play#0 output Play#0 1 "RAILWAYS" 8 0 0 -1
Play#0 output Play#0 1 "RES_POP" 8 0 0 -1
Play#0 output Play#0 1 "SAIL" 8 0 0 -1
Play#0 output Play#0 1 "SUPER_BARS" 8 0 0 -1
Play#0 output Play#0 1 "TECH_POP" 8 0 0 -1
Play#0 output Play#0 1 "btu_build_rate" 12 0 0 -1
@ -769,7 +765,7 @@
Play#0 output Play#0 1 "trade_3" 12 0 0 -1
Play#0 output Play#0 1 "trade_ally_bonus" 12 0 0 -1
Play#0 output Play#0 1 "trade_ally_cut" 12 0 0 -1
Play#0 output Play#0 1 /111
Play#0 output Play#0 1 /110
Play#0 output Play#0 6 0 640
Play#0 input xdump meta meta
Play#0 command xdump
@ -1372,13 +1368,10 @@
Play#2 output Play#2 1 "uw" 6 0 0 -1
Play#2 output Play#2 1 "rad" 6 0 0 -1
Play#2 output Play#2 1 "access" 6 0 0 -1
Play#2 output Play#2 1 "mquota" 5 0 0 -1
Play#2 output Play#2 1 "path" 13 0 28 -1
Play#2 output Play#2 1 "follow" 8 0 0 -1
Play#2 output Play#2 1 "name" 13 0 24 -1
Play#2 output Play#2 1 "rflags" 8 8 0 46
Play#2 output Play#2 1 "rpath" 13 0 10 -1
Play#2 output Play#2 1 /35
Play#2 output Play#2 1 /32
Play#2 output Play#2 6 0 636
Play#2 input xdump meta plane
Play#2 command xdump
@ -1797,7 +1790,6 @@
Play#2 output Play#2 1 "NO_PLAGUE" 8 0 0 -1
Play#2 output Play#2 1 "RAILWAYS" 8 0 0 -1
Play#2 output Play#2 1 "RES_POP" 8 0 0 -1
Play#2 output Play#2 1 "SAIL" 8 0 0 -1
Play#2 output Play#2 1 "SUPER_BARS" 8 0 0 -1
Play#2 output Play#2 1 "TECH_POP" 8 0 0 -1
Play#2 output Play#2 1 "btu_build_rate" 12 0 0 -1
@ -1874,7 +1866,7 @@
Play#2 output Play#2 1 "trade_3" 12 0 0 -1
Play#2 output Play#2 1 "trade_ally_bonus" 12 0 0 -1
Play#2 output Play#2 1 "trade_ally_cut" 12 0 0 -1
Play#2 output Play#2 1 /111
Play#2 output Play#2 1 /110
Play#2 output Play#2 6 0 636
Play#2 input xdump meta meta
Play#2 command xdump
@ -15542,11 +15534,11 @@
Play#0 input xdump ship *
Play#0 command xdump
Play#0 output Play#0 1 XDUMP ship 0
Play#0 output Play#0 1 0 1 18 -12 6 100 127 0 0 0 0 0 0 "" 0 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 "" 0 "" 10 -14 1 0 ""
Play#0 output Play#0 1 1 1 10 -14 2 100 127 0 31 0 0 0 0 "" 300 25 0 0 0 0 0 0 0 0 100 100 0 0 0 0 0 0 "" 1 "" 10 -14 1 0 ""
Play#0 output Play#0 1 2 1 10 -14 15 100 127 0 44 0 0 0 0 "" 30 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 "" 2 "" 10 -14 1 0 ""
Play#0 output Play#0 1 3 1 11 -13 8 100 127 0 51 0 0 0 0 "" 990 0 0 0 0 0 0 0 0 449 0 0 0 0 0 0 0 0 "" 3 "" 10 -14 1 0 ""
Play#0 output Play#0 1 4 1 11 -13 1 100 127 0 51 0 0 0 0 "" 300 0 0 0 0 0 0 0 900 0 0 0 0 0 0 0 0 0 "" 4 "" 10 -14 1 0 ""
Play#0 output Play#0 1 0 1 18 -12 6 100 127 0 0 0 0 0 0 "" 0 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 "" 10 -14 1 0 ""
Play#0 output Play#0 1 1 1 10 -14 2 100 127 0 31 0 0 0 0 "" 300 25 0 0 0 0 0 0 0 0 100 100 0 0 0 0 0 "" 10 -14 1 0 ""
Play#0 output Play#0 1 2 1 10 -14 15 100 127 0 44 0 0 0 0 "" 30 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 "" 10 -14 1 0 ""
Play#0 output Play#0 1 3 1 11 -13 8 100 127 0 51 0 0 0 0 "" 990 0 0 0 0 0 0 0 0 449 0 0 0 0 0 0 0 "" 10 -14 1 0 ""
Play#0 output Play#0 1 4 1 11 -13 1 100 127 0 51 0 0 0 0 "" 300 0 0 0 0 0 0 0 900 0 0 0 0 0 0 0 0 "" 10 -14 1 0 ""
Play#0 output Play#0 1 /5
Play#0 output Play#0 6 0 640
Play#0 input xdump plane *
@ -16004,7 +15996,7 @@
Play#0 input xdump version *
Play#0 command xdump
Play#0 output Play#0 1 XDUMP version 0
Play#0 output Play#0 1 "Wolfpack\\040Empire\\0404.3.32" 99 "Deity\\040forgot\\040to\\040edit\\040econfig" "careless@invalid" 64 32 60 0 0 1 "" "" "" 1 0 1 0 1 1 0 0 0 0 1 0 0 0 0 1 1 0 1 1 0 1 0 0 0.00120000 1440 640 15 5 120 0 1.00000 96.0000 2.00000 2.00000 192.000 48.0000 600000. 600000. 1.00000 127 100 1000.00 10.0000 300 3000.00 100.000 1.00000 2.00000 127 -0.00100000 1.00000 2.00000 127 -0.00100000 1.50000 3.00000 127 -0.00100000 40 8 8 8 1.75000 5.00000 1.00000 0.300000 0.100000 0.500000 1.00000 2 0.00250000 0.00833330 -0.0833333 -0.00833330 0.00177770 0.00600000 0.250000 0.000500000 0.00130000 0.00120000 0.00500000 50 0.00600000 0.00500000 0.00000 7200 7200 1.00000 0.990000 8 14 25 0.0250000 0.0350000 0.0500000 0.200000 0.100000
Play#0 output Play#0 1 "Wolfpack\\040Empire\\0404.3.32" 99 "Deity\\040forgot\\040to\\040edit\\040econfig" "careless@invalid" 64 32 60 0 0 1 "" "" "" 1 0 1 0 1 1 0 0 0 0 1 0 0 0 0 1 1 0 1 1 0 0 0 0.00120000 1440 640 15 5 120 0 1.00000 96.0000 2.00000 2.00000 192.000 48.0000 600000. 600000. 1.00000 127 100 1000.00 10.0000 300 3000.00 100.000 1.00000 2.00000 127 -0.00100000 1.00000 2.00000 127 -0.00100000 1.50000 3.00000 127 -0.00100000 40 8 8 8 1.75000 5.00000 1.00000 0.300000 0.100000 0.500000 1.00000 2 0.00250000 0.00833330 -0.0833333 -0.00833330 0.00177770 0.00600000 0.250000 0.000500000 0.00130000 0.00120000 0.00500000 50 0.00600000 0.00500000 0.00000 7200 7200 1.00000 0.990000 8 14 25 0.0250000 0.0350000 0.0500000 0.200000 0.100000
Play#0 output Play#0 1 /1
Play#0 output Play#0 6 0 640
Play#0 input xdump meta *
@ -16297,11 +16289,11 @@
Play#1 input xdump ship *
Play#1 command xdump
Play#1 output Play#1 1 XDUMP ship 0
Play#1 output Play#1 1 0 1 13 1 6 100 127 0 0 -5 13 0 0 "" 0 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 "" 0 "" 0 ""
Play#1 output Play#1 1 1 1 5 -1 2 100 127 0 31 -5 13 0 0 "" 300 25 0 0 0 0 0 0 0 0 100 100 0 0 0 0 "" 1 "" 0 ""
Play#1 output Play#1 1 2 1 5 -1 15 100 127 0 44 -5 13 0 0 "" 30 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 "" 2 "" 0 ""
Play#1 output Play#1 1 3 1 6 0 8 100 127 0 51 -5 13 0 0 "" 990 0 0 0 0 0 0 0 0 449 0 0 0 0 0 0 "" 3 "" 0 ""
Play#1 output Play#1 1 4 1 6 0 1 100 127 0 51 -5 13 0 0 "" 300 0 0 0 0 0 0 0 900 0 0 0 0 0 0 0 "" 4 "" 0 ""
Play#1 output Play#1 1 0 1 13 1 6 100 127 0 0 -5 13 0 0 "" 0 25 0 0 0 0 0 0 0 0 0 0 0 0 0 "" 0 ""
Play#1 output Play#1 1 1 1 5 -1 2 100 127 0 31 -5 13 0 0 "" 300 25 0 0 0 0 0 0 0 0 100 100 0 0 0 "" 0 ""
Play#1 output Play#1 1 2 1 5 -1 15 100 127 0 44 -5 13 0 0 "" 30 0 0 0 0 0 0 0 0 0 0 0 0 0 0 "" 0 ""
Play#1 output Play#1 1 3 1 6 0 8 100 127 0 51 -5 13 0 0 "" 990 0 0 0 0 0 0 0 0 449 0 0 0 0 0 "" 0 ""
Play#1 output Play#1 1 4 1 6 0 1 100 127 0 51 -5 13 0 0 "" 300 0 0 0 0 0 0 0 900 0 0 0 0 0 0 "" 0 ""
Play#1 output Play#1 1 /5
Play#1 output Play#1 6 0 640
Play#1 input xdump plane *
@ -16736,7 +16728,7 @@
Play#1 input xdump version *
Play#1 command xdump
Play#1 output Play#1 1 XDUMP version 0
Play#1 output Play#1 1 "Wolfpack\\040Empire\\0404.3.32" 99 "Deity\\040forgot\\040to\\040edit\\040econfig" "careless@invalid" 64 32 60 0 0 1 "" "" "" 1 0 1 0 1 1 0 0 0 0 1 0 0 0 0 1 1 0 1 1 0 1 0 0 0.00120000 1440 640 15 5 120 0 1.00000 96.0000 2.00000 2.00000 192.000 48.0000 600000. 600000. 1.00000 127 100 1000.00 10.0000 300 3000.00 100.000 1.00000 2.00000 127 -0.00100000 1.00000 2.00000 127 -0.00100000 1.50000 3.00000 127 -0.00100000 40 8 8 8 1.75000 5.00000 1.00000 0.300000 0.100000 0.500000 1.00000 2 0.00250000 0.00833330 -0.0833333 -0.00833330 0.00177770 0.00600000 0.250000 0.000500000 0.00130000 0.00120000 0.00500000 50 0.00600000 0.00500000 0.00000 7200 7200 1.00000 0.990000 8 14 25 0.0250000 0.0350000 0.0500000 0.200000 0.100000
Play#1 output Play#1 1 "Wolfpack\\040Empire\\0404.3.32" 99 "Deity\\040forgot\\040to\\040edit\\040econfig" "careless@invalid" 64 32 60 0 0 1 "" "" "" 1 0 1 0 1 1 0 0 0 0 1 0 0 0 0 1 1 0 1 1 0 0 0 0.00120000 1440 640 15 5 120 0 1.00000 96.0000 2.00000 2.00000 192.000 48.0000 600000. 600000. 1.00000 127 100 1000.00 10.0000 300 3000.00 100.000 1.00000 2.00000 127 -0.00100000 1.00000 2.00000 127 -0.00100000 1.50000 3.00000 127 -0.00100000 40 8 8 8 1.75000 5.00000 1.00000 0.300000 0.100000 0.500000 1.00000 2 0.00250000 0.00833330 -0.0833333 -0.00833330 0.00177770 0.00600000 0.250000 0.000500000 0.00130000 0.00120000 0.00500000 50 0.00600000 0.00500000 0.00000 7200 7200 1.00000 0.990000 8 14 25 0.0250000 0.0350000 0.0500000 0.200000 0.100000
Play#1 output Play#1 1 /1
Play#1 output Play#1 6 0 640
Play#1 input xdump meta *