From NetHackWiki
Jump to navigation Jump to search

A xan can't fly, can it? It's always attacking your boots. Guess I'll have to check this one out. —The preceding unsigned comment was added by (talkcontribs) 2008-01-09T11:38:22.

You'll also have to learn to sign your posts. ~ Midna 18:31, June 10, 2010 (UTC)

SLASH'EM flight?

Is flight in SLASH'EM different from NetHack flight, or is this article simply incomplete? While flying (either via the amulet or being polymorphed into a flying monster), you don't seem to be capable of doing certain things, such as sacrificing corpses that are on the ground on top of an altar—in this case, because "You cannot reach the floor to sacrifice while flying." ~ Midna 18:31, June 10, 2010 (UTC)

turn it off! turn it off!

polytrapped into a black dragon (grey and silver scales don't always drop) and now flying. can't pick anything up or go downstairs. any tips on getting down to the ground? since i'm on the barbarian nemesis level, do i have to wish for a sink? perhaps this info should be on the dragon page and this page too. -- 10:57, 19 January 2011 (UTC)

Polymorphing into a black dragon will not prevent you from picking up items or flying downstairs. It sounds like you are levitating from some other source. Did you pick up the heart of ahriman and invoke it? Also, it's not possible to wish for a sink unless you are playing in wizard mode. -- Qazmlpok 13:00, 19 January 2011 (UTC)
d'oh! many thanks. -- 13:54, 19 January 2011 (UTC)

Floating vs. Flying

So I redirected floating to here, since I thought it was equivalent to flying; the last section here says it isn't quite. Where is it different? And even if it is (which I can believe), I still think it belongs here, since floating isn't a separate monster flag, and is probably equivalent to flight in most cases. -Ion frigate (talk) 00:14, 2 September 2012 (UTC)

I don't know how much difference (if any) there is either. Here's what made me create the seperate page for floating though:
#define is_flyer(ptr)		(((ptr)->mflags1 & M1_FLY) != 0L)
#define is_floater(ptr)		((ptr)->mlet == S_EYE)
mondata.h, line 27
The code has separate predicates for flyers and floaters. If there's no gameplay distinction it's probably not worth noting this on the page, but I'll leave this on the talk page for source divers.
Maybe the thing to do is grep the code and see if is_flyer/M1_FLY and is_floater/S_EYE are treated the same in every case. I'll probably do this tomorrow unless someone beats me to it, but I should get some non-Nethack related work done tonight XD.
Incidentally, if by "levitating" this page means things like floating eyes, then it should probably say "floating", since that better matches the code.
Blackcustard (talk) 00:22, 2 September 2012 (UTC)
What a mess. Anyway there seems to be no real difference. Flyers have M1_FLY, floaters have the "e" symbol. All floaters are flyers. Internally, there are special cases for flyers that don't apply to non-flying floaters, and also special cases for floaters than don't apply to non-floating flyers. There are no instances of the first in vanilla. There are instances of the second, but the special cases seem irrelevant. An example: based on my reading of use_defensive, floating monsters can't use down stairs. Mind flayers are non-mindless non-animal flyers, and can go downstairs. Floating eyes are non-mindless non-animal floaters and can NOT go downstairs.
And indeed, "levitating" appears to be applied only to the player through the Levitation global. So that word probably needs to be corrected when applied to monsters.
Blackcustard (talk) 20:49, 17 September 2012 (UTC)