You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If you fill the room up with them will Cthullu eventually lose his ablity to reform? Ndwolfwood 07:12, 15 June 2011 (UTC)
To answer your questions: [...]
Filling the level up with acid blobs: It crashes the game, although closing and reloading, he was no longer present. Probably not a good idea, since I don't know if that'll work every time. -Ion frigate 14:03, 15 June 2011 (UTC)
I looked into this, and found that if you kill Cthulhu and fill the level so he has nowhere to resurrect, the game will enter an infinite loop and will not respond to any player input.
The problem is actually two problems:
revive_cthulhu() in region.c calls enexto() to find a good spot to place Cthulhu, even though that should be done by makemon() when it's called.
If the above enexto() fails, revive_cthulhu() tells makemon() to place Cthulhu randomly, triggering an infinite loop within the latter when it tries to find a good random location, which it never will on an enemy-filled level.
What should happen is that makemon() should give up after not finding a good spot to make a monster (maybe after an enexto() to ensure no hard-to-find empty space is skipped), and revive_cthulhu() should leave positioning up to makemon().
The text was updated successfully, but these errors were encountered:
From http://nethackwiki.com/wiki/Talk:Cthulhu
I looked into this, and found that if you kill Cthulhu and fill the level so he has nowhere to resurrect, the game will enter an infinite loop and will not respond to any player input.
The problem is actually two problems:
revive_cthulhu()
in region.c callsenexto()
to find a good spot to place Cthulhu, even though that should be done bymakemon()
when it's called.enexto()
fails,revive_cthulhu()
tellsmakemon()
to place Cthulhu randomly, triggering an infinite loop within the latter when it tries to find a good random location, which it never will on an enemy-filled level.What should happen is that
makemon()
should give up after not finding a good spot to make a monster (maybe after anenexto()
to ensure no hard-to-find empty space is skipped), andrevive_cthulhu()
should leave positioning up tomakemon()
.The text was updated successfully, but these errors were encountered: