diff --git a/src/gen-chunk.c b/src/gen-chunk.c index 5460b2229..f08b8ec06 100644 --- a/src/gen-chunk.c +++ b/src/gen-chunk.c @@ -540,6 +540,15 @@ bool chunk_copy(struct chunk *dest, struct player *p, struct chunk *source, delete_monster_idx(dest, skipped_ghost_id); *dest->ghost = preserved_ghost; + /* + * Compensate for the change to monster rating, but do + * nothing if it saturated: do not know what to subtract + * in that case. + */ + if (dest->mon_rating != UINT32_MAX) { + assert(dest->mon_rating >= 10); + dest->mon_rating -= 10; + } } return true; diff --git a/src/mon-make.c b/src/mon-make.c index 055c0b57d..6be3d7729 100644 --- a/src/mon-make.c +++ b/src/mon-make.c @@ -879,7 +879,7 @@ bool prepare_ghost(struct chunk *c, int r_idx, struct monster *mon, } /* Increase the level feeling */ - c->mon_rating += 10; + add_to_monster_rating(c, 10); /* Player ghosts are "seen" whenever generated. */ lore->sights = 1;