From: nethack.rankin Date: Sun, 2 Oct 2011 01:50:23 +0000 (+0000) Subject: eating tins while poly'd (trunk only) X-Git-Tag: MOVE2GIT~172 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1e65061989d42c3950f5e19b23ddc36bf83b6e12;p=nethack eating tins while poly'd (trunk only) While testing something, I noticed that I could eat a tin (off the floor) while polymorphed into a bat. The code to check whether the hero could open a tin was testing for limbs, so winged critters passed. Now it requires hands instead of limbs, and also that the current form be big enough to be capable of wielding something (even though you don't need to be wielding anything to open a tin). This means that a hero poly'd into a dog or cat will no longer be able to serve him-/herself dinner from a tin.... --- diff --git a/doc/fixes35.0 b/doc/fixes35.0 index ebd664bd8..533a2f253 100644 --- a/doc/fixes35.0 +++ b/doc/fixes35.0 @@ -381,6 +381,7 @@ give alternate message for " turns to flee" when mon can't move all statues in a cockatrice nest were for giant ant if 'record' was empty when dying outside all shops on a level with multiple shopkeepers and one takes hero's stuff, choose one who is owed money over first one on fmon list +hero poly'd into a critter without hands could still open tins Platform- and/or Interface-Specific Fixes diff --git a/src/eat.c b/src/eat.c index fde283f03..6d01bf4ca 100644 --- a/src/eat.c +++ b/src/eat.c @@ -1439,7 +1439,7 @@ start_tin(otmp) /* called when starting to open a tin */ if (metallivorous(youmonst.data)) { mesg = "You bite right into the metal tin..."; tmp = 0; - } else if (nolimbs(youmonst.data)) { + } else if (cantwield(youmonst.data)) { /* nohands || verysmall */ You("cannot handle the tin properly to open it."); return; } else if (otmp->blessed) {