From 82edcca4021a35226393a07b18b34d2d0cd77088 Mon Sep 17 00:00:00 2001 From: Alex Smith Date: Fri, 7 Nov 2025 18:21:21 +0000 Subject: [PATCH] Improve messages for oilskin sack protection versus water The existing messages made sense for brief dips into water, but didn't make sense when using an oilskin sack for an extended period underwater (and also assumed that the player was able to see the sack). This commit changes the message to make sense (and to be less spamy) if the hero enters water and remains there, and prevents oilskin sacks self-IDing if the hero is blind and thus can't see the water. --- doc/fixes3-7-0.txt | 1 + src/trap.c | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/doc/fixes3-7-0.txt b/doc/fixes3-7-0.txt index cf035bf33..040600e43 100644 --- a/doc/fixes3-7-0.txt +++ b/doc/fixes3-7-0.txt @@ -1529,6 +1529,7 @@ hallucination can display objects on the map that have a description (for shuffling into play at game start) but no name; examining those might trigger a crash some food and paper items do no damage when bashing +improved messages for oilskin sacks protecting from water damage Fixes to 3.7.0-x General Problems Exposed Via git Repository diff --git a/src/trap.c b/src/trap.c index 21adb2314..46c0e1266 100644 --- a/src/trap.c +++ b/src/trap.c @@ -4663,8 +4663,8 @@ water_damage( water_damage_chain(obj->cobj, FALSE); return ER_DAMAGED; /* contents were damaged */ } else if (Waterproof_container(obj)) { - if (in_invent) { - pline_The("%s slides right off your %s.", hliquid("water"), ostr); + if (in_invent && !Blind && !Underwater) { + pline_The("%s cannot get into your %s.", hliquid("water"), ostr); gm.mentioned_water = !Hallucination; makeknown(obj->otyp); /* if an oilskin sack, discover it; doesn't * matter for chest, large box, ice box */