return;
if (type == EF_LAND)
- pr("lnd# land type x,y a eff sh gun xl mu tech retr\n");
+ pr("lnd# land type x,y a eff mil sh gun xl ln mu tech retr\n");
else
pr("shp# ship type x,y fl eff mil sh gun pn he xl ln mob tech\n");
pr("%1.1s", &unit->group);
pr("%4d%%", unit->effic);
if (type == EF_LAND) {
+ pr("%4d", lnd->lnd_item[I_MILIT]);
pr("%4d", lnd->lnd_item[I_SHELL]);
pr("%4d", lnd->lnd_item[I_GUN]);
- pr("%3d", lnd_nxlight(lnd));
+ pr("%3d%3d", lnd_nxlight(lnd), lnd_nland(lnd));
} else {
pr("%4d", shp->shp_item[I_MILIT]);
pr("%4d", shp->shp_item[I_SHELL]);
}
char *
-unit_path(int together, struct empobj *unit, char *buf)
+unit_path(int together, struct empobj *unit, char *buf, size_t bufsz)
{
coord destx;
coord desty;
return NULL;
}
}
- len = path_find_route(buf, sizeof(buf), unit->x, unit->y, destx, desty);
+ len = path_find_route(buf, bufsz, unit->x, unit->y, destx, desty);
if (len == 0 || unit->ef_type == EF_LAND) {
- if (len + 1 < sizeof(buf))
+ if (len + 1 < bufsz)
strcpy(buf + len, "h");
len++;
}
- if (len >= sizeof(buf)) {
+ if (len >= bufsz) {
pr("Can't handle path to %s, it's too long, sorry\n",
xyas(destx, desty, player->cnum));
return NULL;
* nukes).
* Else update their location to the carrier's. Any op sectors equal
* to location get updated, too.
+ * Return number of units updated.
*/
-void
+int
unit_update_cargo(struct empobj *carrier)
{
int cargo_type;
struct nstr_item ni;
union empobj_storage obj;
+ int n = 0;
for (cargo_type = EF_PLANE; cargo_type <= EF_NUKE; cargo_type++) {
snxtitem_cargo(&ni, cargo_type, carrier->ef_type, carrier->uid);
obj.gen.y = carrier->y;
}
put_empobj(cargo_type, obj.gen.uid, &obj);
+ n++;
}
}
+ return n;
}
/*