polyself into minotaur causes hard headgear to fall off
with multiple leashes in use, 2nd had 50/50 chance of having unbounded length
GOLDOBJ: coins aren't subject to curses/blesses and don't need identification
+can no longer activate a figurine while engulfed
+can't use figurines to get too many erinyes or Nazgul
Platform- and/or Interface-Specific Fixes
{
xchar x,y;
+ if (carried(obj) && u.uswallow) {
+ if (!quietly)
+ You("don't have enough room in here.");
+ return FALSE;
+ }
x = cc->x; y = cc->y;
if (!isok(x,y)) {
if (!quietly)
xchar x, y;
coord cc;
+ if (u.uswallow) {
+ /* can't activate a figurine while swallowed */
+ if (!figurine_location_checks(obj, (coord *)0, FALSE))
+ return;
+ }
if(!getdir((char *)0)) {
flags.move = multi = 0;
return;
int chance, trycnt = 100;
do {
- if (otmp) {
- pm = &mons[otmp->corpsenm]; /* Figurine; otherwise spell */
+ if (otmp) { /* figurine; otherwise spell */
+ int mndx = otmp->corpsenm;
+ pm = &mons[mndx];
+ /* activating a figurine provides one way to exceed the
+ maximum number of the target critter created--unless
+ it has a special limit (erinys, Nazgul) */
+ if ((mvitals[mndx].mvflags & G_EXTINCT) &&
+ mbirth_limit(mndx) != MAXMONNO) {
+ if (!quietly)
+ /* have just been given "You <do something with>
+ the figurine and it transforms." message */
+ pline("... into a pile of dust.");
+ break; /* mtmp is null */
+ }
} else if (!rn2(3)) {
pm = &mons[pet_type()];
} else {