}
if (orig) {
- wu(0, sp->shp_own, "%s %s, and retreated to %s\n", prship(sp),
- conditions[findcondition(code)].desc[orig],
+ wu(0, sp->shp_own, "%s %s, and retreated to %s\n",
+ prship(sp), conditions[findcondition(code)].desc[orig],
xyas(sp->shp_x, sp->shp_y, sp->shp_own));
} else {
wu(0, sp->shp_own, "%s %s, and ended up at %s\n",
newy = ynorm(lp->lnd_y + dy);
getsect(newx, newy, §);
- if ((sect.sct_type == SCT_WATER) ||
- (sect.sct_type == SCT_MOUNT) ||
- (sect.sct_type == SCT_SANCT) ||
- (sect.sct_type == SCT_WASTE) ||
- (sect.sct_own != lp->lnd_own)) {
+ mobcost = lnd_mobcost(lp, §);
+ if (mobcost < 0
+ || sect.sct_type == SCT_MOUNT
+ || sect.sct_own != lp->lnd_own) {
wu(0, lp->lnd_own, "%s %s,\nbut could not retreat to %s!\n",
prland(lp),
conditions[findcondition(code)].desc[orig],
putland(lp->lnd_uid, lp);
return 0;
}
- mobcost = lnd_mobcost(lp, §, MOB_ROAD);
lp->lnd_x = newx;
lp->lnd_y = newy;
lp->lnd_mobil -= mobcost;