high priest extinction
This issue has been around for a while but wasn't noticable to players until some post-3.6.0 tweaking of end of game disclosure. When testing the DUMPLOG artifact_score fix, I level teleported to the Astral Plane and performed a cheat ascension. Final disclosure listed high priests as extinct. Same thing would happen after visiting Moloch's Sanctum instead. (The latter didn't interfere with creating the Astral high priests if you got that far, just as creation of the first one there didn't prevent the other two.) I forget why high priests are flagged as unique (something I think I'm responisble for...), but they shouldn't share unique's setting of extinct during monster creation. (They could be set that way after 4 are created, but this fix doesn't do that. It just treats them like ordinary monsters so you'd need 127 or 255 or some such to make them become extinct. Unlike other creatures with a special creation limit, high priests can be produced when aligned priests gain experience--an event that I don't recall ever noticing happen.)
This commit is contained in:
@@ -424,6 +424,9 @@ minor ^X/enlightenment bugs: grammar when poly'd into '1 hit dice' critter,
|
||||
missing punctuation for "You entered the dungeon N turns ago"
|
||||
when configured with DUMPLOG enabled, artifacts were counted twice towards
|
||||
final score
|
||||
once Moloch's Sanctum (or Astral Plane via wizard mode level teleport direct
|
||||
to end-game) was entered, end of game disclosure would reveal that
|
||||
high priests had been incorrectly flagged as extinct
|
||||
|
||||
|
||||
Platform- and/or Interface-Specific Fixes
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* NetHack 3.6 makemon.c $NHDT-Date: 1450451931 2015/12/18 15:18:51 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.106 $ */
|
||||
/* NetHack 3.6 makemon.c $NHDT-Date: 1495237801 2017/05/19 23:50:01 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.116 $ */
|
||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
|
||||
@@ -903,7 +903,7 @@ boolean ghostly;
|
||||
result = (((int) mvitals[mndx].born < lim) && !gone) ? TRUE : FALSE;
|
||||
|
||||
/* if it's unique, don't ever make it again */
|
||||
if (mons[mndx].geno & G_UNIQ)
|
||||
if ((mons[mndx].geno & G_UNIQ) && mndx != PM_HIGH_PRIEST)
|
||||
mvitals[mndx].mvflags |= G_EXTINCT;
|
||||
|
||||
if (mvitals[mndx].born < 255 && tally
|
||||
|
||||
Reference in New Issue
Block a user