/*
* Empire - A multi-player, client/server Internet based war game.
- * Copyright (C) 1986-2015, Dave Pare, Jeff Bailey, Thomas Ruschak,
+ * Copyright (C) 1986-2016, Dave Pare, Jeff Bailey, Thomas Ruschak,
* Ken Stevens, Steve McClure, Markus Armbruster
*
* Empire is free software: you can redistribute it and/or modify
putship(com->shp_uid, &ship);
}
com->mobcost = 0;
+ /*
+ * FIXME if we just sank the ship, att_get_combat() will report
+ * "not in the same sector", and proceed to clobber *com. See
+ * also the workaround in boar().
+ */
att_get_combat(com, com->own != player->cnum);
}
}
/*
- * Return path cost for ATTACKER to enter sector given by DEF.
- * MOBTYPE is a mobility type accepted by sector_mcost().
+ * Return path cost for @attacker to enter sector given by @def.
+ * @mobtype is a mobility type accepted by sector_mcost().
*/
static double
att_mobcost(natid attacker, struct combat *def, int mobtype)
case EF_SHIP:
/* the 2 in the formula below is a fudge factor */
getship(def->shp_uid, &ship);
- off->mobcost += (def->eff / 100) * (shp_speed(&ship) / 2);
+ off->mobcost += shp_speed(&ship) / 2 * def->eff / 100;
}
}
}
ap = dam / 100.0;
osupport += ap;
}
- sprintf(outs, "attacker\t%1.2f\t%1.2f\t%1.2f\t%1.2f\n", af, as, au,
- ap);
+ sprintf(outs, "attacker\t%1.2f\t%1.2f\t%1.2f\t%1.2f", af, as, au, ap);
return osupport;
}
if (good)
*outs = '\0';
else
- sprintf(outs, "defender\t%1.2f\t%1.2f\t%1.2f\t%1.2f\n", df, ds,
- du, dp);
+ sprintf(outs, "defender\t%1.2f\t%1.2f\t%1.2f\t%1.2f",
+ df, ds, du, dp);
if (def->own) {
if (good < 0)
wu(0, def->own,
pr("\n\t\tsupport values\n");
pr("\t\tforts\tships\tunits\tplanes\n");
if (*osupportp != 1.0)
- pr("%s", osupports);
+ pr("%s\n", osupports);
if (*dsupportp != 1.0)
- pr("%s", dsupports);
+ pr("%s\n", dsupports);
pr("\n");
if (def->own) {
wu(0, def->own, "\n\t\tsupport values\n");
wu(0, def->own, "\t\tforts\tships\tunits\tplanes\n");
if (*osupportp != 1.0)
- wu(0, def->own, "%s", osupports);
+ wu(0, def->own, "%s\n", osupports);
if (*dsupportp != 1.0)
- wu(0, def->own, "%s", dsupports);
+ wu(0, def->own, "%s\n", dsupports);
wu(0, def->own, "\n");
}
}