Difference between revisions of "Polyself bug"

From NetHackWiki
Jump to navigation Jump to search
(Undo revision 41751 by RegalStar (talk))
(rw)
 
(11 intermediate revisions by 8 users not shown)
Line 1: Line 1:
The '''polyself bug''' is a fairly serious flaw in the handling of a self-[[polymorph]] by an [[experience level]] one [[hero|character]]. It is [[Bugs in NetHack 3.4.3|listed]] as SC343-10:
+
The '''polyself bug''' was 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.
  
In order to exploit this bug, a player would need to [[Experience_level#Losing_levels|drain life]] 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 of level loss.
+
To exploit this bug, a player would need to boost their [[hit point]] and [[energy]] maximums through any applicable method, e.g. [[drain for gain]] or simply drinking enough non-[[cursed]] potions of {{potion of|healing|extra healing|full healing}}, and/or {{potion of|gain energy}}. The player then [[level drain]]s themselves to reach experience level one - methods to level drain yourself include the {{spell of|drain life}} spell, hitting yourself with [[Stormbringer]] or [[The Staff of Aesculapius]], or the attack of a level-draining monster, e.g. any [[Wraith (monster class)|wraith]] or [[Vampire (monster class)|vampire]], as alluded to in the official description of the bug.
  
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, his hit points and power are approximately doubled or tripled<ref>[[polyself.c#line161]]</ref>, which is not offset by the act of draining this level. Therefore, by repeatedly polymorphing 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 [[polyself]] into your own race has a chance of adjusting your experience level. A polyself into your own race at level one is highly likely to kill you from dropping it to 0, but can also increase it to 2 or 3 - increasing your level by polyself will approximately double your hit points and triple your power, and draining your level back to one does not fully offset this.{{refsrc|polyself.c|161}}
  
The act of self-polymorph also has a chance of killing the player if his level drops to zero; therefore, in order to obtain a significant amount of [[HP]] and [[power]], a handful of [[amulet of life saving|amulets of life saving]] is recommended. [[Pudding farming]] is often used to acquire a healthy quantity.
+
This means that, with several [[amulet of life saving|amulets of life saving]], repeatedly polymorphing into your own race and draining level back to one can significantly increase your hit points and power, usually to the cap of a 32-bit [[signed integer]]. [[Pudding farming]] is often used to acquire a healthy quantity of amulets for this purpose.
  
== Source code references ==
+
This bug was fixed in [[Nethack 3.6.0]].
 +
 
 +
==References==
 
<references/>
 
<references/>
 
+
{{noversion}}
 
[[Category:Bugs]]
 
[[Category:Bugs]]
{{nethack-343}}
 

Latest revision as of 21:48, 23 August 2022

The polyself bug was 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 boost their hit point and energy maximums through any applicable method, e.g. drain for gain or simply drinking enough non-cursed potions of healing, extra healing, full healing, and/or gain energy. The player then level drains themselves to reach experience level one - methods to level drain yourself include the drain life spell, hitting yourself with Stormbringer or The Staff of Aesculapius, or the attack of a level-draining monster, e.g. any wraith or vampire, as alluded to in the official description of the bug.

Once this is done, the act of polyself into your own race has a chance of adjusting your experience level. A polyself into your own race at level one is highly likely to kill you from dropping it to 0, but can also increase it to 2 or 3 - increasing your level by polyself will approximately double your hit points and triple your power, and draining your level back to one does not fully offset this.[1]

This means that, with several amulets of life saving, repeatedly polymorphing into your own race and draining level back to one can significantly increase your hit points and power, usually to the cap of a 32-bit signed integer. Pudding farming is often used to acquire a healthy quantity of amulets for this purpose.

This bug was fixed in Nethack 3.6.0.

References