| 380 | } |
| 381 | |
| 382 | void |
| 383 | enlightenment( |
| 384 | int mode, /* BASICENLIGHTENMENT | MAGICENLIGHTENMENT (| both) */ |
| 385 | int final) /* ENL_GAMEINPROGRESS:0, ENL_GAMEOVERALIVE, ENL_GAMEOVERDEAD */ |
| 386 | { |
| 387 | char buf[BUFSZ], tmpbuf[BUFSZ]; |
| 388 | |
| 389 | ge.en_win = create_nhwindow(NHW_MENU); |
| 390 | ge.en_via_menu = !final; |
| 391 | if (ge.en_via_menu) |
| 392 | start_menu(ge.en_win, MENU_BEHAVE_STANDARD); |
| 393 | |
| 394 | Strcpy(tmpbuf, svp.plname); |
| 395 | *tmpbuf = highc(*tmpbuf); /* same adjustment as bottom line */ |
| 396 | /* as in background_enlightenment, when poly'd we need to use the saved |
| 397 | gender in u.mfemale rather than the current you-as-monster gender */ |
| 398 | Snprintf(buf, sizeof(buf), "%s the %s's attributes:", tmpbuf, |
| 399 | ((Upolyd ? u.mfemale : flags.female) && gu.urole.name.f) |
| 400 | ? gu.urole.name.f |
| 401 | : gu.urole.name.m); |
| 402 | |
| 403 | /* title */ |
| 404 | enlght_out(buf); /* "Conan the Archeologist's attributes:" */ |
| 405 | /* background and characteristics; ^X or end-of-game disclosure */ |
| 406 | if (mode & BASICENLIGHTENMENT) { |
| 407 | /* role, race, alignment, deities, dungeon level, time, experience */ |
| 408 | background_enlightenment(mode, final); |
| 409 | /* hit points, energy points, armor class, gold */ |
| 410 | basics_enlightenment(mode, final); |
| 411 | /* strength, dexterity, &c */ |
| 412 | characteristics_enlightenment(mode, final); |
| 413 | } |
| 414 | /* expanded status line information, including things which aren't |
| 415 | included there due to space considerations; |
| 416 | shown for both basic and magic enlightenment */ |
| 417 | status_enlightenment(mode, final); |
| 418 | /* remaining attributes; shown for potion,&c or wizard mode and |
| 419 | explore mode ^X or end of game disclosure */ |
| 420 | if (mode & MAGICENLIGHTENMENT) { |
| 421 | /* intrinsics and other traditional enlightenment feedback */ |
| 422 | attributes_enlightenment(mode, final); |
| 423 | } |
| 424 | |
| 425 | enlght_out(""); /* separator */ |
| 426 | enlght_out("Miscellaneous:"); |
| 427 | /* reminder to player and/or information for dumplog */ |
| 428 | if ((mode & BASICENLIGHTENMENT) != 0 && (wizard || discover || final)) { |
| 429 | if (wizard || discover) { |
| 430 | Sprintf(buf, "running in %s mode", wizard ? "debug" : "explore"); |
| 431 | you_are(buf, ""); |
| 432 | } |
| 433 | |
| 434 | if (!flags.bones) { |
| 435 | /* mention not saving bones iff hero just died */ |
| 436 | Sprintf(buf, "disabled loading%s of bones levels", |
| 437 | (final == ENL_GAMEOVERDEAD) ? " and storing" : ""); |
| 438 | you_have_X(buf); |
| 439 | } else if (!u.uroleplay.numbones) { |
no test coverage detected