From 19283b0b952522d1d019f22fcbd35294c13c235c Mon Sep 17 00:00:00 2001 From: j-p-e-g Date: Thu, 3 Jul 2008 22:07:11 +0000 Subject: Fix 2008767: "random" not working for book choice option git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6375 c06c8d41-db1a-0410-9941-cceddc491573 --- crawl-ref/source/newgame.cc | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) (limited to 'crawl-ref/source/newgame.cc') diff --git a/crawl-ref/source/newgame.cc b/crawl-ref/source/newgame.cc index 909591a4bc..7bb3e01029 100644 --- a/crawl-ref/source/newgame.cc +++ b/crawl-ref/source/newgame.cc @@ -2039,7 +2039,7 @@ static bool _choose_book( item_def& book, int firstbook, int numbooks ) if (Options.prev_book > numbooks && Options.prev_book != SBT_RANDOM) Options.prev_book = SBT_NO_SELECTION; - if (!Options.random_pick) + if (!Options.random_pick && Options.book != SBT_RANDOM) { _print_character_info(); @@ -2113,14 +2113,11 @@ static bool _choose_book( item_def& book, int firstbook, int numbooks ) || keyin == '+') { ng_book = SBT_RANDOM; - } - else - ng_book = keyin - 'a' + 1; - if (Options.random_pick || keyin == '*' || keyin == '+') - { int good_choices = 0; - if (keyin == '+' || Options.random_pick && Options.good_random) + if (keyin == '+' + || Options.good_random + && (Options.random_pick || Options.book == SBT_RANDOM)) { for (int i = 0; i < numbooks; i++) { @@ -2137,6 +2134,8 @@ static bool _choose_book( item_def& book, int firstbook, int numbooks ) keyin += 'a'; } + else + ng_book = keyin - 'a' + 1; book.sub_type = firstbook + keyin - 'a'; return (true); -- cgit v1.2.3-54-g00ecf