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
|
eating various rotten food items would not break vegan/vegetarian conduct
|
||||||
unaligned special levels should inherit alignment from the dungeon
|
unaligned special levels should inherit alignment from the dungeon
|
||||||
Samurai quest was missing several doors
|
Samurai quest was missing several doors
|
||||||
|
Cancelled while polymorphed and Unchanging should provide feedback
|
||||||
|
|
||||||
|
|
||||||
Platform- and/or Interface-Specific Fixes
|
Platform- and/or Interface-Specific Fixes
|
||||||
|
|||||||
@@ -1496,7 +1496,8 @@ struct obj *otmp;
|
|||||||
case AMULET_OF_RESTFUL_SLEEP: /* another bad idea! */
|
case AMULET_OF_RESTFUL_SLEEP: /* another bad idea! */
|
||||||
HSleeping = FROMOUTSIDE | rnd(100);
|
HSleeping = FROMOUTSIDE | rnd(100);
|
||||||
break;
|
break;
|
||||||
case RIN_SUSTAIN_ABILITY:
|
case RIN_SUSTAIN_ABILITY:
|
||||||
|
case AMULET_OF_UNCHANGING:
|
||||||
case AMULET_OF_LIFE_SAVING:
|
case AMULET_OF_LIFE_SAVING:
|
||||||
case AMULET_OF_REFLECTION: /* nice try */
|
case AMULET_OF_REFLECTION: /* nice try */
|
||||||
/* can't eat Amulet of Yendor or fakes,
|
/* can't eat Amulet of Yendor or fakes,
|
||||||
|
|||||||
@@ -2213,7 +2213,11 @@ boolean youattack, allow_cancel_kill, self_cancel;
|
|||||||
if (Upolyd) {
|
if (Upolyd) {
|
||||||
if ((u.umonnum == PM_CLAY_GOLEM) && !Blind)
|
if ((u.umonnum == PM_CLAY_GOLEM) && !Blind)
|
||||||
pline(writing_vanishes, your);
|
pline(writing_vanishes, your);
|
||||||
rehumanize();
|
|
||||||
|
if (Unchanging)
|
||||||
|
Your("amulet grows hot for a moment, then cools.");
|
||||||
|
else
|
||||||
|
rehumanize();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
mdef->mcan = TRUE;
|
mdef->mcan = TRUE;
|
||||||
|
|||||||
Reference in New Issue
Block a user