/*
* Empire - A multi-player, client/server Internet based war game.
- * Copyright (C) 1986-2006, Dave Pare, Jeff Bailey, Thomas Ruschak,
+ * Copyright (C) 1986-2007, Dave Pare, Jeff Bailey, Thomas Ruschak,
* Ken Stevens, Steve McClure
*
* This program is free software; you can redistribute it and/or modify
#include <config.h>
-#include "misc.h"
-#include "sect.h"
-#include "path.h"
-#include "ship.h"
-#include "file.h"
-#include "nat.h"
-#include "xy.h"
+#include <math.h>
#include "nsc.h"
+#include "path.h"
#include "update.h"
-#include "subs.h"
-#include "common.h"
-#include <math.h>
-#include <stdlib.h>
+#include "empobj.h"
+#include "unit.h"
static void fltp_to_list(struct fltheadstr *, struct emp_qelem *);
static void
cost_ship(struct shpstr *sp, struct fltelemstr *ep, struct fltheadstr *fp)
{
- double mobcost;
+ double mobcost = shp_mobcost(sp);
int howfar;
- mobcost = 0.0;
- if (sp->shp_effic > 0) {
- mobcost = sp->shp_effic * sp->shp_speed * 0.01;
- mobcost = 480.0 / (mobcost * (1 + (50 + sp->shp_tech) /
- (double)(200 + sp->shp_tech)));
- }
-/* the next two lines are not necessary since shp_mobquota is unsigned
-and therefore cannot be less than 0.
- if (sp->shp_mobquota<0)
- sp->shp_mobquota=0;
-*/
-
howfar = 0;
if (mobcost > 0) {
howfar = (int)sp->shp_mobil - (int)sp->shp_mobquota;
"Ship #%d can move %d spaces on mobility %d (cost/sect %f)\n",
sp->shp_uid, howfar, sp->shp_mobil, mobcost);
#endif
- if ((unsigned int)howfar < fp->maxmoves)
+ if ((unsigned)howfar < fp->maxmoves)
fp->maxmoves = howfar;
ep->mobil = sp->shp_mobil;
fltp_to_list(struct fltheadstr *fltp, struct emp_qelem *list)
{
struct fltelemstr *fe;
- struct mlist *mlp;
+ struct ulist *mlp;
struct shpstr *sp;
emp_initque(list);
for (fe = fltp->head; fe; fe = fe->next) {
- mlp = malloc(sizeof(struct mlist));
+ mlp = malloc(sizeof(struct ulist));
sp = getshipp(fe->num);
- mlp->mcp = mchr + sp->shp_type;
- mlp->ship = *sp;
+ mlp->chrp = (struct empobj_chr *)(mchr + sp->shp_type);
+ mlp->unit.ship = *sp;
mlp->mobil = fe->mobil;
emp_insque(&mlp->queue, list);
}