update: Factor out common plague reporting
No functional change, except the "PLAGUE deaths" message for sectors loses its period. Signed-off-by: Markus Armbruster <armbru@pond.sub.org>
This commit is contained in:
parent
391778e09c
commit
1dfe91ca96
5 changed files with 62 additions and 128 deletions
|
@ -119,6 +119,7 @@ extern void prod_nat(int);
|
|||
/* plague.c */
|
||||
extern void do_plague(struct sctstr *, int);
|
||||
extern int plague_people(struct natstr *, short *, int *, int *, int);
|
||||
extern void plague_report(natid, int, int, int, int, char *, char *);
|
||||
/* plane.c */
|
||||
extern void prod_plane(int, int, struct bp *, int);
|
||||
/* populace.c */
|
||||
|
|
|
@ -141,46 +141,9 @@ upd_land(struct lndstr *lp, int etus, struct bp *bp, int build)
|
|||
ptime = lp->lnd_ptime;
|
||||
if (pstage != PLG_HEALTHY) {
|
||||
n = plague_people(np, lp->lnd_item, &pstage, &ptime, etus);
|
||||
switch (n) {
|
||||
case PLG_DYING:
|
||||
wu(0, lp->lnd_own,
|
||||
"PLAGUE deaths reported on %s\n", prland(lp));
|
||||
nreport(lp->lnd_own, N_DIE_PLAGUE, 0, 1);
|
||||
break;
|
||||
case PLG_INFECT:
|
||||
wu(0, lp->lnd_own, "%s battling PLAGUE\n", prland(lp));
|
||||
break;
|
||||
case PLG_INCUBATE:
|
||||
/* Are we still incubating? */
|
||||
if (n == pstage) {
|
||||
/* Yes. Will it turn "infectious" next time? */
|
||||
if (ptime <= etus) {
|
||||
/* Yes. Report an outbreak. */
|
||||
wu(0, lp->lnd_own,
|
||||
"Outbreak of PLAGUE on %s!\n", prland(lp));
|
||||
nreport(lp->lnd_own, N_OUT_PLAGUE, 0, 1);
|
||||
}
|
||||
} else {
|
||||
/* It has already moved on to "infectious" */
|
||||
wu(0, lp->lnd_own,
|
||||
"%s battling PLAGUE\n", prland(lp));
|
||||
}
|
||||
break;
|
||||
case PLG_EXPOSED:
|
||||
/* Has the plague moved to "incubation" yet? */
|
||||
if (n != pstage) {
|
||||
/* Yes. Will it turn "infectious" next time? */
|
||||
if (ptime <= etus) {
|
||||
/* Yes. Report an outbreak. */
|
||||
wu(0, lp->lnd_own,
|
||||
"Outbreak of PLAGUE on %s!\n", prland(lp));
|
||||
nreport(lp->lnd_own, N_OUT_PLAGUE, 0, 1);
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
if (n != PLG_HEALTHY)
|
||||
plague_report(lp->lnd_own, n, pstage, ptime, etus,
|
||||
"on", prland(lp));
|
||||
lp->lnd_pstage = pstage;
|
||||
lp->lnd_ptime = ptime;
|
||||
}
|
||||
|
|
|
@ -65,45 +65,9 @@ do_plague(struct sctstr *sp, int etu)
|
|||
ptime = 0;
|
||||
} else {
|
||||
n = plague_people(np, sp->sct_item, &pstage, &ptime, etu);
|
||||
switch (n) {
|
||||
case PLG_DYING:
|
||||
wu(0, sp->sct_own, "PLAGUE deaths reported in %s.\n",
|
||||
ownxy(sp));
|
||||
nreport(sp->sct_own, N_DIE_PLAGUE, 0, 1);
|
||||
break;
|
||||
case PLG_INFECT:
|
||||
wu(0, sp->sct_own, "%s battling PLAGUE\n", ownxy(sp));
|
||||
break;
|
||||
case PLG_INCUBATE:
|
||||
/* Are we still incubating? */
|
||||
if (n == pstage) {
|
||||
/* Yes. Will it turn "infectious" next time? */
|
||||
if (ptime <= etu) {
|
||||
/* Yes. Report an outbreak. */
|
||||
wu(0, sp->sct_own,
|
||||
"Outbreak of PLAGUE in %s!\n", ownxy(sp));
|
||||
nreport(sp->sct_own, N_OUT_PLAGUE, 0, 1);
|
||||
}
|
||||
} else {
|
||||
/* It has already moved on to "infectious" */
|
||||
wu(0, sp->sct_own, "%s battling PLAGUE\n", ownxy(sp));
|
||||
}
|
||||
break;
|
||||
case PLG_EXPOSED:
|
||||
/* Has the plague moved to "incubation" yet? */
|
||||
if (n != pstage) {
|
||||
/* Yes. Will it turn "infectious" next time? */
|
||||
if (ptime <= etu) {
|
||||
/* Yes. Report an outbreak. */
|
||||
wu(0, sp->sct_own,
|
||||
"Outbreak of PLAGUE in %s!\n", ownxy(sp));
|
||||
nreport(sp->sct_own, N_OUT_PLAGUE, 0, 1);
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
if (n != PLG_HEALTHY)
|
||||
plague_report(sp->sct_own, n, pstage, ptime, etu,
|
||||
"in", ownxy(sp));
|
||||
}
|
||||
sp->sct_pstage = pstage;
|
||||
sp->sct_ptime = ptime;
|
||||
|
@ -187,3 +151,47 @@ plague_people(struct natstr *np, short *vec,
|
|||
}
|
||||
return stage;
|
||||
}
|
||||
|
||||
void
|
||||
plague_report(natid victim, int new_pstage, int pstage, int ptime,
|
||||
int etus, char *in_on, char *place)
|
||||
{
|
||||
switch (new_pstage) {
|
||||
case PLG_DYING:
|
||||
wu(0, victim, "PLAGUE deaths reported %s %s\n", in_on, place);
|
||||
nreport(victim, N_DIE_PLAGUE, 0, 1);
|
||||
break;
|
||||
case PLG_INFECT:
|
||||
wu(0, victim, "%s battling PLAGUE\n", place);
|
||||
break;
|
||||
case PLG_INCUBATE:
|
||||
/* Are we still incubating? */
|
||||
if (new_pstage == pstage) {
|
||||
/* Yes. Will it turn "infectious" next time? */
|
||||
if (ptime <= etus) {
|
||||
/* Yes. Report an outbreak. */
|
||||
wu(0, victim,
|
||||
"Outbreak of PLAGUE %s %s!\n", in_on, place);
|
||||
nreport(victim, N_OUT_PLAGUE, 0, 1);
|
||||
}
|
||||
} else {
|
||||
/* It has already moved on to "infectious" */
|
||||
wu(0, victim, "%s battling PLAGUE\n", place);
|
||||
}
|
||||
break;
|
||||
case PLG_EXPOSED:
|
||||
/* Has the plague moved to "incubation" yet? */
|
||||
if (new_pstage != pstage) {
|
||||
/* Yes. Will it turn "infectious" next time? */
|
||||
if (ptime <= etus) {
|
||||
/* Yes. Report an outbreak. */
|
||||
wu(0, victim,
|
||||
"Outbreak of PLAGUE %s %s!\n", in_on, place);
|
||||
nreport(victim, N_OUT_PLAGUE, 0, 1);
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -132,47 +132,9 @@ upd_ship(struct shpstr *sp, int etus, struct bp *bp, int build)
|
|||
ptime = sp->shp_ptime;
|
||||
if (pstage != PLG_HEALTHY) {
|
||||
n = plague_people(np, sp->shp_item, &pstage, &ptime, etus);
|
||||
switch (n) {
|
||||
case PLG_DYING:
|
||||
wu(0, sp->shp_own,
|
||||
"PLAGUE deaths reported on %s\n", prship(sp));
|
||||
nreport(sp->shp_own, N_DIE_PLAGUE, 0, 1);
|
||||
break;
|
||||
case PLG_INFECT:
|
||||
wu(0, sp->shp_own, "%s battling PLAGUE\n", prship(sp));
|
||||
break;
|
||||
case PLG_INCUBATE:
|
||||
/* Are we still incubating? */
|
||||
if (n == pstage) {
|
||||
/* Yes. Will it turn "infectious" next time? */
|
||||
if (ptime <= etus) {
|
||||
/* Yes. Report an outbreak. */
|
||||
wu(0, sp->shp_own,
|
||||
"Outbreak of PLAGUE on %s!\n", prship(sp));
|
||||
nreport(sp->shp_own, N_OUT_PLAGUE, 0, 1);
|
||||
}
|
||||
} else {
|
||||
/* It has already moved on to "infectious" */
|
||||
wu(0, sp->shp_own,
|
||||
"%s battling PLAGUE\n", prship(sp));
|
||||
}
|
||||
break;
|
||||
case PLG_EXPOSED:
|
||||
/* Has the plague moved to "incubation" yet? */
|
||||
if (n != pstage) {
|
||||
/* Yes. Will it turn "infectious" next time? */
|
||||
if (ptime <= etus) {
|
||||
/* Yes. Report an outbreak. */
|
||||
wu(0, sp->shp_own,
|
||||
"Outbreak of PLAGUE on %s!\n", prship(sp));
|
||||
nreport(sp->shp_own, N_OUT_PLAGUE, 0, 1);
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (n != PLG_HEALTHY)
|
||||
plague_report(sp->shp_own, n, pstage, ptime, etus,
|
||||
"on", prship(sp));
|
||||
sp->shp_pstage = pstage;
|
||||
sp->shp_ptime = ptime;
|
||||
}
|
||||
|
|
|
@ -1341,14 +1341,14 @@
|
|||
Play#0 output Play#0 1 Partisans take over -14,-8!
|
||||
Play#0 output Play#0 1 Revolutionary subversion reported in -12,-8!
|
||||
Play#0 output Play#0 1 Revolutionary subversion reported in -15,-7!
|
||||
Play#0 output Play#0 1 PLAGUE deaths reported in -16,-6.
|
||||
Play#0 output Play#0 1 PLAGUE deaths reported in -14,-6.
|
||||
Play#0 output Play#0 1 PLAGUE deaths reported in -12,-6.
|
||||
Play#0 output Play#0 1 PLAGUE deaths reported in -10,-6.
|
||||
Play#0 output Play#0 1 PLAGUE deaths reported in -8,-6.
|
||||
Play#0 output Play#0 1 PLAGUE deaths reported in -6,-6.
|
||||
Play#0 output Play#0 1 PLAGUE deaths reported in -4,-6.
|
||||
Play#0 output Play#0 1 PLAGUE deaths reported in -2,-6.
|
||||
Play#0 output Play#0 1 PLAGUE deaths reported in -16,-6
|
||||
Play#0 output Play#0 1 PLAGUE deaths reported in -14,-6
|
||||
Play#0 output Play#0 1 PLAGUE deaths reported in -12,-6
|
||||
Play#0 output Play#0 1 PLAGUE deaths reported in -10,-6
|
||||
Play#0 output Play#0 1 PLAGUE deaths reported in -8,-6
|
||||
Play#0 output Play#0 1 PLAGUE deaths reported in -6,-6
|
||||
Play#0 output Play#0 1 PLAGUE deaths reported in -4,-6
|
||||
Play#0 output Play#0 1 PLAGUE deaths reported in -2,-6
|
||||
Play#0 output Play#0 1 -15,-5 battling PLAGUE
|
||||
Play#0 output Play#0 1 -13,-5 battling PLAGUE
|
||||
Play#0 output Play#0 1 -11,-5 battling PLAGUE
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue