From 265bd0c56b964e49ac7b63b329aab796ea99d5c0 Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Sun, 2 May 2010 19:19:08 +0200 Subject: [PATCH] Update bmap when nuclear detonation makes wasteland detonate() tells the player the new sector designation (wasteland or sea) when damage exceeds 100. But it neglected to update the bmap. Fix that. --- src/lib/subs/detonate.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/lib/subs/detonate.c b/src/lib/subs/detonate.c index d695917f8..de8df1820 100644 --- a/src/lib/subs/detonate.c +++ b/src/lib/subs/detonate.c @@ -37,6 +37,7 @@ #include "file.h" #include "land.h" #include "lost.h" +#include "map.h" #include "misc.h" #include "nat.h" #include "news.h" @@ -73,6 +74,7 @@ detonate(struct nukstr *np, coord x, coord y, int airburst) int rad; struct nstr_sect ns; struct nstr_item ni; + int changed = 0; mpr(bombown, "Releasing RV's for %s detonation...\n", airburst ? "airburst" : "groundburst"); @@ -125,6 +127,8 @@ detonate(struct nukstr *np, coord x, coord y, int airburst) sect.sct_type = SCT_WASTE; bp = "turned %s into a radioactive wasteland\n"; } + changed |= map_set(player->cnum, sect.sct_x, sect.sct_y, + dchr[sect.sct_type].d_mnem, 0); } else { sprintf(buf, "did %d%%%% damage in %%s\n", damage); bp = buf; @@ -139,6 +143,9 @@ detonate(struct nukstr *np, coord x, coord y, int airburst) } } + if (changed) + writebmap(player->cnum); + snxtitem_dist(&ni, EF_PLANE, x, y, rad); while (nxtitem(&ni, &plane)) { if ((own = plane.pln_own) == 0) -- 2.43.0