expand the pool of status condition fields
Most of the additional ones are "opt-in" meaning that unless you add them to your config file to enable them, they won't show up. Two that aren't "opt-in", but can be "opted-out" (as can they all) are cond_grab (for an eel grabbing you and drowing being imminent) and cond_lava which leads to a fatality. All the ones that already existed are "opt-out" options, meaning that they will still show if you do nothing. Here's the complete list of status conditions following this patch: config option internal default mask id mask text1 tex2 text3 "cond_barehanded" bl_bareh opt_in BL_MASK_BAREH 0x00000001L Bare Bar Bh "cond_blind" bl_blind opt_out BL_MASK_BLIND 0x00000002L Blind Blnd Bl "cond_busy" bl_busy opt_in BL_MASK_BUSY 0x00000004L Busy Bsy By "cond_conf" bl_conf opt_out BL_MASK_CONF 0x00000008L Conf Cnf Cf "cond_deaf" bl_deaf opt_out BL_MASK_DEAF 0x00000010L Deaf Def Df "cond_iron" bl_elf_iron opt_out BL_MASK_ELF_IRON 0x00000020L Iron Irn Fe "cond_fly" bl_fly opt_out BL_MASK_FLY 0x00000040L Fly Fly Fl "cond_foodPois" bl_foodpois opt_out BL_MASK_FOODPOIS 0x00000080L FoodPois Fpois Poi "cond_glowhands" bl_glowhands opt_in BL_MASK_GLOWHANDS 0x00000100L Glow Glo Gl "cond_grab" bl_grab opt_out BL_MASK_GRAB 0x00000200L Grab Grb Gr "cond_hallu" bl_hallu opt_out BL_MASK_HALLU 0x00000400L Hallu Hal Hl "cond_held" bl_held opt_in BL_MASK_HELD 0x00000800L Held Hld Hd "cond_ice" bl_icy opt_in BL_MASK_ICY 0x00001000L Icy Icy Ic "cond_lava" bl_inlava opt_out BL_MASK_INLAVA 0x00002000L Lava Lav La "cond_lev" bl_lev opt_out BL_MASK_LEV 0x00004000L Lev Lev Lv "cond_paralyze" bl_parlyz opt_in BL_MASK_PARLYZ 0x00008000L Parlyz Para Par "cond_ride" bl_ride opt_out BL_MASK_RIDE 0x00010000L Ride Rid Rd "cond_sleep" bl_sleeping opt_in BL_MASK_SLEEPING 0x00020000L Zzz Zzz Zz "cond_slime" bl_slime opt_out BL_MASK_SLIME 0x00040000L Slime Slim Slm "cond_slip" bl_slippery opt_in BL_MASK_SLIPPERY 0x00080000L Slip Sli Sl "cond_stone" bl_stone opt_out BL_MASK_STONE 0x00100000L Stone Ston Sto "cond_strngl" bl_strngl opt_out BL_MASK_STRNGL 0x00200000L Strngl Stngl Str "cond_stun" bl_stun opt_out BL_MASK_STUN 0x00400000L Stun Stun St "cond_submerged" bl_submerged opt_in BL_MASK_SUBMERGED 0x00800000L Sub Sub Sw "cond_termIll" bl_termill opt_out BL_MASK_TERMILL 0x01000000L TermIll Ill Ill "cond_tethered" bl_tethered opt_in BL_MASK_TETHERED 0x02000000L Teth Tth Te "cond_trap" bl_trapped opt_in BL_MASK_TRAPPED 0x04000000L Trap Trp Tr "cond_unconscious" bl_unconsc opt_in BL_MASK_UNCONSC 0x08000000L Out Out KO "cond_woundedl" bl_woundedl opt_in BL_MASK_WOUNDEDL 0x10000000L Legs Leg Lg
This commit is contained in:
@@ -115,6 +115,35 @@ static const struct Bool_Opt {
|
||||
{ "color", &iflags.wc_color, FALSE, SET_IN_GAME },
|
||||
#endif
|
||||
{ "confirm", &flags.confirm, TRUE, SET_IN_GAME },
|
||||
{ "cond_barehanded", &condtests[bl_bareh].choice, FALSE, SET_IN_GAME },
|
||||
{ "cond_blind", &condtests[bl_blind].choice, FALSE, SET_IN_GAME },
|
||||
{ "cond_busy", &condtests[bl_busy].choice, FALSE, SET_IN_GAME },
|
||||
{ "cond_conf", &condtests[bl_conf].choice, FALSE, SET_IN_GAME },
|
||||
{ "cond_deaf", &condtests[bl_deaf].choice, FALSE, SET_IN_GAME },
|
||||
{ "cond_fly", &condtests[bl_fly].choice, FALSE, SET_IN_GAME },
|
||||
{ "cond_foodPois", &condtests[bl_foodpois].choice, FALSE, SET_IN_GAME },
|
||||
{ "cond_glowhands", &condtests[bl_glowhands].choice, FALSE, SET_IN_GAME },
|
||||
{ "cond_grab", &condtests[bl_grab].choice, FALSE, SET_IN_GAME },
|
||||
{ "cond_hallu", &condtests[bl_hallu].choice, FALSE, SET_IN_GAME },
|
||||
{ "cond_held", &condtests[bl_held].choice, FALSE, SET_IN_GAME },
|
||||
{ "cond_ice" , &condtests[bl_icy].choice, FALSE, SET_IN_GAME },
|
||||
{ "cond_iron", &condtests[bl_elf_iron].choice, FALSE, SET_IN_GAME },
|
||||
{ "cond_lava", &condtests[bl_inlava].choice, FALSE, SET_IN_GAME },
|
||||
{ "cond_lev", &condtests[bl_lev].choice, FALSE, SET_IN_GAME },
|
||||
{ "cond_unconscious", &condtests[bl_unconsc].choice, FALSE, SET_IN_GAME },
|
||||
{ "cond_paralyze", &condtests[bl_parlyz].choice, FALSE, SET_IN_GAME },
|
||||
{ "cond_ride", &condtests[bl_ride].choice, FALSE, SET_IN_GAME },
|
||||
{ "cond_sleep" , &condtests[bl_sleeping].choice, FALSE, SET_IN_GAME },
|
||||
{ "cond_slime", &condtests[bl_slime].choice, FALSE, SET_IN_GAME },
|
||||
{ "cond_slip", &condtests[bl_slippery].choice, FALSE, SET_IN_GAME },
|
||||
{ "cond_stone", &condtests[bl_stone].choice, FALSE, SET_IN_GAME },
|
||||
{ "cond_strngl", &condtests[bl_strngl].choice, FALSE, SET_IN_GAME },
|
||||
{ "cond_stun", &condtests[bl_stun].choice, FALSE, SET_IN_GAME },
|
||||
{ "cond_submerged" , &condtests[bl_submerged].choice, FALSE, SET_IN_GAME },
|
||||
{ "cond_termIll", &condtests[bl_termill].choice, FALSE, SET_IN_GAME },
|
||||
{ "cond_tethered", &condtests[bl_tethered].choice, FALSE, SET_IN_GAME },
|
||||
{ "cond_trap", &condtests[bl_trapped].choice, FALSE, SET_IN_GAME },
|
||||
{ "cond_woundedl", &condtests[bl_woundedl].choice, FALSE, SET_IN_GAME },
|
||||
{ "dark_room", &flags.dark_room, TRUE, SET_IN_GAME },
|
||||
{ "eight_bit_tty", &iflags.wc_eight_bit_input, FALSE, SET_IN_GAME }, /*WC*/
|
||||
#if defined(TTY_GRAPHICS) || defined(CURSES_GRAPHICS) || defined(X11_GRAPHICS)
|
||||
@@ -703,7 +732,7 @@ initoptions_init()
|
||||
if (boolopt[i].addr)
|
||||
*(boolopt[i].addr) = boolopt[i].initvalue;
|
||||
}
|
||||
|
||||
condopt((boolean *) 0, 0); /* make the choices match defaults */
|
||||
#ifdef SYSFLAGS
|
||||
Strcpy(sysflags.sysflagsid, "sysflags");
|
||||
sysflags.sysflagsid[9] = (char) sizeof (struct sysflag);
|
||||
@@ -4089,6 +4118,9 @@ boolean tinitial, tfrom_file;
|
||||
map if ascii map isn't supported? */
|
||||
iflags.wc_ascii_map = negated;
|
||||
}
|
||||
if (!strncmpi(opts, "cond_", sizeof "cond_" - 1)) {
|
||||
condopt(boolopt[i].addr, negated);
|
||||
}
|
||||
/* only do processing below if setting with doset() */
|
||||
if (g.opt_initial)
|
||||
return retval;
|
||||
|
||||
Reference in New Issue
Block a user