Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Conversation

@entrez
Copy link
Contributor

@entrez entrez commented Oct 24, 2023

Dipping hands (with '-') or currently-worn gloves in a fountain or pool
will cause the hero to wash her hands, washing away any oil and clearing
the Glib intrinsic timeout. This does mean bare hands can be used to
fish for fountain effects, without having to pick up a stray arrow and
carry it around as a dipping item, but having your hands be the only
thing that does not activate those effects felt weird. If that would be
too unbalancing this could be scrapped.

With further commits this now also adds a system for #dipping items into
a sink, which can aid in potion identification (much like dropping a
ring into the sink can). This is based on code from xNetHack written by
@copperwater, with additions and amendments. It also means you can wash
your hands in a sink.

@entrez
Copy link
Contributor Author

entrez commented Oct 24, 2023

This started with me thinking it would be cool to be able to dip your hands
into a sink to wash them, but that would involve making sinks a possible #dip
target and having to figure out how to handle potions and other items, so I
changed tack to fountains and pools. I do think it'd be nice to be able to
wash your hands in a sink though, since that's practically their whole purpose
in real life.

@entrez
Copy link
Contributor Author

entrez commented Oct 24, 2023

I realized that xNetHack actually allowed dipping potions (and only potions) into a sink, so I brought that over in a slightly modified form (added the hand-washing, made sinks cause water damage to non-potion items, and some other minor changes). If the ability to blank scrolls at a sink is too powerful, the water damage effect for non-potion items could be reconsidered.

@entrez
Copy link
Contributor Author

entrez commented Oct 25, 2023

Incidentally, it was sort of a headache to add that new verbose-aware message, especially since each individual message (not just each type or category of message) has its own bit. I had to make a choice here between rearranging everything in bitfield 3 (which would break the configuration of anyone who actually is using the verbose bitfield options), or making the dodip enum values nonconsecutive with dodip4 ~25 bits away from the other three (which would probably be confusing for anyone trying to configure the verbose bitfield options). The Verbose bitfields introduce choices along those lines (or at least additional work/annoyance) when a developer wants to add a new verbose-aware message, and I suspect that's having a chilling effect where few new messages actually have !verbose variations. I wanted to mention my experience here in case there is a discussion among the devteam about whether it should be reconsidered -- I would probably fall on the side of "yes", especially given the complexity of configuring it means the number of players using it must be low to none.

@entrez entrez changed the title Enable hero to wash hands in fountains and pools Enable hero to wash hands in fountains and pools (and sinks!) Oct 25, 2023
@entrez entrez force-pushed the wash_hands branch 9 times, most recently from eefe860 to b04cc65 Compare October 26, 2023 21:31
Dipping hands (with '-') or currently-worn gloves in a fountain or pool
will cause the hero to wash her hands, washing away any oil and clearing
the Glib intrinsic timeout.  This does mean bare hands can be used to
fish for fountain effects, without having to pick up a stray arrow and
carry it around as a dipping item, but having your hands be the only
thing that does not activate those effects felt weird.  If that would be
too unbalancing this could be scrapped.
This is largely taken from xNetHack with a few minor changes.  Dipping a
potion into a sink can help with item identification by producing the
potionbreathe effect (or a sink-specific effect, for a couple potions).
Dipping other items will just run water over them.  I also added the
capability to wash your hands at a sink.
Also put "Nothing seems to happen." into c_common_strings, since it's
used all over several files.
Everything else in c_commmon_strings had this qualifier, but
c_vision_clears was just const char *.  There doesn't seem to be any
reason for that so change it to be consistent with the others.
@nhcopier nhcopier closed this in f86dbf1 Nov 10, 2023
@entrez entrez deleted the wash_hands branch November 10, 2023 05:54
nhcopier pushed a commit that referenced this pull request Nov 10, 2023
If hero has slippery hands, include '-' among likely candidates for
item to #dip when dipping at a pool, fountain, or sink location.

When dipping an item (including hands), have a modest chance for the
sink to be destroyed--which turns it into a fountain--each time so
that it can't be used to blank scrolls an unlimited number of items.
(Pools can already be used for that, but you need to obtain water
walking ability or else drop most of your stuff and enter the water;
sinks weren't imposing any such requirements or risks.)
nhcopier pushed a commit that referenced this pull request Nov 10, 2023
Suggestion from entrez:  If dipping something in a sink while hands
are slippery happens to cause that sink to break, only remind player
about still being Glib if the item was '-' or uarmg.

Redo one of the fixes entries:  dipping a potion into a sink does not
dilute it.  The potion is used up and gives a hint about what it does
so player might discover it.
nhcopier pushed a commit that referenced this pull request Nov 10, 2023
Fake object used for 'hands' has an address, so checking for a Null
pointer won't recognize it.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

Morty Proxy This is a proxified and sanitized view of the page, visit original site.