summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/newgame.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/newgame.cc')
-rw-r--r--crawl-ref/source/newgame.cc57
1 files changed, 31 insertions, 26 deletions
diff --git a/crawl-ref/source/newgame.cc b/crawl-ref/source/newgame.cc
index 7a966c159f..f59d414632 100644
--- a/crawl-ref/source/newgame.cc
+++ b/crawl-ref/source/newgame.cc
@@ -2309,18 +2309,18 @@ static bool _choose_weapon()
{
ASSERT(startwep[i] != WPN_UNKNOWN);
+ if (startwep_restrictions[i] == CC_BANNED)
+ continue;
+
if (startwep_restrictions[i] == CC_UNRESTRICTED)
textcolor(LIGHTGREY);
else
textcolor(DARKGREY);
- char letter = (startwep_restrictions[i] == CC_BANNED)
- ? ' ' : ('a' + i);
-
- if (startwep[i] == WPN_UNARMED)
- cprintf("%c - claws" EOL, letter);
- else
- cprintf("%c - %s" EOL, letter, weapon_base_name(startwep[i]));
+ const char letter = 'a' + i;
+ cprintf("%c - %s" EOL, letter,
+ startwep[i] == WPN_UNARMED ? "claws"
+ : weapon_base_name(startwep[i]));
if (Options.prev_weapon == startwep[i])
prevmatch = true;
@@ -2334,7 +2334,7 @@ static bool _choose_weapon()
"Bksp - Back to species and class selection; "
"X - Quit" EOL);
- if (Options.prev_weapon != WPN_UNKNOWN)
+ if (Options.prev_weapon == WPN_RANDOM || prevmatch)
{
cprintf("; Enter - %s",
Options.prev_weapon == WPN_RANDOM ? "Random" :
@@ -3579,20 +3579,21 @@ spec_query:
else
textcolor(DARKGREY);
- // Show banned races but omit letter
- char sletter;
+ // Show banned races as "unavailable".
if (you.char_class != JOB_UNKNOWN
&& _class_allowed(si, you.char_class) == CC_BANNED)
{
- sletter = ' ';
+ cprintf(" %s N/A", species_name(si, 1).c_str());
}
else
- sletter = index_to_letter(i);
+ {
+ char sletter = index_to_letter(i);
- if (sletter == Options.prev_race)
- prevraceok = true;
+ if (sletter == Options.prev_race)
+ prevraceok = true;
- cprintf( "%c - %s", sletter, species_name(si,1).c_str() );
+ cprintf("%c - %s", sletter, species_name(si, 1).c_str());
+ }
if (j % 2)
cprintf(EOL);
@@ -3826,17 +3827,20 @@ job_query:
else
textcolor(DARKGREY);
- // Show banned classes but omit letter.
- char letter;
+ // Show banned races as "unavailable".
if (_class_allowed(you.species, which_job) == CC_BANNED)
- letter = ' ';
+ {
+ cprintf(" %s N/A", get_class_name(which_job));
+ }
else
- letter = index_to_letter(i);
+ {
+ char sletter = index_to_letter(i);
- if (letter == Options.prev_cls)
- prevclassok = true;
+ if (sletter == Options.prev_cls)
+ prevclassok = true;
- cprintf( "%c - %s", letter, get_class_name(which_job) );
+ cprintf("%c - %s", sletter, get_class_name(which_job));
+ }
if (j % 2)
cprintf(EOL);
@@ -4206,10 +4210,11 @@ bool _give_items_skills()
cprintf("a - Zin (for traditional priests)" EOL);
cprintf("b - Yredelemnul (for priests of death)" EOL);
- const bool valid = _is_valid_religion(GOD_BEOGH);
- textcolor( valid ? LIGHTGREY : DARKGREY );
- cprintf("%s - Beogh (priest of Orcs)" EOL,
- valid ? "c" : " ");
+ if (_is_valid_religion(GOD_BEOGH))
+ {
+ textcolor(LIGHTGREY);
+ cprintf("c - Beogh (priest of Orcs)" EOL);
+ }
textcolor( BROWN );
cprintf(EOL "* - Random choice; "