/*
* Empire - A multi-player, client/server Internet based war game.
- * Copyright (C) 1986-2000, Dave Pare, Jeff Bailey, Thomas Ruschak,
+ * Copyright (C) 1986-2006, Dave Pare, Jeff Bailey, Thomas Ruschak,
* Ken Stevens, Steve McClure
*
* This program is free software; you can redistribute it and/or modify
*
* ---
*
- * See the "LEGAL", "LICENSE", "CREDITS" and "README" files for all the
- * related information and legal notices. It is expected that any future
- * projects/authors will amend these files as needed.
+ * 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.
*
* ---
*
*
*/
+#include <config.h>
+
#include "misc.h"
#include "player.h"
-#include "var.h"
#include "sect.h"
-#include "item.h"
#include "xy.h"
#include "path.h"
#include "nsc.h"
-#include "deity.h"
-#include "file.h"
#include "nat.h"
#include "commands.h"
int
best(void)
{
- double cost;
- s_char *BestDistPath(), *BestLandPath(), *s;
- struct sctstr s1, s2;
- struct nstr_sect nstr, nstr2;
- int dist=0;
- s_char buf[1024];
-
- dist = player->argp[0][4] == 'd';
+ double cost;
+ s_char *s;
+ struct sctstr s1, s2;
+ struct nstr_sect nstr, nstr2;
+ s_char buf[1024];
- if (!snxtsct(&nstr, player->argp[1]))
- return RET_SYN;
+ if (!snxtsct(&nstr, player->argp[1]))
+ return RET_SYN;
- if (!snxtsct(&nstr2, player->argp[2]))
- return RET_SYN;
+ if (!snxtsct(&nstr2, player->argp[2]))
+ return RET_SYN;
- while (!player->aborted && nxtsct(&nstr, &s1)){
- if (s1.sct_own != player->cnum)
- continue;
- snxtsct(&nstr2, player->argp[2]);
- while (!player->aborted && nxtsct(&nstr2, &s2)){
- if (s2.sct_own != player->cnum)
- continue;
- if (dist)
- s = BestDistPath(buf, &s1,&s2,&cost, MOB_ROAD);
- else
- s = BestLandPath(buf, &s1,&s2,&cost, MOB_ROAD);
- if (s != (s_char *)0)
- pr("Best %spath from %s to %s is %s (cost %1.3f)\n",
- (dist ? "dist" : ""),
- xyas(s1.sct_x,s1.sct_y,player->cnum),
- xyas(s2.sct_x,s2.sct_y,player->cnum), s, cost);
- else
- pr("No owned path from %s to %s exists!\n",
- xyas(s1.sct_x,s1.sct_y,player->cnum),
- xyas(s2.sct_x,s2.sct_y,player->cnum));
- }
+ while (!player->aborted && nxtsct(&nstr, &s1)) {
+ if (s1.sct_own != player->cnum)
+ continue;
+ snxtsct(&nstr2, player->argp[2]);
+ while (!player->aborted && nxtsct(&nstr2, &s2)) {
+ if (s2.sct_own != player->cnum)
+ continue;
+ s = BestLandPath(buf, &s1, &s2, &cost, MOB_ROAD);
+ if (s != (s_char *)0)
+ pr("Best path from %s to %s is %s (cost %1.3f)\n",
+ xyas(s1.sct_x, s1.sct_y, player->cnum),
+ xyas(s2.sct_x, s2.sct_y, player->cnum), s, cost);
+ else
+ pr("No owned path from %s to %s exists!\n",
+ xyas(s1.sct_x, s1.sct_y, player->cnum),
+ xyas(s2.sct_x, s2.sct_y, player->cnum));
}
- return 0;
+ }
+ return 0;
}