Difference between revisions of "Yeenoghu"

From NetHackWiki
Jump to navigation Jump to search
(that information is already available in Demon#Demons_summoning_demons; there are many more fine pages here for players who melee water demons frequently enough to encounter Yeenoghu multiple times, but still haven't learned to stop doing that)
m (mention mm attack)
 
(25 intermediate revisions by 14 users not shown)
Line 5: Line 5:
 
  |experience=1073
 
  |experience=1073
 
  |speed=18
 
  |speed=18
  |AC=-5
+
  |AC=−5
 
  |MR=80
 
  |MR=80
  |align=-15
+
  |align=−15
 
  |frequency=Unique
 
  |frequency=Unique
 
  |genocidable=No
 
  |genocidable=No
Line 19: Line 19:
 
  |reference=[[monst.c#line2674]]
 
  |reference=[[monst.c#line2674]]
 
}}
 
}}
 +
'''Yeenoghu''', {{monsym|yeenoghu}}, is a [[monster]] that appears in [[NetHack]]. He is one of the [[demon lord]]s.
  
'''Yeenoghu''', {{monsym|yeenoghu}}, is a [[monster]] in [[NetHack]], specifically, one of the [[demon lord]]s. He can deal out tremendous physical damage if you lack [[free action]] and [[MC3]], and he can zap you with magic missiles, like [[Angel]]s do, but is not generally regarded a problem if [[you]] are prepared for him. He [[monster starting inventory|is generated with]] a [[flail]]. Yeenoghu respects [[Elbereth]].
+
==Generation==
 +
Yeenoghu [[monster starting inventory|is always generated with]] a [[flail]].  
  
Yeenoghu, together with [[Juiblex]], is one of the two demon lords that can be summoned with own-race [[sacrifice]]. If the player is [[lawful]] or [[neutral]] when performing this type of sacrifice, the demon princes will be hostile when summoned, and peaceful if [[chaotic]].
+
Yeenoghu is one of the two named demons that can be summoned with same-race [[sacrifice]]. If the player is [[lawful]] or [[neutral]] when performing this type of sacrifice, Yeenoghu will be hostile when summoned; if the player is [[chaotic]], they will be peaceful. There is also a {{frac|260}} chance that a [[water demon]] may [[gate]] in Yeenoghu or [[Juiblex]].
  
== Combat ==
+
==Strategy==
As with other Demon Princes (and [[quest nemeses]]), Yeenoghu will teleport next to you to deliver melee attacks and fire magic missiles. When at low health, he will teleport to the upstair tile to regenerate, and if approached too closely, will escape up them. As he respects [[Elbereth]], an active Elbereth on the upstair will prevent this behavior, allowing you to dispatch him without having to give chase. Note that Yeenoghu's confusing gaze will complicate your attempts to engrave, so if possible this should be prepared before engaging him. In the event that he does escape upstairs, simply follow him up, wait on the downstair tile for him to teleport back to you after regenerating, then promptly go back down the stairs; he will [[follow]] you down, but you will now occupy the upstair tile, blocking his way.
+
Yeenoghu can deal out tremendous physical damage if you lack [[free action]] and [[MC3]]; his melee attacks can also gate in other [[major demon]]s, and he can zap you with [[magic missile]]s as well, meaning he is immune to them and [[wand of death|death rays]] on top of his high [[monster magic resistance]]. However, Yeenoghu is not generally a problem if you are prepared for him.
  
As Yeenoghu is [[covetous]], attempting to [[Charm_monster|charm]] Yeenoghu through the spell or a [[scroll of taming]] can only make him peaceful, [[Magic_resistance_(monster)|provided it even succeeds]].
+
Like other demon princes, Yeenoghu is [[covetous]] and will teleport next to you to deliver melee attacks and fire magic missiles. When at low health, he will teleport to the upstair tile to regenerate, and will escape up them if approached too closely; the usual strategies for covetous monsters apply, including obstructing the upstair or else luring him to a floor with a blocked upstair. As he is able to summon [[Demogorgon]] directly, dispatching him quickly is advised.
  
== History ==
+
Yeenoghu respects [[Elbereth]]; however, Elbereth does not work in [[Gehennom]], where Yeenoghu is most likely to be encountered. Even if you encounter him outside Gehennom (e.g. via water demon or a non-Gehennom [[bones]]), you may be better off escaping and avoiding the floor entirely if somehow possible unless your character is sufficiently prepared. If you can take the fight to him, then remember that you cannot attack him while on an Elbereth, either; on top of this, Yeenoghu's confusing gaze will complicate your attempts to engrave, and his tendency to teleport after you at the first opportunity usually means you will have to lure him to a pre-engraved Elbereth elsewhere.
  
 +
==History==
 
Yeenoghu first appears in [[NetHack 3.0.0]].
 
Yeenoghu first appears in [[NetHack 3.0.0]].
  
{{Wikipedia|Yeenoghu}}
+
==="A ludicrous bug"===
 
 
=== "A ludicrous bug" ===
 
 
 
 
Yeenoghu is the subject of one of the longest-running bugs in NetHack history. In [[NetHack 3.1.0]], the [[Riders]] were introduced. The code that handles their special attacks comes right after that which handles Yeenoghu's [[confusion]] attack.{{refsrc|mhitu.c|1474}} Early versions had this code inserted carelessly; consequently, after Yeenoghu used his confusion attack, execution would proceed into the section that handles [[Death (monster)|Death]]'s touch:{{refsrc|mhitu.c|1485}}
 
Yeenoghu is the subject of one of the longest-running bugs in NetHack history. In [[NetHack 3.1.0]], the [[Riders]] were introduced. The code that handles their special attacks comes right after that which handles Yeenoghu's [[confusion]] attack.{{refsrc|mhitu.c|1474}} Early versions had this code inserted carelessly; consequently, after Yeenoghu used his confusion attack, execution would proceed into the section that handles [[Death (monster)|Death]]'s touch:{{refsrc|mhitu.c|1485}}
  
Line 46: Line 46:
 
<syntaxhighlight lang="c">/* fall through to next case */</syntaxhighlight>
 
<syntaxhighlight lang="c">/* fall through to next case */</syntaxhighlight>
  
and contemporary source-divers thought from this that the behavior was deliberate. Thus for many years the bug was never reported.
+
Contemporary source-divers thought from this that the behavior was deliberate; thus, for many years the bug was never reported.
  
[[Pat Rankin]] of the [[DevTeam]] was made aware of this property in a [[rec.games.roguelike.nethack]] discussion, and called it "a ludicrous bug".<ref>[http://groups.google.com/group/rec.games.roguelike.nethack/browse_thread/thread/ae8d21ca5c42d00a/128792c7be721eb9?lnk=st&q=&rnum=2#128792c7be721eb9 Pat Rankin, "Re: YASQ: Yeenoghu". rec.games.roguelike.nethack, April 9, 2001.]</ref> The then-current version was [[NetHack 3.3.1]]. In NetHack 3.4.0, Yeenoghu's illicit deadly touch was taken away.
+
[[Pat Rankin]] of the [[DevTeam]] was made aware of this property in a [[rec.games.roguelike.nethack]] discussion, and called it "a ludicrous bug";<ref>[http://groups.google.com/group/rec.games.roguelike.nethack/browse_thread/thread/ae8d21ca5c42d00a/128792c7be721eb9?lnk=st&q=&rnum=2#128792c7be721eb9 Pat Rankin, "Re: YASQ: Yeenoghu". rec.games.roguelike.nethack, April 9, 2001.]</ref> the then-current version was [[NetHack 3.3.1]], and the illicit death touch bug was finally fixed in time for [[NetHack 3.4.0]].
  
 
[[Umber hulk]]s were not affected, because their confusion attack is handled in a different part of the code.{{refsrc|mhitu.c|1948}}
 
[[Umber hulk]]s were not affected, because their confusion attack is handled in a different part of the code.{{refsrc|mhitu.c|1948}}
Line 111: Line 111:
 
The "dmg = 0;" and "break;" lines duplicate the ones in the default section, and Yeenoghu is restored to his pre-[[NetHack 3.1.0|3.1.0]] behavior.
 
The "dmg = 0;" and "break;" lines duplicate the ones in the default section, and Yeenoghu is restored to his pre-[[NetHack 3.1.0|3.1.0]] behavior.
  
== Variants ==
+
==Origin==
In [[Slash'EM Extended]], in honour of the "ludicrous bug", Yeenoghu gets the extra ability to zap the player with [[finger of death]]. Unlike the touch of death, however, reflection can save the player here.
+
{{Wikipedia|Yeenoghu}}
 +
Yeenoghu is a character from the  setting of ''[[Dungeons & Dragons]]'', where he is the demon lord of [[gnoll]]s, which resemble anthropomorphic hyenas. He wields a triple-headed flail.
  
==Origin==
+
==Variants==
He is drawn from [[Dungeons and Dragons]]. He is the demon lord of [[gnoll]]s and he looks like a gnoll, that resemble anthropomorphic hyenas. He is supposed to wield a triple [[flail]].
+
===UnNetHack===
 +
In [[UnNetHack]], Yeenoghu no longer respects Elbereth.
 +
 
 +
===EvilHack===
 +
In [[EvilHack]], Yeenoghu now generates with an [[artifact]] [[triple-headed flail]] called [[Butcher]], and his magic missile attack is buffed from 2d6 to 6d6.<nowiki></nowiki>
  
 
== Encyclopedia entry ==
 
== Encyclopedia entry ==
  
 
{{encyclopedia|
 
{{encyclopedia|
Yeenoghu, the demon lord of gnolls, still exists although
+
Yeenoghu, the demon lord of gnolls, still exists although all his followers have been wiped off the face of the earth. He casts magic projectiles at those close to him, and a mere gaze into his piercing eyes may hopelessly confuse the battle-weary adventurer.
all his followers have been wiped off the face of the earth.
 
He casts magic projectiles at those close to him, and a mere
 
gaze into his piercing eyes may hopelessly confuse the
 
battle-weary adventurer.
 
 
}}
 
}}
  
== References ==
+
==References==
 
<references/>
 
<references/>
{{nethack-343}}
+
{{nethack-366}}
 
[[Category:Unique monsters]]
 
[[Category:Unique monsters]]

Latest revision as of 21:02, 22 September 2023

Yeenoghu, &, is a monster that appears in NetHack. He is one of the demon lords.

Generation

Yeenoghu is always generated with a flail.

Yeenoghu is one of the two named demons that can be summoned with same-race sacrifice. If the player is lawful or neutral when performing this type of sacrifice, Yeenoghu will be hostile when summoned; if the player is chaotic, they will be peaceful. There is also a 1260 chance that a water demon may gate in Yeenoghu or Juiblex.

Strategy

Yeenoghu can deal out tremendous physical damage if you lack free action and MC3; his melee attacks can also gate in other major demons, and he can zap you with magic missiles as well, meaning he is immune to them and death rays on top of his high monster magic resistance. However, Yeenoghu is not generally a problem if you are prepared for him.

Like other demon princes, Yeenoghu is covetous and will teleport next to you to deliver melee attacks and fire magic missiles. When at low health, he will teleport to the upstair tile to regenerate, and will escape up them if approached too closely; the usual strategies for covetous monsters apply, including obstructing the upstair or else luring him to a floor with a blocked upstair. As he is able to summon Demogorgon directly, dispatching him quickly is advised.

Yeenoghu respects Elbereth; however, Elbereth does not work in Gehennom, where Yeenoghu is most likely to be encountered. Even if you encounter him outside Gehennom (e.g. via water demon or a non-Gehennom bones), you may be better off escaping and avoiding the floor entirely if somehow possible unless your character is sufficiently prepared. If you can take the fight to him, then remember that you cannot attack him while on an Elbereth, either; on top of this, Yeenoghu's confusing gaze will complicate your attempts to engrave, and his tendency to teleport after you at the first opportunity usually means you will have to lure him to a pre-engraved Elbereth elsewhere.

History

Yeenoghu first appears in NetHack 3.0.0.

"A ludicrous bug"

Yeenoghu is the subject of one of the longest-running bugs in NetHack history. In NetHack 3.1.0, the Riders were introduced. The code that handles their special attacks comes right after that which handles Yeenoghu's confusion attack.[1] Early versions had this code inserted carelessly; consequently, after Yeenoghu used his confusion attack, execution would proceed into the section that handles Death's touch:[2]

Yeenoghu reaches out with its deadly touch.--More--
Do you want your possessions identified? [yn]

A comment at the end of Yeenoghu's section read:

/* fall through to next case */

Contemporary source-divers thought from this that the behavior was deliberate; thus, for many years the bug was never reported.

Pat Rankin of the DevTeam was made aware of this property in a rec.games.roguelike.nethack discussion, and called it "a ludicrous bug";[3] the then-current version was NetHack 3.3.1, and the illicit death touch bug was finally fixed in time for NetHack 3.4.0.

Umber hulks were not affected, because their confusion attack is handled in a different part of the code.[4]

These source excerpts might make clear the origin of the bug. Here is src/mhitu.c lines 999-1012 from NetHack 3.0.0, which was before the Riders existed:

#ifdef HARD /* a non-gaze AD_CONF exists only for one of the demons */
            case AD_CONF:
                hitmsg(mtmp,mattk->aatyp);
                if(!mtmp->mcan && !rn2(4) && !mtmp->mspec_used) {
                    mtmp->mspec_used += (dmg + rn2(6));
                    if(Confusion)
                         You("are getting even more confused.");
                    else You("are getting confused.");
                    make_confused(HConfusion + dmg, FALSE);
                }
#endif
                /* fall through to next case */
            default:    dmg = 0;
                        break;

Here is a partial quote of src/mhitu.c lines 1214-1258 from NetHack 3.1.0, the first version to implement the Riders:

            case AD_CONF:
                hitmsg(mtmp, mattk);
                if(!mtmp->mcan && !rn2(4) && !mtmp->mspec_used) {
                    mtmp->mspec_used = mtmp->mspec_used + (dmg + rn2(6));
                    if(Confusion)
                         You("are getting even more confused.");
                    else You("are getting confused.");
                    make_confused(HConfusion + dmg, FALSE);
                }
                /* fall through to next case */
            case AD_DETH:
                pline("%s reaches out with its deadly touch.", Monnam(mtmp));
                [... the rest of the Rider code ...]
            default:    dmg = 0;
                        break;

The Rider code was carelessly placed between the AD_CONF section, which handles Yeenoghu's confusion attack, and the default section, where it was supposed to finish. Thus execution improperly proceeded into Death's touch attack.

The bug was written up as bug C331-96[5] and was fixed in NetHack 3.4.0. Here is src/mhitu.c lines 1474-1486 from NetHack 3.4.3:

            case AD_CONF:
                hitmsg(mtmp, mattk);
                if(!mtmp->mcan && !rn2(4) && !mtmp->mspec_used) {
                    mtmp->mspec_used = mtmp->mspec_used + (dmg + rn2(6));
                    if(Confusion)
                         You("are getting even more confused.");
                    else You("are getting confused.");
                    make_confused(HConfusion + dmg, FALSE);
                }
                dmg = 0;
                break;
            case AD_DETH:
                pline("%s reaches out with its deadly touch.", Monnam(mtmp));
                [... the rest of the Rider code ...]

The "dmg = 0;" and "break;" lines duplicate the ones in the default section, and Yeenoghu is restored to his pre-3.1.0 behavior.

Origin

Yeenoghu is a character from the setting of Dungeons & Dragons, where he is the demon lord of gnolls, which resemble anthropomorphic hyenas. He wields a triple-headed flail.

Variants

UnNetHack

In UnNetHack, Yeenoghu no longer respects Elbereth.

EvilHack

In EvilHack, Yeenoghu now generates with an artifact triple-headed flail called Butcher, and his magic missile attack is buffed from 2d6 to 6d6.

Encyclopedia entry

Yeenoghu, the demon lord of gnolls, still exists although all his followers have been wiped off the face of the earth. He casts magic projectiles at those close to him, and a mere gaze into his piercing eyes may hopelessly confuse the battle-weary adventurer.

References