From: Markus Armbruster Date: Sun, 2 May 2010 17:19:08 +0000 (+0200) Subject: Update bmap when nuclear detonation makes wasteland X-Git-Tag: v4.3.26~10 X-Git-Url: http://git.pond.sub.org/?p=empserver;a=commitdiff_plain;h=265bd0c56b964e49ac7b63b329aab796ea99d5c0 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. --- 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)