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:
@@ -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
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user