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

Function rndmonnam

src/do_name.c:1388–1411  ·  view source on GitHub ↗

return a random monster name, for hallucination */

Source from the content-addressed store, hash-verified

1386
1387/* return a random monster name, for hallucination */
1388char *
1389rndmonnam(char *code)
1390{
1391 static char buf[BUFSZ];
1392 char *mnam;
1393 int name;
1394#define BOGUSMONSIZE 100 /* arbitrary */
1395
1396 if (code)
1397 *code = '\0';
1398
1399 do {
1400 name = rn2_on_display_rng(SPECIAL_PM + BOGUSMONSIZE - LOW_PM) + LOW_PM;
1401 } while (name < SPECIAL_PM
1402 && (type_is_pname(&mons[name]) || (mons[name].geno & G_NOGEN)));
1403
1404 if (name >= SPECIAL_PM) {
1405 mnam = bogusmon(buf, code);
1406 } else {
1407 mnam = strcpy(buf, pmname(&mons[name], rn2_on_display_rng(2)));
1408 }
1409 return mnam;
1410#undef BOGUSMONSIZE
1411}
1412
1413/* check bogusmon prefix to decide whether it's a personal name */
1414boolean

Callers 15

do_name.cFile · 0.85
ghost_from_bottleFunction · 0.85
dosinkringFunction · 0.85
dochatFunction · 0.85
slime_dialogueFunction · 0.85
release_camera_demonFunction · 0.85
observe_quantum_catFunction · 0.85
consume_tinFunction · 0.85
animate_statueFunction · 0.85
bhitoFunction · 0.85
precheckFunction · 0.85
lookatFunction · 0.85

Calls 3

rn2_on_display_rngFunction · 0.85
bogusmonFunction · 0.85
pmnameFunction · 0.85

Tested by

no test coverage detected