Very noob, but: why #ride?

Page 2 - Seeking answers? Join the Tom's Hardware community: where nearly two million members share solutions and discuss the latest tech.
Archived from groups: rec.games.roguelike.nethack (More info?)

On Fri, 26 Aug 2005 13:53:51 -0700, Kremti wrote:

> james wrote:

>> In article <1124983407.647581.42860@o13g2000cwo.googlegroups.com>,
>> Kremti <kremti@gmail.com> wrote:
>>
>> How is that a bug? Horsies can wear shields (slung around the neck,
>> trussed to belly), and they can wear amulets. Now, if you've got a
>> hoofed beast using tools or weilding weapons or some such, I'm all ears.

> Oh, horsies can wear shields? I didn't know. I might have to try that
> then. I think it's a bit dubious that RL horses can effectively use
> shields though 😛 Then again, NHINRL...

I think Kremti meant IRL you could conceivably strap a shield or two to
your horse. NHINRL, though, so horses get no armor. IRL, knights' horses
wore armor called barding, and horsemen have been hanging amulets on
horses' tack to ward off evil for as long as there have been horsemen. Oh
well. Maybe there'll be a barding patch someday.

--
- Mantar --- Drop YourPantiesSirWilliam to email me.
 
Archived from groups: rec.games.roguelike.nethack (More info?)

Andrew Kerr <andykerr@SPAMGUARD.blueyonder.co.uk> wrote:

> In article <4306581a.13685468@news.xs4all.nl>, Richard Bos says...
> > Possibly, but do note that you stand a chance of shattering your lance
> > if you do. You luck is supposed to play a part, but if I've done my
> > calculations correctly the difference is marginal, and you always stand
> > a chance of almost 1/250th of losing your weapon. Skill does not make a
> > difference[1]; luck only for tens of percents[2].

> Do cursed lances shatter?

No difference at all, AFAICT.

Richard
 
Archived from groups: rec.games.roguelike.nethack (More info?)

In article <4306581a.13685468@news.xs4all.nl>, Richard Bos says...
> Possibly, but do note that you stand a chance of shattering your lance
> if you do. You luck is supposed to play a part, but if I've done my
> calculations correctly the difference is marginal, and you always stand
> a chance of almost 1/250th of losing your weapon. Skill does not make a
> difference[1]; luck only for tens of percents[2].
> This may seem a small chance, but consider how often you hit a monster.
> You will kill thousands of creatures during a normal ascension -
> typically between 3000 and 4000, if YAAPs are anything to go by. And you
> will hit each monster at least once, quite a few more than once. You
> won't be hitting them all with your lance, of course, since you will use
> your long sword as well, and use attack spells.
> But let's say, somewhat randomly, that you hit with your lance 2000
> times. That means you'll go through 8 lances in the course of the game.
> You'll have to find those, and if at all possible enchant them up to
> +6/+7. Possible, but will you bother?
>
> Richard
>
> [1] It makes a difference for deciding whether you joust at all, but not
> for breaking your lance. More skilled players joust more often, but
> break their lances no less.
> [2] The maximum influence is 36/37th, for luck equal to 13.

I've found the bit in the code now. The key bit is uhitm.c line 1152:

