fix #4138 - 'text bug' for freezing moat

Freezing a moat--unlike other types of water--substitutes the type
of water (because that isn't "moat" for Medusa's level) in the freeze
message but was doing so after changing the affected terrain to ICE,
yielding "The ice is bridged with ice."
This commit is contained in:
PatR
2016-01-06 17:57:39 -08:00
parent 22685763d1
commit d8591be858
2 changed files with 10 additions and 7 deletions

View File

@@ -4234,8 +4234,8 @@ short exploding_wand_typ;
case ZT_COLD:
if (is_pool(x, y) || is_lava(x, y)) {
boolean lava = is_lava(x, y);
boolean moat = is_moat(x, y);
boolean lava = is_lava(x, y),
moat = is_moat(x, y);
if (lev->typ == WATER) {
/* For now, don't let WATER freeze. */
@@ -4245,23 +4245,25 @@ short exploding_wand_typ;
You_hear("a soft crackling.");
rangemod -= 1000; /* stop */
} else {
char buf[BUFSZ];
Strcpy(buf, waterbody_name(x, y)); /* for MOAT */
rangemod -= 3;
if (lev->typ == DRAWBRIDGE_UP) {
lev->drawbridgemask &= ~DB_UNDER; /* clear lava */
lev->drawbridgemask |= (lava ? DB_FLOOR : DB_ICE);
} else {
if (!lava)
lev->icedpool =
(lev->typ == POOL ? ICED_POOL : ICED_MOAT);
lev->typ = (lava ? ROOM : ICE);
lev->icedpool = (lev->typ == POOL) ? ICED_POOL
: ICED_MOAT;
lev->typ = lava ? ROOM : ICE;
}
bury_objs(x, y);
if (see_it) {
if (lava)
Norep("The lava cools and solidifies.");
else if (moat)
Norep("The %s is bridged with ice!",
waterbody_name(x, y));
Norep("The %s is bridged with ice!", buf);
else
Norep("The water freezes.");
newsym(x, y);