From: nethack.allison Date: Tue, 8 Jun 2004 11:06:44 +0000 (+0000) Subject: water flow into pits (trunk only) X-Git-Tag: MOVE2GIT~1441 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=87507aed4283b89feb5b0825199fb463785580ac;p=nethack water flow into pits (trunk only) water should flow into chasms from Drum of Earthquake. Exploding wands of digging had been handled in the trunk earlier. --- diff --git a/doc/fixes35.0 b/doc/fixes35.0 index 17265ef4a..1e9beea2f 100644 --- a/doc/fixes35.0 +++ b/doc/fixes35.0 @@ -38,7 +38,7 @@ don't place randomly-placed aquatic monsters in lava on special levels hiding monsters don't hide under cockatrice/chickatrice corpses "sound" option renamed to "acoustics" deafness now a full-fledged attribute -water should flow into pits from broken wand of digging +water should flow into pits from broken wand of digging and drum of earthquake objects that fall thru trapdoors, et al, can break on impact support engraving in blood in special level files many instances of physical damage were not taking Half_physical_damage diff --git a/src/apply.c b/src/apply.c index 81589770c..a31ce2b9f 100644 --- a/src/apply.c +++ b/src/apply.c @@ -2822,6 +2822,11 @@ do_break_wand(obj) watch_dig((struct monst *)0, x, y, TRUE); if (*in_rooms(x,y,SHOPBASE)) shop_damage = TRUE; } + /* + * Let liquid flow into the newly created pits. + * Adjust corresponding code in music.c for + * drum of earthquake if you alter this sequence. + */ typ = fillholetyp(x,y); if (typ != ROOM) { levl[x][y].typ = typ; diff --git a/src/music.c b/src/music.c index e0412a581..766dd57c8 100644 --- a/src/music.c +++ b/src/music.c @@ -221,6 +221,7 @@ int force; struct obj *otmp; struct trap *chasm; int start_x, start_y, end_x, end_y; + schar filltype; start_x = u.ux - (force * 2); start_y = u.uy - (force * 2); @@ -278,6 +279,16 @@ do_pit: chasm = maketrap(x,y,PIT); chasm->tseen = 1; levl[x][y].doormask = 0; + /* + * Let liquid flow into the newly created chasm. + * Adjust corresponding code in apply.c for + * exploding wand of digging if you alter this sequence. + */ + filltype = fillholetyp(x,y); + if (filltype != ROOM) { + levl[x][y].typ = filltype; + liquid_flow(x, y, filltype, chasm, (char *)0); + } mtmp = m_at(x,y);