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;ds=sidebyside 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)