/*
* Empire - A multi-player, client/server Internet based war game.
- * Copyright (C) 1986-2011, Dave Pare, Jeff Bailey, Thomas Ruschak,
+ * Copyright (C) 1986-2018, Dave Pare, Jeff Bailey, Thomas Ruschak,
* Ken Stevens, Steve McClure, Markus Armbruster
*
* Empire is free software: you can redistribute it and/or modify
*
* Known contributors to this file:
* Steve McClure, 2000
- * Markus Armbruster, 2004-2011
+ * Markus Armbruster, 2004-2013
*/
#include <config.h>
#include <stdlib.h>
-#include "file.h"
+#include "chance.h"
#include "land.h"
#include "map.h"
#include "misc.h"
struct sctstr sect;
struct shpstr ship;
struct lndstr land;
- int count;
+ int count, crackle;
struct nstr_item ni;
struct nstr_sect ns;
int rx, ry;
int row;
int n;
int changed = 0;
- long crackle;
signed char noise[100];
- char selection[1024];
if (!eff)
return RET_OK;
noise[100 * n / (100 - eff)] = 1;
}
- /* Have to convert to player coords, since it gets converted
- back from there */
- sprintf(selection, "@%s:%d", xyas(x, y, player->cnum), range);
-
if (type == EF_BAD || type == EF_SECTOR) {
- if (type == EF_SECTOR) { /* Use ?conditionals */
- if (!snxtsct(&ns, selection))
- return RET_SYN;
- } else
- snxtsct_dist(&ns, x, y, range);
+ snxtsct_dist(&ns, x, y, range);
+ if (type == EF_SECTOR && !snxtsct_use_condarg(&ns))
+ return RET_SYN;
blankfill(radbuf, &ns.range, 1);
if (flags & P_S) {
if ((type == EF_BAD || type == EF_SHIP) &&
(flags & P_S || flags & P_I)) {
- if (type == EF_SHIP) {
- if (!snxtitem(&ni, EF_SHIP, selection, NULL))
- return RET_SYN;
- } else
- snxtitem_dist(&ni, EF_SHIP, x, y, range);
+ snxtitem_dist(&ni, EF_SHIP, x, y, range);
+ if (type == EF_SHIP && !snxtitem_use_condarg(&ni))
+ return RET_SYN;
crackle = count = 0;
if (flags & P_S) {
pr("Satellite ship report\n");
prdate();
- pr(" own shp# ship type sector eff\n");
+ pr(" own shp# ship type sector eff\n");
}
while (nxtitem(&ni, &ship)) {
if (ship.shp_own == 0)
if ((type == EF_BAD || type == EF_LAND) &&
(flags & P_S || flags & P_I)) {
- if (type == EF_LAND) {
- if (!snxtitem(&ni, EF_LAND, selection, NULL))
- return RET_SYN;
- } else
- snxtitem_dist(&ni, EF_LAND, x, y, range);
+ snxtitem_dist(&ni, EF_LAND, x, y, range);
+ if (type == EF_LAND && !snxtitem_use_condarg(&ni))
+ return RET_SYN;
crackle = count = 0;
if (flags & P_S) {
pr("Satellite unit report\n");
prdate();
- pr(" own lnd# unit type sector eff\n");
+ pr(" own lnd# unit type sector eff\n");
}
while (nxtitem(&ni, &land)) {
if (land.lnd_own == 0)
pr("%4d %4d %-16.16s ",
land.lnd_own, land.lnd_uid,
lchr[(int)land.lnd_type].l_name);
- prxy("%4d,%-4d", land.lnd_x, land.lnd_y);
+ prxy("%4d,%-4d ", land.lnd_x, land.lnd_y);
pr("%3d%%\n", land.lnd_effic);
++count;
if (opt_HIDDEN)
if (mchr[(int)ship.shp_type].m_flags & M_SUB)
continue;
if (first) {
- pr("\t own shp# ship type sector eff\n");
+ pr("\t own shp# ship type sector eff\n");
first = 0;
}
pr("\t%4d %4d %-16.16s %-25.25s ",
continue;
if (first) {
- pr("\t own lnd# unit type sector eff\n");
+ pr("\t own lnd# unit type sector eff\n");
first = 0;
}