Difference between revisions of "Polyself bug"

From NetHackWiki
Jump to navigation Jump to search
(The bug is fixed in Slash'EM Extended.)
m
Line 1: Line 1:
The '''polyself bug''' is a fairly serious flaw in the handling of a self-[[polymorph]] in case the [[hero|character]] [[Polymorph#Polymorphing_into_your_own_race|polymorphs into thir own race]] ("You feel like a new <race>!").  It is [[Bugs in NetHack 3.4.3#SC343-10|listed]] as SC343-10:
+
The '''polyself bug''' is a fairly serious flaw in the handling of self-[[polymorph]] in the case where the [[hero|character]] [[Polymorph#Polymorphing_into_your_own_race|polymorphs into their own race]] ("You feel like a new <race>!").  It is [[Bugs in NetHack 3.4.3#SC343-10|listed]] as SC343-10:
  
 
  SC343-10: Player can raise HP and Pw by dancing with vampires.
 
  SC343-10: Player can raise HP and Pw by dancing with vampires.
Line 5: Line 5:
 
To exploit this bug, a player would need to [[Experience_level#Losing_levels|level drain]] themselves to reach experience level one (whether by the [[spellbook of drain life|spell]], by throwing a level-draining weapon upwards, by the attack of a level-draining monster, such as a [[wraith]] or [[vampire]], as alluded to in the official description of the bug, by [[pray]]ing repeatedly, or by using any other method) with max [[Hit points|HP]] and max [[Energy|Pw]] somewhat higher than normal (by using [[drain for gain]] strategy, or just drinking enough non-[[cursed]] potions of [[Potion of healing|healing]]/[[Potion of extra healing|extra healing]]/[[Potion of full healing|full healing]] and [[Potion of gain energy|gain energy]]).
 
To exploit this bug, a player would need to [[Experience_level#Losing_levels|level drain]] themselves to reach experience level one (whether by the [[spellbook of drain life|spell]], by throwing a level-draining weapon upwards, by the attack of a level-draining monster, such as a [[wraith]] or [[vampire]], as alluded to in the official description of the bug, by [[pray]]ing repeatedly, or by using any other method) with max [[Hit points|HP]] and max [[Energy|Pw]] somewhat higher than normal (by using [[drain for gain]] strategy, or just drinking enough non-[[cursed]] potions of [[Potion of healing|healing]]/[[Potion of extra healing|extra healing]]/[[Potion of full healing|full healing]] and [[Potion of gain energy|gain energy]]).
  
Once this is done, the act of self-polymorph has a chance of adjusting a player's experience level. If self-polymorph increases the player's level to 2 or 3 from 1, his hit points and power are approximately doubled or tripled respectively{{refsrc|polyself.c|161}}, which is not fully offset by the act of draining this level. Therefore, by repeatedly polymorphing into own race and draining level back to one, a player's hit points and power can be increased to the limit of (usually) a 32-bit [[signed integer]].
+
Once this is done, the act of self-polymorph has a chance of adjusting a player's experience level. If self-polymorph increases the player's level to 2 or 3 from 1, his hit points are approximately doubled and power approximately tripled,{{refsrc|polyself.c|161}} which is not fully offset by the act of draining this level. Therefore, by repeatedly polymorphing into their own race and draining level back to one, a player's hit points and power can be increased to the limit of (usually) a 32-bit [[signed integer]].
  
 
The act of self-polymorph also has a high chance of killing the player if his level drops below 1; therefore several [[amulet of life saving|amulets of life saving]] are required. [[Pudding farming]] is often used to acquire a healthy quantity.
 
The act of self-polymorph also has a high chance of killing the player if his level drops below 1; therefore several [[amulet of life saving|amulets of life saving]] are required. [[Pudding farming]] is often used to acquire a healthy quantity.

Revision as of 13:32, 29 December 2016

The polyself bug is a fairly serious flaw in the handling of self-polymorph in the case where the character polymorphs into their own race ("You feel like a new <race>!"). It is listed as SC343-10:

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

To exploit this bug, a player would need to level drain themselves to reach experience level one (whether by the spell, by throwing a level-draining weapon upwards, by the attack of a level-draining monster, such as a wraith or vampire, as alluded to in the official description of the bug, by praying repeatedly, or by using any other method) with max HP and max Pw somewhat higher than normal (by using drain for gain strategy, or just drinking enough non-cursed potions of healing/extra healing/full healing and gain energy).

Once this is done, the act of self-polymorph has a chance of adjusting a player's experience level. If self-polymorph increases the player's level to 2 or 3 from 1, his hit points are approximately doubled and power approximately tripled,[1] which is not fully offset by the act of draining this level. Therefore, by repeatedly polymorphing into their own race and draining level back to one, a player's hit points and power can be increased to the limit of (usually) a 32-bit signed integer.

The act of self-polymorph also has a high chance of killing the player if his level drops below 1; therefore several amulets of life saving are required. Pudding farming is often used to acquire a healthy quantity.

Variants

In the Slash'EM Extended variant, the bug has been fixed by removing the code that doubles/triples the player's HP/Pw; if the player's level is increased, their HP and Pw are incremented by a random single-digit value instead.

References

This page may need to be updated for the current version of NetHack.

It may contain text specific to NetHack 3.4.3. Information on this page may be out of date.

Editors: After reviewing this page and making necessary edits, please change the {{nethack-343}} tag to the current version's tag or {{noversion}} as appropriate.