From: copperwater Date: Fri, 22 May 2020 01:04:06 +0000 (-0400) Subject: Move Orcus shopkeeper removal from fixup_special into stock_room X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a35cbf3816e01248f31776c4591b9a24675fc2e3;p=nethack Move Orcus shopkeeper removal from fixup_special into stock_room The plan is to unify special room filling code and cause special rooms to be filled as the very last stage of level creation. Since this will occur after fixup_special, it was necessary to address the one remaining piece of code in there that affects special room filling. (The Medusa code remaining in there doesn't have to do with special rooms.) --- diff --git a/src/mkmaze.c b/src/mkmaze.c index 8987cda95..16c92a8e3 100644 --- a/src/mkmaze.c +++ b/src/mkmaze.c @@ -574,15 +574,6 @@ fixup_special() g.level.flags.graveyard = 1; } else if (Is_stronghold(&u.uz)) { g.level.flags.graveyard = 1; - } else if (on_level(&u.uz, &orcus_level)) { - struct monst *mtmp, *mtmp2; - - /* it's a ghost town, get rid of shopkeepers */ - for (mtmp = fmon; mtmp; mtmp = mtmp2) { - mtmp2 = mtmp->nmon; - if (mtmp->isshk) - mongone(mtmp); - } } else if (on_level(&u.uz, &baalzebub_level)) { /* custom wallify the "beetle" potion of the level */ baalz_fixup(); diff --git a/src/shknam.c b/src/shknam.c index fe9a0d989..69b217ffb 100644 --- a/src/shknam.c +++ b/src/shknam.c @@ -774,6 +774,12 @@ register struct mkroom *sroom; * monsters will sit on top of objects and not the other way around. */ + /* Hack for Orcus's level: it's a ghost town, get rid of shopkeepers */ + if (on_level(&u.uz, &orcus_level)) { + struct monst* mtmp = shop_keeper(rmno); + mongone(mtmp); + } + g.level.flags.has_shop = TRUE; }