if ((joust_dieroll = rn2(5)) < skill_rating) {
if (joust_dieroll == 0 && rnl(50) == (50-1) &&
!unsolid(mon->data) && !obj_resists(obj, 0, 100))
return -1; /* hit that breaks lance */
return 1; /* successful joust */

So the lance is only broken when successfully jousting. Therefore, expert
lancers lose lances more frequently - how annoying.

Consider: rnl(50) == (50-1)

rn1 is defined in rnd.c

41 /* 0 <= rnl(x) < x; sometimes subtracting Luck */

52 i = RND(x);

0 <= RND(x) < x

54 if (Luck && rn2(50 - Luck)) {

0 <= rn2(x) < x

55 i -= (x <= 15 && Luck >= -5 ? Luck/3 : Luck);
if (i < 0) i = 0;
else if (i >= x) i = x-1;
}

return i;

_If_ Luck >= 1 is subtracted (in line 55), then ( rn1(50) == (50-1) ) will
always be false.

The chance of Luck _not_ being subtracted is 1/(50-Luck). Even if it isn't
there's still another 1/50 chance of ( rn1(50) == (50-1) ).

Increasing Luck beyond 1 actually increases the chance of a lance breaking.
Bug?

So I conclude that when successfully Jousting with Luck >= 1 the
probability P of a lance breaking is

P (joust_dieroll == 0) = 1/5
AND
P ( rnl(50) == (50-1) ) = 1/(50-Luck) * 1/50

1/5 * ( 1/(50-Luck) * 1/50 ) = 1 / (12 500 - 250 * Luck) = really really
small.

1 / 12 250 <= P <= 1 / 9250
for
1 <= Luck <= 13

With Luck = 0, P = 1/250
With Luck < 0, P > 1/250

IIRC I've only ever had a lance break with Luck = 0.

(It's late, I woke up in the night, so my maths may be a bit iffy)
 
Archived from groups: rec.games.roguelike.nethack (More info?)

In article <SRTNe.545$X25.49481@monger.newsread.com>, Kevin Wayne says...
> More than likely, you'll get an artifact weapon by or before the Castle,
> and use that for the rest of the game. Jousting is mainly an early-game
> tactic.
>
80% chance of +d20 damage against any monster compares very favourably to
many artifacts. Excalibur is +d10, Snickersnee +d8 albeit with higher base
damage. AFAICS Ex compares best to Jousting when two weaponing as the
probability of successfully Jousting then reduces to 60% at most as Knights
cannot get higher than Skilled in two weapon. Average damage is then about
the same. OTOH some players may prefer a [SoReflect.

However my calculations suggest not Jousting until Luck is > 0.
 
Archived from groups: rec.games.roguelike.nethack (More info?)

In article <MPG.1d79e2b4f21030809896ba@news.blueyonder.co.uk>, Andrew Kerr
says...
> Consider: rnl(50) == (50-1)
>
> rn1 is defined in rnd.c
>
>
Typo - rnl not rn1

I blame fonts.
 
Archived from groups: rec.games.roguelike.nethack (More info?)

Andrew Kerr <andykerr@SPAMGUARD.blueyonder.co.uk> wrote:

> In article <4306581a.13685468@news.xs4all.nl>, Richard Bos says...
> > Possibly, but do note that you stand a chance of shattering your lance
> > if you do. You luck is supposed to play a part, but if I've done my
> > calculations correctly the difference is marginal, and you always stand
> > a chance of almost 1/250th of losing your weapon. Skill does not make a
> > difference[1]; luck only for tens of percents[2].
> > This may seem a small chance, but consider how often you hit a monster.
> > You will kill thousands of creatures during a normal ascension -
> > typically between 3000 and 4000, if YAAPs are anything to go by. And you
> > will hit each monster at least once, quite a few more than once. You
> > won't be hitting them all with your lance, of course, since you will use
> > your long sword as well, and use attack spells.
> > But let's say, somewhat randomly, that you hit with your lance 2000
> > times. That means you'll go through 8 lances in the course of the game.
> > You'll have to find those, and if at all possible enchant them up to
> > +6/+7. Possible, but will you bother?
> >
> > Richard
> >
> > [1] It makes a difference for deciding whether you joust at all, but not
> > for breaking your lance. More skilled players joust more often, but
> > break their lances no less.
> > [2] The maximum influence is 36/37th, for luck equal to 13.
>
> I've found the bit in the code now. The key bit is uhitm.c line 1152:
>
> if ((joust_dieroll = rn2(5)) < skill_rating) {
> if (joust_dieroll == 0 && rnl(50) == (50-1) &&
> !unsolid(mon->data) && !obj_resists(obj, 0, 100))
> return -1; /* hit that breaks lance */
> return 1; /* successful joust */
>
> So the lance is only broken when successfully jousting. Therefore, expert
> lancers lose lances more frequently - how annoying.

No, they don't. For experts, skill_rating is 4; for unskilled, it is 1.
joust_dieroll is a straight random 0-4. If that dieroll is 0, you
shatter your lance. Even for unskilled users, that is within the
possibilities; you joust if the dieroll is _smaller_ than your skill
level. Therefore:

unskilled | basic | skilled | expert
roll ----------+---------+---------+--------
0 shatter | shatter | shatter | shatter
1 normal | joust | joust | joust
2 normal | normal | joust | joust
3 normal | normal | normal | joust
4 normal | normal | normal | normal

Lancers at every skill level shatter their weapons 1/5th of the time
they hit a mobile monster in melee. The difference is that for unskilled
or restricted characters, this is all of the time when they joust (the
others being normal hits), whereas for experts, it's only 1/4 of their
jousts (but they joust 4 times as often).

> Consider: rnl(50) == (50-1)
>
> rn1 is defined in rnd.c
> 54 if (Luck && rn2(50 - Luck)) {
>
> _If_ Luck >= 1 is subtracted (in line 55), then ( rn1(50) == (50-1) ) will
> always be false.
>
> The chance of Luck _not_ being subtracted is 1/(50-Luck). Even if it isn't
> there's still another 1/50 chance of ( rn1(50) == (50-1) ).
>
> Increasing Luck beyond 1 actually increases the chance of a lance breaking.

Yes, I came to that conclusion, too, but the difference is small enough
that I wasn't willing to check my first calculations.

> Bug?

In this case, yes. In other cases where rn1() is used... I don't know.
Luck may have too great an influence on the game already.

Richard
 
Archived from groups: rec.games.roguelike.nethack (More info?)

Andrew Kerr wrote:

> In article <4306581a.13685468@news.xs4all.nl>, Richard Bos says...
>
>>Possibly, but do note that you stand a chance of shattering your lance
>>if you do. You luck is supposed to play a part, but if I've done my
>>calculations correctly the difference is marginal, and you always stand
>>a chance of almost 1/250th of losing your weapon. Skill does not make a
>>difference[1]; luck only for tens of percents[2].
>>This may seem a small chance, but consider how often you hit a monster.
>>You will kill thousands of creatures during a normal ascension -
>>typically between 3000 and 4000, if YAAPs are anything to go by. And you
>>will hit each monster at least once, quite a few more than once. You
>>won't be hitting them all with your lance, of course, since you will use
>>your long sword as well, and use attack spells.
>>But let's say, somewhat randomly, that you hit with your lance 2000
>>times. That means you'll go through 8 lances in the course of the game.
>>You'll have to find those, and if at all possible enchant them up to
>>+6/+7. Possible, but will you bother?
>>
>>Richard
>>
>>[1] It makes a difference for deciding whether you joust at all, but not
>> for breaking your lance. More skilled players joust more often, but
>> break their lances no less.
>>[2] The maximum influence is 36/37th, for luck equal to 13.
>
>
> I've found the bit in the code now. The key bit is uhitm.c line 1152:
>
> if ((joust_dieroll = rn2(5)) < skill_rating) {
> if (joust_dieroll == 0 && rnl(50) == (50-1) &&
> !unsolid(mon->data) && !obj_resists(obj, 0, 100))
> return -1; /* hit that breaks lance */
> return 1; /* successful joust */
>
> So the lance is only broken when successfully jousting. Therefore, expert
> lancers lose lances more frequently - how annoying.
>
> Consider: rnl(50) == (50-1)
>
> rn1 is defined in rnd.c
>
> 41 /* 0 <= rnl(x) < x; sometimes subtracting Luck */
>
> 52 i = RND(x);
>
> 0 <= RND(x) < x
>
> 54 if (Luck && rn2(50 - Luck)) {
>
> 0 <= rn2(x) < x
>
> 55 i -= (x <= 15 && Luck >= -5 ? Luck/3 : Luck);
> if (i < 0) i = 0;
> else if (i >= x) i = x-1;
> }
>
> return i;
>
> _If_ Luck >= 1 is subtracted (in line 55), then ( rn1(50) == (50-1) ) will
> always be false.
>
> The chance of Luck _not_ being subtracted is 1/(50-Luck). Even if it isn't
> there's still another 1/50 chance of ( rn1(50) == (50-1) ).
>
> Increasing Luck beyond 1 actually increases the chance of a lance breaking.
> Bug?
>
> So I conclude that when successfully Jousting with Luck >= 1 the
> probability P of a lance breaking is
>
> P (joust_dieroll == 0) = 1/5
> AND
> P ( rnl(50) == (50-1) ) = 1/(50-Luck) * 1/50
>
> 1/5 * ( 1/(50-Luck) * 1/50 ) = 1 / (12 500 - 250 * Luck) = really really
> small.
>
> 1 / 12 250 <= P <= 1 / 9250
> for
> 1 <= Luck <= 13
>
> With Luck = 0, P = 1/250
> With Luck < 0, P > 1/250
>
> IIRC I've only ever had a lance break with Luck = 0.
>
> (It's late, I woke up in the night, so my maths may be a bit iffy)

From nethack.org:

C343-51 fixed Luck's effect on random events isn't always as intended.

Topi

P.S. Why have you set followups to nonesense?

Same
--
"The whole problem with the world is that fools and fanatics are
always so certain of themselves, but wiser people so full of doubts."
- Bertrand Russell
"How come he didn't put 'I think' at the end of it?" - Anonymous
 
Archived from groups: rec.games.roguelike.nethack (More info?)

In article <43104026.2838000@news.xs4all.nl>, Richard Bos says...
> No, they don't. For experts, skill_rating is 4; for unskilled, it is 1.
> joust_dieroll is a straight random 0-4. If that dieroll is 0, you
> shatter your lance
>
Yes, you are quite right, I knew I'd gone wrong somewhere :)

(assuming of course rnl(50)==(50-1 and object does not resist)
 
Archived from groups: rec.games.roguelike.nethack (More info?)

In article <depd9c$ct9$2@nyytiset.pp.htv.fi>, Topi Linkala says...
> P.S. Why have you set followups to nonesense?
>
Hehe, wrong field 😉

I think I may have wanted in-reply-to

The article to which I was replying had been purged from my newsreader's
database, and I was trying to make the thread flow correctly.
 
Archived from groups: rec.games.roguelike.nethack (More info?)

In article <MPG.1d79e6526a1ba7b99896bb@news.blueyonder.co.uk>, Andrew Kerr
says...
> In article <SRTNe.545$X25.49481@monger.newsread.com>, Kevin Wayne says...
> > More than likely, you'll get an artifact weapon by or before the Castle,
> > and use that for the rest of the game. Jousting is mainly an early-game
> > tactic.
> >
> 80% chance of +d20 damage against any monster compares very favourably to
> many artifacts. Excalibur is +d10, Snickersnee +d8 albeit with higher base
> damage. AFAICS Ex compares best to Jousting when two weaponing as the
> probability of successfully Jousting then reduces to 60% at most as Knights
> cannot get higher than Skilled in two weapon. Average damage is then about
> the same. OTOH some players may prefer a [SoReflect.
>
> However my calculations suggest not Jousting until Luck is > 0.
>
Examining the code reminds me that a successful Joust also Stuns the
target. Also, any monster that is not Huge or Gigantic (or stuck) is
propelled back one space. Furthermore, it won't break any items.

Sounds better than most artifacts to me.

With the probability of a lance breaking on the order of 1:10,000 with
positive luck (1:250 with zero luck), an artifact lance may need more than
just unbreakability and fooproofing to make it worthwhile.

Some simple-to-code options include: increasing the chance to Joust by 20
percentage points; propelling monsters further, e.g. d2 places instead of
1; a small (e.g. d4) increase to damage mainly for ranged attacks. A Bane
is another possibilty, Dragonbane or even Ridablebane (q,u,D etc). AFAICS
Jousting damage is added after any artifact damage doubling, as silver is.

Currently the Knight can get to Expert (80% Jousts), Sam and Valk to
Skilled (60% Jousts). All three can get to Skilled in Lance+Twoweapon. A
40% increase to Joust helps Sam and Valk more than Knights, so making it
less of a Knightly weapon, and even at Basic a character would Joust 80% of
the time.
 
Archived from groups: rec.games.roguelike.nethack (More info?)

Andrew Kerr wrote:
<snip>
> Examining the code reminds me that a successful Joust also Stuns the
> target. Also, any monster that is not Huge or Gigantic (or stuck) is
> propelled back one space. Furthermore, it won't break any items.

The knockback mechanics works great, since lance can be used just like
polearm to hit 2 hexes away. You can hit the incoming monster from 2
hex away, joust to knock it back, and hit the monster from 2 hexes away
again. I've had many combat with my expertly skilled knight where
monster just could not get to me.

It's fun to try new weapon (instead of GS/Saber two-weapon
everytime...)

-K
 
Archived from groups: rec.games.roguelike.nethack (More info?)

In article <MPG.1d7ec975e57ac5e19896cf@news.blueyonder.co.uk>, Andrew Kerr
<andykerr@SPAMGUARD.blueyonder.co.uk> says...
> With the probability of a lance breaking on the order of 1:10,000 with
> positive luck (1:250 with zero luck), an artifact lance may need more than
> just unbreakability and fooproofing to make it worthwhile.
>
> Some simple-to-code options include: increasing the chance to Joust by 20
> percentage points; propelling monsters further, e.g. d2 places instead of
> 1; a small (e.g. d4) increase to damage mainly for ranged attacks. A Bane
> is another possibilty, Dragonbane or even Ridablebane (q,u,D etc). AFAICS
> Jousting damage is added after any artifact damage doubling, as silver is.
>
>

Or, knockback monsters a distance dependent on size:

Large d1
Medium d2
Small d4 (or d3)
Tiny d8 (or d4)