Don't show rusting of items landing in water

When a thrown item lands in a pool of water, it immediately
rusts - but don't give that message unless the hero is at the same
location and also under the water.  My reasoning: hero can't see items
under water, and by the time the item rusts, it's in the water.
This commit is contained in:
Pasi Kallinen
2022-02-11 20:13:20 +02:00
parent 8ce3e08d00
commit cd797afd0e
2 changed files with 4 additions and 1 deletions

View File

@@ -776,6 +776,7 @@ add unique Rider revival messages
don't dereference NULL u.ustuck in dobuzz() when hero has been swallowed
monsters should growl even if you can't hear it
give a sound effect message when thrown item lands in water or lava
don't show rusting of items that land in water
Fixes to 3.7.0-x Problems that Were Exposed Via git Repository

View File

@@ -182,7 +182,9 @@ erode_obj(
uvictim = (victim == &g.youmonst);
vismon = victim && (victim != &g.youmonst) && canseemon(victim);
/* Is g.bhitpos correct here? Ugh. */
visobj = !victim && cansee(g.bhitpos.x, g.bhitpos.y);
visobj = !victim && cansee(g.bhitpos.x, g.bhitpos.y)
&& (!is_pool(g.bhitpos.x, g.bhitpos.y)
|| (u.ux == g.bhitpos.x && u.uy == g.bhitpos.y && Underwater));
switch (type) {
case ERODE_BURN: