static void lnd_mar_put_one(struct ulist *);
static int lnd_check_one_mines(struct ulist *, int);
-static void lnd_stays(natid, char *, struct ulist *);
static int lnd_hit_mine(struct lndstr *);
static int has_helpful_engineer(coord, coord, natid);
return stopping;
}
-static void
-lnd_stays(natid actor, char *str, struct ulist *llp)
-{
- mpr(actor, "%s %s & stays in %s\n",
- prland(&llp->unit.land), str,
- xyas(llp->unit.land.lnd_x, llp->unit.land.lnd_y, actor));
- lnd_mar_put_one(llp);
-}
-
/* Return whether and why SP would be stuck in SECTP. */
enum lnd_stuck
lnd_check_mar(struct lndstr *lp, struct sctstr *sectp)
int move;
int stopping = 0;
int visible;
- char dp[80];
int rel;
int oldown;
llp = (struct ulist *)qp;
if (rel != ALLIED
&& !(lchr[llp->unit.land.lnd_type].l_flags & L_SPY)) {
- sprintf(dp, "can't go to %s", xyas(newx, newy, actor));
- lnd_stays(actor, dp, llp);
+ mpr(actor, "%s can't go to %s & stays in %s\n",
+ prland(&llp->unit.land), xyas(newx, newy, actor),
+ xyas(llp->unit.land.lnd_x, llp->unit.land.lnd_y, actor));
+ lnd_mar_put_one(llp);
continue;
}
if (llp->mobil <= 0.0) {
- lnd_stays(actor, "is out of mobility", llp);
+ mpr(actor, "%s is out of mobility & stays in %s\n",
+ prland(&llp->unit.land),
+ xyas(llp->unit.land.lnd_x, llp->unit.land.lnd_y, actor));
+ lnd_mar_put_one(llp);
continue;
}
llp->unit.land.lnd_x = newx;
static void shp_nav_put_one(struct ulist *);
static int shp_check_one_mines(struct ulist *);
static int shp_hit_mine(struct shpstr *);
-static void shp_stays(natid, char *, struct ulist *);
static struct ulist *
shp_find_capable(struct emp_qelem *list, int flags)
return stopping;
}
-
-static void
-shp_stays(natid actor, char *str, struct ulist *mlp)
-{
- mpr(actor, "%s %s & stays in %s\n",
- prship(&mlp->unit.ship), str,
- xyas(mlp->unit.ship.shp_x, mlp->unit.ship.shp_y, actor));
- shp_nav_put_one(mlp);
-}
-
/*
* Return whether and why SP would be stuck in SECTP.
*/
enum shp_stuck stuck;
int stopping = 0;
double mobcost;
- char dp[80];
if (CANT_HAPPEN(QEMPTY(list)))
return 1;
mlp = (struct ulist *)qp;
stuck = shp_check_nav(&mlp->unit.ship, §);
if (stuck == SHP_STUCK_CANAL) {
- sprintf(dp,
- "is too large to fit into the canal system at %s",
- xyas(newx, newy, actor));
- shp_stays(actor, dp, mlp);
+ mpr(actor,
+ "%s is too large to fit into the canal system at %s"
+ " & stays in %s\n",
+ prship(&mlp->unit.ship), xyas(newx, newy, actor),
+ xyas(mlp->unit.ship.shp_x, mlp->unit.ship.shp_y, actor));
+ shp_nav_put_one(mlp);
continue;
} else if (CANT_HAPPEN(stuck != SHP_STUCK_NOT)) {
- sprintf(dp, "can't go to %s", xyas(newx, newy, actor));
- shp_stays(actor, dp, mlp);
+ mpr(actor, "%s can't go to %s & stays in %s\n",
+ prship(&mlp->unit.ship), xyas(newx, newy, actor),
+ xyas(mlp->unit.ship.shp_x, mlp->unit.ship.shp_y, actor));
+ shp_nav_put_one(mlp);
continue;
}
if (mlp->mobil <= 0.0) {
- shp_stays(actor, "is out of mobility", mlp);
+ mpr(actor, "%s is out of mobility & stays in %s\n",
+ prship(&mlp->unit.ship),
+ xyas(mlp->unit.ship.shp_x, mlp->unit.ship.shp_y, actor));
+ shp_nav_put_one(mlp);
continue;
}
mobcost = shp_mobcost(&mlp->unit.ship);