Have newcham() give messages when monsters polymorph in more cases

This is a descendent of an earlier patch I wrote. The main idea is still
to clearly communicate to the player *what* something is turning into,
without the need to farlook afterwards, and give them the opportunity to
add MSGTYPE for when something jumps on a polymorph trap and becomes an
arch-lich. If it happens out of sight, the player also might get a whiff
of the monster's smell, giving a bit of advance warning.

There is one new case in here, in normal_shape(), which came about
because I noticed a weird message sequence: "The magic-absorbing blade
cancels the python!  You kill the chameleon!" with no intervening
message indicating the python reverted to a chameleon.
This commit is contained in:
copperwater
2017-12-01 16:36:34 -05:00
parent 0aba9ff77e
commit 218a6a9d25
3 changed files with 6 additions and 6 deletions

View File

@@ -3808,7 +3808,7 @@ normal_shape(struct monst *mon)
if (mcham >= LOW_PM) {
unsigned mcan = mon->mcan;
(void) newcham(mon, &mons[mcham], FALSE, FALSE);
(void) newcham(mon, &mons[mcham], FALSE, TRUE);
mon->cham = NON_PM;
/* newcham() may uncancel a polymorphing monster; override that */
if (mcan)