diff --git a/include/land.h b/include/land.h index 7c1aa3b9..9e9e099f 100644 --- a/include/land.h +++ b/include/land.h @@ -192,7 +192,7 @@ extern int lnd_take_casualty(int, struct ulist *, int); extern void lnd_submil(struct lndstr *, int); extern void lnd_takemob(struct emp_qelem *, double); extern int lnd_spyval(struct lndstr *); -extern void intelligence_report(int, struct lndstr *, int, char *); +extern void intelligence_report(natid, struct lndstr *, int, char *); extern void lnd_mar_stay_behind(struct emp_qelem *, natid); extern void lnd_mar_put(struct emp_qelem *, natid); extern void lnd_put(struct emp_qelem *); diff --git a/src/lib/subs/lndsub.c b/src/lib/subs/lndsub.c index 2c0b1e4a..cfb43bc1 100644 --- a/src/lib/subs/lndsub.c +++ b/src/lib/subs/lndsub.c @@ -341,61 +341,39 @@ lnd_spyval(struct lndstr *lp) } void -intelligence_report(int destination, struct lndstr *lp, int spy, +intelligence_report(natid destination, struct lndstr *lp, int spy, char *mess) { int vis = lnd_vis(lp); char buf1[80], buf2[80], buf3[80]; - if (destination == 0) + if (!destination || !lp->lnd_own) return; - if (lp->lnd_own == 0) - return; - - memset(buf1, 0, sizeof(buf1)); - memset(buf2, 0, sizeof(buf2)); - memset(buf3, 0, sizeof(buf3)); if (chance((spy + vis) / 10.0)) { - if (destination == player->cnum) - pr("%s %s", mess, prland(lp)); - else - sprintf(buf1, "%s %s", mess, prland(lp)); + sprintf(buf1, "%s %s", mess, prland(lp)); if (chance((spy + vis) / 20.0)) { - if (destination == player->cnum) - pr(" (eff %d, mil %d", - roundintby(lp->lnd_effic, 5), - roundintby(lp->lnd_item[I_MILIT], 10)); - else - sprintf(buf2, " (eff %d, mil %d", - roundintby(lp->lnd_effic, 5), - roundintby(lp->lnd_item[I_MILIT], 10)); + sprintf(buf2, " (eff %d, mil %d", + roundintby(lp->lnd_effic, 5), + roundintby(lp->lnd_item[I_MILIT], 10)); if (chance((spy + vis) / 20.0)) { int t; t = lp->lnd_tech - 20 + roll(40); t = MAX(t, 0); - if (destination == player->cnum) - pr(", tech %d)\n", t); - else - sprintf(buf3, ", tech %d)\n", t); + sprintf(buf3, ", tech %d)\n", t); } else { - if (destination == player->cnum) - pr(")\n"); - else - sprintf(buf3, ")\n"); + sprintf(buf3, ")\n"); } } else { - if (destination == player->cnum) - pr("\n"); - else - sprintf(buf2, "\n"); + sprintf(buf2, "\n"); + buf3[0] = 0; } - } - - if (destination != player->cnum) { - wu(0, destination, "%s%s%s", buf1, buf2, buf3); + if (destination == player->cnum) + pr("%s%s%s", buf1, buf2, buf3); + else + wu(0, destination, "%s%s%s", buf1, buf2, buf3); } }