cancellation, polymorphed and unchanging

<Someone> 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.
This commit is contained in:
cohrs
2002-07-07 23:25:43 +00:00
parent c03c25b045
commit e88a6182dd
3 changed files with 8 additions and 2 deletions

View File

@@ -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

View File

@@ -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,

View File

@@ -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;