/*
* 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/>.
*
* ---
*
* Known contributors to this file:
* Ken Stevens, 1995
* Steve McClure, 1996-2000
- * Markus Armbruster, 2004-2009
+ * Markus Armbruster, 2004-2010
*/
#include <config.h>
struct nukstr nuke;
struct sctstr sect;
int sublaunch = 0;
- char *from;
+ char *base, *in_or_at, *from;
int dam;
mpr(pp->pln_own, "Preparing to launch %s at %s %s %s%s\n",
what,
type != EF_SECTOR ? "in " : "",
xyas(x, y, pp->pln_own));
- mpr(pp->pln_own, "\tLaunching from ");
if (pp->pln_ship >= 0) {
getship(pp->pln_ship, &ship);
- mpr(pp->pln_own, "%s in ", prship(&ship));
+ base = prship(&ship);
+ in_or_at = " in ";
if (mchr[(int)ship.shp_type].m_flags & M_SUB) {
sublaunch = 1;
from = "in hatch";
} else
from = "on deck";
- mpr(pp->pln_own, "%s\n",
- xyas(ship.shp_x, ship.shp_y, pp->pln_own));
} else {
if (pp->pln_harden > 0) {
- mpr(pp->pln_own, "missile silo at ");
+ base = "missile silo";
+ in_or_at = " at ";
from = "in silo";
- } else
+ } else {
+ base = in_or_at = "";
from = "on launch pad";
- mpr(pp->pln_own, "%s\n", xyas(pp->pln_x, pp->pln_y, pp->pln_own));
+ }
}
+ mpr(pp->pln_own, "\tLaunching from %s%s%s\n",
+ base, in_or_at, xyas(pp->pln_x, pp->pln_y, pp->pln_own));
CANT_HAPPEN(pp->pln_flags & PLN_LAUNCHED);
pp->pln_flags |= PLN_LAUNCHED;
* (1 - techfact(pp->pln_tech, 1.0)))) {
mpr(pp->pln_own, "KABOOOOM! Missile explodes %s!\n", from);
if (getnuke(nuk_on_plane(pp), &nuke)) {
- pr("%s lost!\n", prnuke(&nuke));
+ mpr(pp->pln_own, "%s lost!\n", prnuke(&nuke));
nuke.nuk_effic = 0;
putnuke(nuke.nuk_uid, &nuke);
}
shipdamage(&ship, dam);
putship(ship.shp_uid, &ship);
} else {
- pr("Explosion damages %s %d%%\n",
- xyas(pp->pln_x, pp->pln_y, pp->pln_own), dam);
+ mpr(pp->pln_own, "Explosion damages %s %d%%\n",
+ xyas(pp->pln_x, pp->pln_y, pp->pln_own), dam);
getsect(pp->pln_x, pp->pln_y, §);
sectdamage(§, dam);
putsect(§);
if (mission &&
plane.pln_radius < mapdist(x, y, plane.pln_opx, plane.pln_opy))
continue;
- if (getrel(getnatp(plane.pln_own), victim) >= NEUTRAL)
+ if (relations_with(plane.pln_own, victim) >= NEUTRAL)
continue;
/* missiles go one way, so we can use all the range */
if (plane.pln_range < mapdist(x, y, plane.pln_x, plane.pln_y))