On May 15, 7:19 pm, jim in austin <
jimeik...@gmail.com> wrote:
> The nethack wiki seems to imply that neither
> martial arts nor bare hands receive any boost
> from gauntlets of power.
Perhaps it means a bonus over and above what
you'd naturally achieve at 18/**? That comparison
would make a lot of sense in the late game, which
is typically when people have a choice of different
flavors of magic gauntlets to choose from.
Straightforwardly, Gauntlets of Power give you high
strength. In the very early game, when you're playing
a role with low strength, such as...
> My current weenie tourist
... such as that, for instance, you can by wearing them
go from single-digit strength right up to 25. Anything
that benefits from high strength (or is penalized for
low strength) will ipso facto be improved.
So we can rephrase the question: Does bare-hands
melee do higher damage with higher strength?
> Perhaps some code maven can shed some light on
> this question...
The relevant code would presumably be in uhitm.c.
Specifically, I think the place to look is hmon_hitmon.
It's a fairly complex function, but...
[Disclaimer: I'm looking at patched NH4 source.]
get_dmg_bonus is initialized to TRUE; It's cleared
to FALSE when throwing certain things (mirrors if
they break, eggs, venom), but I don't see evidence
of its being cleared in the bare-hands case. If
I'm reading the code correctly, it'll be left true.
Later, if get_dmg_bonus is still true, and the
amount of damage you're doing is already
positive, then it's increased by u.udaminc.
Additionally, it's further increased by the
result of calling dbon() if you're not throwing
anything, or if you're not wielding a weapon,
or if the weapon you are wielding is not a
launcher for the object thrown -- ALL of
which conditions should be true in the
case of bare-hands combat, I think.
The dbon() function is defined in weapon.c
and does indeed rely heavily on the player's
strength stat. Very heavily.
Suppose, for instance, that your unfortunate
Tourist got a bad draw on strength in the
first place and then on top of that got poisoned
a time or two before getting resistance, so now
his natural strength is 5. Without the gauntlets,
dbon() is going to return -1. With the gauntlets,
dbon() will return I think 6, or at least 5.
That's my analysis. As noted, this is not based
on the 3.4.3 codebase, so you can double-check
there for differences, but if NH4 or any of the
patches I've got applied to it have altered this,
I'm not aware of it.