From a35cbf3816e01248f31776c4591b9a24675fc2e3 Mon Sep 17 00:00:00 2001 From: copperwater Date: Thu, 21 May 2020 21:04:06 -0400 Subject: [PATCH] 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.) --- src/mkmaze.c | 9 --------- src/shknam.c | 6 ++++++ 2 files changed, 6 insertions(+), 9 deletions(-) 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; }