From 635202da99dd9242f8104f98ae3252547bc9bac0 Mon Sep 17 00:00:00 2001 From: "nethack.rankin" Date: Fri, 8 Feb 2008 02:21:21 +0000 Subject: [PATCH] wizard mode ^G of shapechangers (trunk only) A while back there was a change in how the initial shape for a shapechanging monster gets chosen during monster creation, and a side- effect of that lets/makes you choose the shape when #monpolycontrol is enabled. But ^G was overriding your choice by forcing the shapechanger to start out looking like the type of monster that you specified (to ^G, not to subsequent #monpolycontrol prompting), hence always in its natural shape. The intent for ^G was that if asked for a unique monster but got a doppelganger instead, it would initially look like the requested unique monster. Post-3.4.3 code, so no fixes entry needed. --- src/read.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/read.c b/src/read.c index 9368389ae..bc0728445 100644 --- a/src/read.c +++ b/src/read.c @@ -1,4 +1,4 @@ -/* SCCS Id: @(#)read.c 3.5 2007/07/13 */ +/* SCCS Id: @(#)read.c 3.5 2008/02/07 */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ @@ -2103,7 +2103,10 @@ create_particular() set_malign(mtmp); } madeany = TRUE; - if (mtmp->cham >= LOW_PM && firstchoice != NON_PM) + /* in case we got a doppelganger instead of what was asked + for, make it start out looking like what was asked for */ + if (mtmp->cham != NON_PM && firstchoice != NON_PM && + mtmp->cham != firstchoice) (void)newcham(mtmp, &mons[firstchoice], FALSE, FALSE); } }