/*
* Empire - A multi-player, client/server Internet based war game.
- * Copyright (C) 1986-2010, Dave Pare, Jeff Bailey, Thomas Ruschak,
- * Ken Stevens, Steve McClure
+ * Copyright (C) 1986-2011, Dave Pare, Jeff Bailey, Thomas Ruschak,
+ * Ken Stevens, Steve McClure, Markus Armbruster
*
- * This program is free software; you can redistribute it and/or modify
+ * 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 2 of the License, or
+ * 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,
* 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, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* ---
*
*/
static int
-nav_loadship(struct shpstr *sp, natid cnum)
+nav_loadship(struct shpstr *sp)
{
struct sctstr *sectp;
- int i, landown, shipown, didsomething[TMAX], rel;
+ int i, didsomething[TMAX], rel;
for (i = 0; i < TMAX; i++)
didsomething[i] = 0;
if (!(sectp = getsectp(sp->shp_x, sp->shp_y)))
return 0; /* safety */
- landown = sectp->sct_own;
- shipown = sp->shp_own;
- rel = getrel(getnatp(sectp->sct_own), cnum);
+ rel = relations_with(sectp->sct_own, sp->shp_own);
/* loop through each field for that ship */
for (i = 0; i < TMAX; ++i) {
didsomething[i] = 1;
continue;
}
- if (landown == 0) {
+ if (sectp->sct_own == 0) {
/* either sea or deity harbor */
didsomething[i] = 1;
continue;
didsomething[i] = 1;
continue;
}
- if (landown == shipown || rel >= FRIENDLY)
+ if (rel >= FRIENDLY)
didsomething[i] = load_it(sp, sectp, i);
}
int dummyint;
double dummydouble;
int dir;
- natid cnum;
/* just return if no autonaving to do for this ship */
if (!(sp->shp_autonav & AN_AUTONAV) || (sp->shp_autonav & AN_STANDBY))
return 0;
- cnum = sp->shp_own;
-
/* Make a list of one ships so we can use the navi.c code */
emp_initque(&ship_list);
mlp = malloc(sizeof(struct ulist));
sp->shp_destx[0], sp->shp_desty[0],
sp->shp_own);
if (!cp) {
- wu(0, cnum,
+ wu(0, sp->shp_own,
"%s bad path, ship put on standby\n", prship(sp));
sp->shp_autonav |= AN_STANDBY;
putship(sp->shp_uid, sp);
/* Try to load the ship */
if (sp->shp_autonav & AN_LOADING) {
- didsomething = nav_loadship(sp, cnum);
+ didsomething = nav_loadship(sp);
if (didsomething)
quit = 1;
}