Blessed potion of polymorph asks user for monster to poly into

... unless there's some other form that would override the choice,
such as a worn dragon armor, lycanthropy, or vampirism.

The polymorph will be in effect for 10-24 turns.
This commit is contained in:
Pasi Kallinen
2022-07-14 14:04:24 +03:00
parent 67ec92165e
commit 486ed29077
12 changed files with 40 additions and 17 deletions

View File

@@ -1295,11 +1295,18 @@ peffect_acid(struct obj *otmp)
}
static void
peffect_polymorph(struct obj *otmp UNUSED)
peffect_polymorph(struct obj *otmp)
{
You_feel("a little %s.", Hallucination ? "normal" : "strange");
if (!Unchanging)
polyself(0);
if (!Unchanging) {
if (!otmp->blessed || (u.umonnum != u.umonster))
polyself(POLY_NOFLAGS);
else {
polyself(POLY_CONTROLLED|POLY_LOW_CTRL);
if (u.mtimedone && u.umonnum != u.umonster)
u.mtimedone = min(u.mtimedone, rn2(15) + 10);
}
}
}
int
@@ -1654,7 +1661,7 @@ potionhit(struct monst *mon, struct obj *obj, int how)
case POT_POLYMORPH:
You_feel("a little %s.", Hallucination ? "normal" : "strange");
if (!Unchanging && !Antimagic)
polyself(0);
polyself(POLY_NOFLAGS);
break;
case POT_ACID:
if (!Acid_resistance) {