/*
* Empire - A multi-player, client/server Internet based war game.
- * Copyright (C) 1986-2011, Dave Pare, Jeff Bailey, Thomas Ruschak,
+ * Copyright (C) 1986-2021, Dave Pare, Jeff Bailey, Thomas Ruschak,
* Ken Stevens, Steve McClure, Markus Armbruster
*
* Empire is free software: you can redistribute it and/or modify
* move.c: Move something somewhere.
*
* Known contributors to this file:
- * Markus Armbruster, 2004-2011
+ * Markus Armbruster, 2004-2012
*/
#include <config.h>
#include <ctype.h>
+#include "chance.h"
#include "damage.h"
-#include "file.h"
#include "map.h"
#include "nsc.h"
#include "path.h"
int dir;
char scanspace[1024];
char *argp[128];
- int ac;
- int intcost;
int takedam = *dam;
int out = 0;
char prompt[128];
curx = start->sct_x;
cury = start->sct_y;
total_mcost = 0.0;
- if (getsect(curx, cury, §) < 0) {
+ if (!getsect(curx, cury, §)) {
logerror("move_path: getsect %d,%d", curx, cury);
return -1;
}
continue;
}
if (dir == DIR_MAP) {
- ac = parse(movstr, scanspace, argp, NULL, NULL, NULL);
- if (ac == 1) {
- pr("Use of '%c' without a space before its argument is deprecated.\n"
- "Support for it will go away in a future release\n",
- *movstr);
- argp[1] = argp[0] + 1;
- }
+ parse(movstr, scanspace, argp, NULL, NULL, NULL);
if (!exploring)
map(curx, cury, argp[1], argp[2]);
*movstr = 0;
*/
tmpx = curx + diroff[dir][0];
tmpy = cury + diroff[dir][1];
- if (getsect(tmpx, tmpy, &next) < 0) {
+ if (!getsect(tmpx, tmpy, &next)) {
pr("You can't go there...\n");
*movstr = 0;
continue;
break;
}
*end = sect;
- intcost = (int)total_mcost;
- if (intcost < 0)
- return -1;
if ((start->sct_x == end->sct_x) && (start->sct_y == end->sct_y)
&& !out)
return -1;
- if (chance(total_mcost - intcost))
- intcost++;
- return intcost;
+ return roundavg(total_mcost);
}