From e88a6182dd118fe52b2872541f6fc288d36c99c7 Mon Sep 17 00:00:00 2001 From: cohrs Date: Sun, 7 Jul 2002 23:25:43 +0000 Subject: [PATCH] cancellation, polymorphed and unchanging reported that a wand of cancellation would ignore Unchanging, noting the case of cancelling yourself while polymorphed into a stone golem. He thought the wand should win, killing the player. I felt otherwise, since the case he specified passes the flag allow_cancel_kill == FALSE. --- doc/fixes34.1 | 1 + src/eat.c | 3 ++- src/zap.c | 6 +++++- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/doc/fixes34.1 b/doc/fixes34.1 index 012ed5b3d..ca6906063 100644 --- a/doc/fixes34.1 +++ b/doc/fixes34.1 @@ -148,6 +148,7 @@ knights should be able to avenge attacks from covetous monsters eating various rotten food items would not break vegan/vegetarian conduct unaligned special levels should inherit alignment from the dungeon Samurai quest was missing several doors +Cancelled while polymorphed and Unchanging should provide feedback Platform- and/or Interface-Specific Fixes diff --git a/src/eat.c b/src/eat.c index b54cd5e03..611d2aacd 100644 --- a/src/eat.c +++ b/src/eat.c @@ -1496,7 +1496,8 @@ struct obj *otmp; case AMULET_OF_RESTFUL_SLEEP: /* another bad idea! */ HSleeping = FROMOUTSIDE | rnd(100); break; - case RIN_SUSTAIN_ABILITY: + case RIN_SUSTAIN_ABILITY: + case AMULET_OF_UNCHANGING: case AMULET_OF_LIFE_SAVING: case AMULET_OF_REFLECTION: /* nice try */ /* can't eat Amulet of Yendor or fakes, diff --git a/src/zap.c b/src/zap.c index 421b7b6e4..6ddcfca1f 100644 --- a/src/zap.c +++ b/src/zap.c @@ -2213,7 +2213,11 @@ boolean youattack, allow_cancel_kill, self_cancel; if (Upolyd) { if ((u.umonnum == PM_CLAY_GOLEM) && !Blind) pline(writing_vanishes, your); - rehumanize(); + + if (Unchanging) + Your("amulet grows hot for a moment, then cools."); + else + rehumanize(); } } else { mdef->mcan = TRUE; -- 2.40.0