Add paranoid:swim to prevent typoing into water or lava
In the name of accessibility: Prevent moving into dangerous liquids. Now with themed rooms, water and lava are more common, and it's unreasonable to expect blind players to check every step for those. With paranoid:swim, just prevent normal walking into those liquids, unless you prefix the movement with 'm', or if the liquid would not harm you. Doesn't completely prevent an accidental dunking - for example if the hero is impaired or couldn't see the liquid. This comes from xNetHack by copperwater <aosdict@gmail.com> with some changes to the code.
This commit is contained in:
@@ -78,6 +78,7 @@ struct flag {
|
||||
#define PARANOID_BREAKWAND 0x0080
|
||||
#define PARANOID_WERECHANGE 0x0100
|
||||
#define PARANOID_EATING 0x0200
|
||||
#define PARANOID_SWIM 0x0400
|
||||
int pickup_burden; /* maximum burden before prompt */
|
||||
int pile_limit; /* controls feedback when walking over objects */
|
||||
char discosort; /* order of dodiscovery/doclassdisco output: o,s,c,a */
|
||||
@@ -466,6 +467,8 @@ enum runmode_types {
|
||||
/* continue eating: prompt given _after_first_bite_ when eating something
|
||||
while satiated */
|
||||
#define ParanoidEating ((flags.paranoia_bits & PARANOID_EATING) != 0)
|
||||
/* Prevent going into lava or water without explicitly forcing it */
|
||||
#define ParanoidSwim ((flags.paranoia_bits & PARANOID_SWIM) != 0)
|
||||
|
||||
/* command parsing, mainly dealing with number_pad handling;
|
||||
not saved and restored */
|
||||
|
||||
Reference in New Issue
Block a user