From: Pasi Kallinen Date: Tue, 27 Jun 2017 21:16:11 +0000 (+0300) Subject: Make #wizmakemap handle unpaid items and punishment X-Git-Tag: NetHack-3.6.1_RC01~465 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=81803106303b77c2d952d250f7f49a88fe41c3ff;p=nethack Make #wizmakemap handle unpaid items and punishment --- diff --git a/include/extern.h b/include/extern.h index 2ccbf3240..705b19cdc 100644 --- a/include/extern.h +++ b/include/extern.h @@ -2127,6 +2127,7 @@ E void FDECL(store_savefileinfo, (int)); /* ### shk.c ### */ +E void FDECL(setpaid, (struct monst *)); E long FDECL(money2mon, (struct monst *, long)); E void FDECL(money2u, (struct monst *, long)); E void FDECL(shkgone, (struct monst *)); diff --git a/src/cmd.c b/src/cmd.c index de5645d2d..2ec304a8a 100644 --- a/src/cmd.c +++ b/src/cmd.c @@ -621,13 +621,29 @@ wiz_identify(VOID_ARGS) STATIC_PTR int wiz_makemap(VOID_ARGS) { + /* FIXME: doesn't handle riding */ if (wizard) { + struct monst *mtmp; + + for (mtmp = fmon; mtmp; mtmp = mtmp->nmon) + if (mtmp->isshk) + setpaid(mtmp); + if (Punished) { + ballrelease(FALSE); + unplacebc(); + } + check_special_room(TRUE); + dmonsfree(); savelev(-1, ledger_no(&u.uz), FREE_SAVE); mklev(); - reglyph_darkroom(); vision_reset(); vision_full_recalc = 1; + cls(); (void) safe_teleds(TRUE); + if (Punished) { + unplacebc(); + placebc(); + } docrt(); flush_screen(1); } diff --git a/src/shk.c b/src/shk.c index abd9a33b0..62052fbe7 100644 --- a/src/shk.c +++ b/src/shk.c @@ -29,7 +29,6 @@ STATIC_VAR const char and_its_contents[] = " and its contents"; STATIC_VAR const char the_contents_of[] = "the contents of "; STATIC_DCL void FDECL(append_honorific, (char *)); -STATIC_DCL void FDECL(setpaid, (struct monst *)); STATIC_DCL long FDECL(addupbill, (struct monst *)); STATIC_DCL void FDECL(pacify_shk, (struct monst *)); STATIC_DCL struct bill_x *FDECL(onbill, (struct obj *, struct monst *, @@ -286,7 +285,7 @@ struct obj *list; } /* either you paid or left the shop or the shopkeeper died */ -STATIC_OVL void +void setpaid(shkp) register struct monst *shkp; {