autopickup_exceptions build option

Add config.h experimental option AUTOPICKUP_EXCEPTIONS.

It's an interface-only change which allows you to add lines to your
config file to selectively avoid autopickup of items based on their
text description that is displayed when you pick them up. It does
it by matching a pattern against the xname singular return value.

For example:

autopickup_exception = "*corpse" will avoid picking up corpses, even if
food (%) is in your pickup_types.

autopickup_exception = "*brown*"
will avoid picking up any brown items (why, I do not know)

autopickup_exception = "*loadstone"
will NOT avoid picking up loadstones, unless they are already
identified, because the xname string will be "gray stone", so no
match there.

The matching has no knowledge of in-game objects, it is just
a text pattern match, thus it is an interface change, not a gameplay
change, and it is meant as a convenience for players.
This commit is contained in:
nethack.allison
2003-11-15 01:05:32 +00:00
parent 507e1293e6
commit c0349ec918
9 changed files with 253 additions and 4 deletions

View File

@@ -369,6 +369,13 @@ E char *fqn_prefix[PREFIX_COUNT];
E char *fqn_prefix_names[PREFIX_COUNT];
#endif
#ifdef AUTOPICKUP_EXCEPTIONS
struct autopickup_exception {
char *pattern;
struct autopickup_exception *next;
};
#endif /* AUTOPICKUP_EXCEPTIONS */
#undef E
#endif /* DECL_H */