disclosing genocided/extinct monsters
Make the handling of unique monsters consistent between vanquished monsters and genocided/extinct monsters. No visible difference to players. This also prevents Nazgul and erinys from being polymorphed into some other form to reduce the chance that their kill count fails to match the expected number when they're reported to be extinct. [My long test game (with 3451 total dead critters as of the last save file) used for exercising the sorting of vanquished monsters included 120 soldiers 111 wolves 9 Nazgul 2 erinyes and the genocided/extinct list had none genocided, those four extinct. No doubt the missing third erinys was alive somewhere rather than counted as something else after getting polymorphed, so this band-aid wouldn't have helped this particular game.]
This commit is contained in:
10
src/mon.c
10
src/mon.c
@@ -3217,8 +3217,14 @@ boolean msg; /* "The oldmon turns into a newmon!" */
|
||||
|
||||
/* Riders are immune to polymorph and green slime
|
||||
(but apparent Rider might actually be a doppelganger) */
|
||||
if (is_rider(mtmp->data) && mtmp->cham == NON_PM)
|
||||
return 0;
|
||||
if (mtmp->cham == NON_PM) { /* not a shapechanger */
|
||||
if (is_rider(olddata))
|
||||
return 0;
|
||||
/* make Nazgul and erinyes immune too, to reduce chance of
|
||||
anomalous extinction feedback during final disclsoure */
|
||||
if (mbirth_limit(monsndx(olddata)) < MAXMONNO)
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (msg) {
|
||||
/* like Monnam() but never mention saddle */
|
||||
|
||||
Reference in New Issue
Block a user