struct nstr_item ni;
struct shpstr ship;
- if (sp->shp_effic < SHIP_MINEFF || CANT_HAPPEN(!sp->shp_own))
+ if (CANT_HAPPEN(!sp->shp_own))
return;
if (sp->shp_own == player->cnum)
return;
struct mchrstr *mcp;
int changed;
+ if (sp->shp_effic < SHIP_MINEFF) {
+ wu(0, sp->shp_own,
+ "%s %s,\nbut it died in the attack, and so couldn't retreat!\n",
+ prship(sp), conditions[findcondition(code)].desc[orig]);
+ if (!orig)
+ putship(sp->shp_uid, sp);
+ return 0;
+ }
+
/* check crew - uws don't count */
if (sp->shp_item[I_MILIT] == 0 && sp->shp_item[I_CIVIL] == 0) {
wu(0, sp->shp_own,
struct nstr_item ni;
struct lndstr land;
- if (lp->lnd_effic < LAND_MINEFF || CANT_HAPPEN(!lp->lnd_own))
+ if (CANT_HAPPEN(!lp->lnd_own))
return;
if (lp->lnd_own == player->cnum)
return;
double mobcost;
struct lchrstr *lcp;
+ if (lp->lnd_effic < LAND_MINEFF) {
+ wu(0, lp->lnd_own,
+ "%s %s,\nbut it died in the attack, and so couldn't retreat!\n",
+ prland(lp), conditions[findcondition(code)].desc[orig]);
+ if (!orig)
+ putland(lp->lnd_uid, lp);
+ return 0;
+ }
+
getsect(lp->lnd_x, lp->lnd_y, §);
if (lp->lnd_mobil <= 0.0) {