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.
This commit is contained in:
Alex Smith
2025-11-07 18:21:21 +00:00
parent 0f01260605
commit 82edcca402
2 changed files with 3 additions and 2 deletions

View File

@@ -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

View File

@@ -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 */