I'd like to see more discussion of how the gaze attacks work. How often does a monster try to use its gaze attack? Does reflection block the gaze attack? (It does for floating eyes and I believe it does for Medusa; I don't think it does for any other vanilla monsters.) Is Medusa's gaze attack unlike the other gaze attacks in any other ways? All gaze attacks other than the floating eyes work any time you can see the monster, right? Which gaze attacks can be reflected by mirrors?
I also have some questions about the Beholder's gaze attacks -- the Neutral Quest page says that the Beholder's gaze can be reflected with a mirror, but that this will stone the Beholder. Isn't it a death gaze rather than a petrification gaze? -- Slandor 23:42, June 4, 2010 (UTC)
- I'm not going to try to incorporate any of this into the article. I don't consider my knowledge of the attacks to be complete enough. I'll just try to muck up some facts and dump them here. I'm looking through SLASH'EM's source for this, in case any of the line numbers don't match up
- I believe gaze attacks are done whenever a monster would move. I've seen them gaze and move at the same time, as well. I've seen SLASH'EM monsters use gaze attacks whenever they attack, and same when you attack when polymorphed, but this doesn't seem to be the case for nethack, or at least nethack monsters (e.g. Umber hulk doesn't auto confuse). Medusa is also a special case; quoting a comment: Medusa gaze already operated through m_respond in dochug();. This is apparently why it's not really possible to tame medusa, as I found out.
- A mirror will freeze a floating eye, confuse an umber hulk (I'm not seeing anything for a water hulk, although I could be misreading it), and stone medusa. This isn't actually based on the gaze attack, but rather hard coded into how a mirror works. See apply.c#736. I see nothing about doing anything to the beholder, and I've never tried it myself (I always blind myself first as well)
- The effects of gaze attacks are done in mhitu, uhitm, and mhitm. 'm' means monsters, 'u' means you. The code is more or less the same in all 3 cases. Look in gazemu (mhitu at least) for effects. Reflection only matters if the code explicitly checks for it; pyrolisks do not while medusa does, for example.
- Chances of failure, chance that you will be missed due to invisibility or displacement, etc are handled specifically by the attack type. Pyrolisk's fire attack has no special check for invisibility or displacement, for example.
- Polymorphing into any monster with a gaze attack will allow you to use it. They cost 20 energy in SLASH'EM and 15 in Nethack. They will obviously fail if you are blind. SLASH'EM seems to allow you to select a specific square to gaze at, while Nethack tries to pick a monster to gaze at automatically. Targetting Medusa with this attack is fatal; targetting a floating eye (only in nethack?) causes paralysis. See polyself.c#dogaze