diff --git a/include/decl.h b/include/decl.h index a35e1445d..286a77446 100644 --- a/include/decl.h +++ b/include/decl.h @@ -81,6 +81,7 @@ extern const char ynchars[]; extern const char ynqchars[]; extern const char ynaqchars[]; extern const char ynNaqchars[]; +extern const char rightleftchars[]; extern NEARDATA long yn_number; extern struct restore_info restoreinfo; extern NEARDATA struct savefile_info sfcap, sfrestinfo, sfsaveinfo; diff --git a/src/cmd.c b/src/cmd.c index 8f1ba6e53..e04624226 100644 --- a/src/cmd.c +++ b/src/cmd.c @@ -4964,7 +4964,8 @@ staticfn boolean yn_menuable_resp(const char *resp) { return iflags.query_menu && iflags.window_inited - && (resp == ynchars || resp == ynqchars || resp == ynaqchars); + && (resp == ynchars || resp == ynqchars || resp == ynaqchars + || resp == rightleftchars); } staticfn void @@ -4998,8 +4999,13 @@ yn_function_menu( char keybuf[QBUFSZ]; start_menu(win, MENU_BEHAVE_STANDARD); - yn_func_menu_opt(win, 'y', "Yes", def); - yn_func_menu_opt(win, 'n', "No", def); + if (resp == rightleftchars) { + yn_func_menu_opt(win, 'r', "Right", def); + yn_func_menu_opt(win, 'l', "Left", def); + } else { + yn_func_menu_opt(win, 'y', "Yes", def); + yn_func_menu_opt(win, 'n', "No", def); + } if (resp == ynaqchars) yn_func_menu_opt(win, 'a', "All", def); if (resp == ynqchars || resp == ynaqchars) diff --git a/src/decl.c b/src/decl.c index 6b3cda881..db1a776e8 100644 --- a/src/decl.c +++ b/src/decl.c @@ -135,6 +135,7 @@ const char ynchars[] = "yn"; const char ynqchars[] = "ynq"; const char ynaqchars[] = "ynaq"; const char ynNaqchars[] = "yn#aq"; +const char rightleftchars[] = "rl"; NEARDATA long yn_number = 0L; #ifdef PANICTRACE diff --git a/src/do_wear.c b/src/do_wear.c index 724aaf043..d67921e8e 100644 --- a/src/do_wear.c +++ b/src/do_wear.c @@ -2155,7 +2155,7 @@ accessory_or_armor_on(struct obj *obj) Sprintf(qbuf, "Which %s%s, Right or Left?", humanoid(gy.youmonst.data) ? "ring-" : "", body_part(FINGER)); - answer = yn_function(qbuf, "rl", '\0', TRUE); + answer = yn_function(qbuf, rightleftchars, '\0', TRUE); switch (answer) { case '\0': case '\033':