Polyself bug

From NetHackWiki
Revision as of 22:25, 22 September 2006 by Seen (talk | contribs) (Can't infinitely continue increasing hp/pw, there's a limit.)
Jump to navigation Jump to search

The polyself bug is a fairly serious flaw in the handling of a self-polymorph by an experience level 1 character. It is listed as SC343-10:

SC343-10: Player can raise HP and Pw by dancing with vampires.

In order to exploit this bug, a player would need to drain life themselves to reach XL 1, whether by the spell or by the attack of e.g. a vampire or wraith (alluded to in the official description of the bug).

Once this is done, the act of self-polymorph has a chance of adjusting one's experience level. If it is set to higher than 1 when the player's starting level was 1, their hit points and power are approximately doubled, which is not offset by the act of draining this level; therefore by repeatedly polymorphing oneself and draining one's level back down to 1 afterwards hit points and power can be increased to the limit of an unsigned 32 bit integer.

The act of self-polymorph also has a chance of killing the player if their level drops below 1; therefore one would need a significant amount of amulets of life saving in order to obtain any significant amount of successful self-polymorphs. This is not trivial, and pudding farming is often used to acquire the necessary quantity.