MCPcopy Create free account
hub / github.com/NetHack/NetHack / enlightenment

Function enlightenment

src/insight.c:382–463  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

380}
381
382void
383enlightenment(
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) {

Callers 7

dump_everythingFunction · 0.85
discloseFunction · 0.85
peffect_hallucinationFunction · 0.85
arti_invokeFunction · 0.85
do_enlightenment_effectFunction · 0.85
doattributesFunction · 0.85
drinkfountainFunction · 0.85

Calls 9

highcFunction · 0.85
enlght_outFunction · 0.85
background_enlightenmentFunction · 0.85
basics_enlightenmentFunction · 0.85
status_enlightenmentFunction · 0.85
attributes_enlightenmentFunction · 0.85
fmt_elapsed_timeFunction · 0.85
select_menuFunction · 0.85

Tested by

no test coverage detected