From: daly@ecs.umass.edu (Bryon Daly, ECE dept, UMass, Amherst)
Newsgroups: rec.games.hack
Subject: Re: Poison resistance
Date: 5 Nov 92 22:54:50 GMT

In article <1992Nov5.195413.24374@bmers95.bnr.ca>, snelling@bnr.ca (Peter Snelling) writes:
> In article <30OCT199210524612@rosie.uh.edu>, elee8zr@rosie.uh.edu (Rit, Vincent) writes:
>>What is the best way to acquire poison resistance?(amulets vs poison
>>are not very common...are there any corpses giving the intrinsict WITHOUT
>>being poisoned ?)
>>
>>Vincent. 
> 
> I enjoy browsing through the code to find out how things work.  I find
> nethack interesting even when I know exactly how it works (and, of
> course, the code is so cryptic, I never will know exactly).
> 
> Anyways, for those of you who want to try eating various corpses to
> see what intrinsics you get, don't read this, it'll just spoil your fun.
> 
> <SPOILERS>
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> Here are the chances of getting intrisic poison resistance from all
> non-poisonous monsters.  The chance is (monster leve)/15 * (chance of
> not getting another intrisic instead).  Surprisingly, these chances 
> don't depend on what intrinsics you currently have.

Yeah, the game just goes down the list of intrinsics in the following order:
(according to the NH spoiler file-I've changed their order in my own source...)
Intrinsic        Fractional Probability
---------        ----------------------
Teleport       - monster level / 10
Tel. Cont.     - monster level / 15
Fire Res       - monster level / 15
Cold Res       - monster level / 15
Disin Res      - monster level / 15
Pois Res       - monster level / 15 (killer bee and scorpion are 1/4)
Shock Res      - monster level / 15
Sleep Res      - monster level / 15 (undead cannot confer this)

And for each, it checks if the monster offers that intrinsic, then it
randomly decides whether to give it according to the above probability.
If not, it goes down the list.  If it does decide to give that intrinsic,
it then checks to see if you already have it, and gives it to you if you don't.
Either way, though, it exits the loop without checking for other intrinsics.

> 
> The following are also not poisonous, and have poison resistance, but
> for one reason or another, probably aren't worth eating to get poison
> resistance.
> 
> 5  cockatrice (stoning)
> 11 nurse (human)

nurses also restore you to full hp's if you eat them.  They can be useful
if you are an elf (no cannibalism then), or if you don't care/already have
the aggravate monsters intrinsic.

> 30 Wizard of Yendor (only gives intrisic teleportation, human)

Why do you say that it only gives intrinsic telep?  I don't see anything in 
the eat.c code to verify this, and I know I've received intrinsic telep.
control from him, also.  I think you should be able to get any of the
intrinsics he has to offer (tport, tport control, fire res, poison res)
I think he is useful to eat especially in the case of teleport control,
which is a hard intrinsic to get since so few monsters offer it.  If you
unluckily manage to get down to him without getting tport control from a
tengu, he's your best bet, since he's 30th level, and will automatically
guarantee getting the rare intrinsic (and also aggravate monster, if you're 
human).

> 1  barbarian (human)
> 1  healer (human)
> 6  wraith (cannot convey intrinsics)

The strategy I've found that works well with respect to poison and poison res
is to play it extremely safe on the early levels and don't touch any food
that's poisonous, while eating all the cave spiders and such that I can...
Once I get to the 4th or 5th level, I start looking for a unicorn to get a
horn from (and eat, too).  Once you get a unicorn horn, the attribute loss
isn't so frightening, since you can regain the lost points by #applying the
horn a bunch of times.  This gives you a little more leeway in what you can
eat, so you don't need to be quite so careful all the time.

-Bryon