diff options
author | j-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-07-03 22:07:11 +0000 |
---|---|---|
committer | j-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-07-03 22:07:11 +0000 |
commit | 19283b0b952522d1d019f22fcbd35294c13c235c (patch) | |
tree | b3218c8154e017f930b11303b30f4ac5652904ff /crawl-ref/source/newgame.cc | |
parent | a32a2ae31db4aca7df3ea969b0c1ef456c0ba159 (diff) | |
download | crawl-ref-19283b0b952522d1d019f22fcbd35294c13c235c.tar.gz crawl-ref-19283b0b952522d1d019f22fcbd35294c13c235c.zip |
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
Diffstat (limited to 'crawl-ref/source/newgame.cc')
-rw-r--r-- | crawl-ref/source/newgame.cc | 13 |
1 files changed, 6 insertions, 7 deletions
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); |