[Crawl] Dexterity vs. Evasion

G

Guest

Guest
Archived from groups: rec.games.roguelike.misc (More info?)

Is there an easy answer to the question "what is better: Dexterity or
Evasion"? If the answer depends on the current character, here's the
actual case: L13 Troll Berserker, already wearing a randart +4 =Dex.
With these ring I have AC: 11, EV: 15, Str: 26, Int: 5 and Dex: 17. My
second ring slot is used for a ring of sustenance most of the times, but
for the tougher fights I want to swap in either a +3 =EV or a +3 =Dex.
I'm not able to estimate from practice which of the two rings are better
here. If it matters, main attack is unarmed combat (of course) and I'm
going to train X-bows for range attackes.
Thanks in advance for any helpful advice.

Rubinstein
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.misc (More info?)

Rubinstein wrote:
> Is there an easy answer to the question "what is better: Dexterity or
> Evasion"?

Depends :) Each point of dex is (roughly) 1/6 point of evasion, 1/2
point of to_hit (don't ask me about the new weighted combat stats), 1/10
point of shield class and 1/3 (large races) to 1/6 (tiny races) point of
stealth skill. OTOH EV (but not the bonus due to high dex) is capped by
random2limit (IIRTSC an EV of 40+ would only give you 20 "real" points
of EV).

> If the answer depends on the current character, here's the
> actual case: L13 Troll Berserker, already wearing a randart +4 =Dex.
> With these ring I have AC: 11, EV: 15, Str: 26, Int: 5 and Dex: 17. My
> second ring slot is used for a ring of sustenance most of the times, but
> for the tougher fights I want to swap in either a +3 =EV or a +3 =Dex.

Since even with the ring your EV is only 18 I'd go for the EV ring,
except when you have trouble to hit something.

Lars
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.misc (More info?)

Lars Kecke wrote:
> Depends :) Each point of dex is (roughly) 1/6 point of evasion, 1/2
> point of to_hit (don't ask me about the new weighted combat stats), 1/10
> point of shield class and 1/3 (large races) to 1/6 (tiny races) point of
> stealth skill. OTOH EV (but not the bonus due to high dex) is capped by
> random2limit (IIRTSC an EV of 40+ would only give you 20 "real" points
> of EV).

IIRTSC?

--
http://www.gnu.org/philosophy/right-to-read.html
Palladium? Trusted Computing? DRM? Microsoft? Sauron.
"One ring to rule them all, one ring to find them
One ring to bring them all, and in the darkness bind them."
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.misc (More info?)

Lars Kecke wrote:
> Rubinstein wrote:
>> Is there an easy answer to the question "what is better: Dexterity or
>> Evasion"?
>
> Depends :) Each point of dex is (roughly) 1/6 point of evasion...

If I got this correctly (and let alone the other positive effects of Dex
you mentioned afterwords), 3 points of Dex are much "more" than 3 points
of EV. But then I don't understand why you recommend the ring of EV:

> Since even with the ring your EV is only 18 I'd go for the EV ring,
> except when you have trouble to hit something.

Unfortunately I have a very blurry understanding of the way EV and Dex
are working together. I'm not sure, but I believe I'd read somewhere
about both affecting each other, but that's all about it. I wished I'ld
know a little more about it...

Rubinstein
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.misc (More info?)

Rubinstein wrote:
> Lars Kecke wrote:
>
>>Rubinstein wrote:
>>
>>>Is there an easy answer to the question "what is better: Dexterity or
>>>Evasion"?
>>
>>Depends :) Each point of dex is (roughly) 1/6 point of evasion...
>
> If I got this correctly (and let alone the other positive effects of Dex
> you mentioned afterwords), 3 points of Dex are much "more" than 3 points
> of EV.

How's that? I use 'evasion' and EV synonymously; sorry for the
confusion. The game uses dodge skill (worth 1/2 point of EV), EV and the
dodge roll (composed of EV and dex).

The relevant code is
player_dodge = random2limit(player_evasion(), 40)+ random2(you.dex) / 3
- (player_monster_visible(attacker) ? 2 : 14)- (you_are_delayed() ? 5 : 0);

For low EV the random2limit (in stuf.cc) just returns the EV, for EV>40
it returns ~20, so for an EV value of 20 it should return ~15 (too lazy
to run simulations) and a point of dex would be worth .25 points of EV.

player_dodge is then compared with random2(16+monster's Hit Dice+ boni
for weapons and water) to see if you dodged.

I hope this clears your confusion a bit.

Lars
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.misc (More info?)

Lars Kecke wrote:
> The relevant code is
> player_dodge = random2limit(player_evasion(), 40)+ random2(you.dex) / 3
> - (player_monster_visible(attacker) ? 2 : 14)- (you_are_delayed() ? 5 : 0);

The relevant code is horrible! player_evasion() but you.dex. Whoever
wrote this code needs remedial programming classes, preferably in a
pure-OO (all data private) language like smalltalk. Even referring to
the same thing (the player) with effectively two names (player and you).
Even in C one can do better, nevermind C++, by putting function pointers
into a struct and calling player.evasion(), player.dex(). :)

That way, callers need not know how evasion and dex are determined. Both
could be getting calculated on demand, or neither, and more to the point
they could be changed without the change affecting the way code in a
completely different module had to be written. The likelihood of bugs
being introduced if dex is changed to be calculated would be much lower.
Also, code that always refers to one object with one name (not both
"player" and "you") tends to be more readable. :)

--
http://www.gnu.org/philosophy/right-to-read.html
Palladium? Trusted Computing? DRM? Microsoft? Sauron.
"One ring to rule them all, one ring to find them
One ring to bring them all, and in the darkness bind them."
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.misc (More info?)

Twisted One wrote:
> Lars Kecke wrote:
>
>> The relevant code is
>> player_dodge = random2limit(player_evasion(), 40)+ random2(you.dex) / 3
>> - (player_monster_visible(attacker) ? 2 : 14)- (you_are_delayed() ? 5
>> : 0);
>
>
> The relevant code is horrible!

It's quite a bit easier to read now than it was a few years ago. Take a
look at version 3.33 if you want seriously unreadable code. Linley
taught himself to program while writing Crawl, and it kind of shows up
in the code.
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.misc (More info?)

Graeme Dice wrote:
> Twisted One wrote:
>
>> Lars Kecke wrote:
>>
>>> The relevant code is
>>> player_dodge = random2limit(player_evasion(), 40)+ random2(you.dex) / 3
>>> - (player_monster_visible(attacker) ? 2 : 14)- (you_are_delayed() ? 5
>>> : 0);
>>
>> The relevant code is horrible!
>
> It's quite a bit easier to read now than it was a few years ago. Take a
> look at version 3.33 if you want seriously unreadable code. Linley
> taught himself to program while writing Crawl, and it kind of shows up
> in the code.

That explains it then...

So, which version will actually at least call every object by one name
(aside from "this")? :) (It'll probably take a total rewrite...)

--
http://www.gnu.org/philosophy/right-to-read.html
Palladium? Trusted Computing? DRM? Microsoft? Sauron.
"One ring to rule them all, one ring to find them
One ring to bring them all, and in the darkness bind them."
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.misc (More info?)

Rubinstein wrote:
> Is there an easy answer to the question "what is better: Dexterity or
> Evasion"?

....

> Int: 5

The better of the two would be Int. ;-)

(Starting around the Vault, at least, not so critical before then. Just
'cause of the occasional surprise draining.)

e.
 

Antoine

Distinguished
Oct 5, 2003
241
0
18,680
Archived from groups: rec.games.roguelike.misc (More info?)

Twisted One wrote:
> Graeme Dice wrote:
> > Twisted One wrote:
> >
> >> Lars Kecke wrote:
> >>
> >>> The relevant code is
> >>> player_dodge = random2limit(player_evasion(), 40)+
random2(you.dex) / 3
> >>> - (player_monster_visible(attacker) ? 2 : 14)- (you_are_delayed()
? 5
> >>> : 0);
> >>
> >> The relevant code is horrible!
> >
> > It's quite a bit easier to read now than it was a few years ago.
Take a
> > look at version 3.33 if you want seriously unreadable code. Linley

> > taught himself to program while writing Crawl, and it kind of shows
up
> > in the code.
>
> That explains it then...
>
> So, which version will actually at least call every object by one
name
> (aside from "this")? :) (It'll probably take a total rewrite...)

Mate, when you've released a major roguelike, you can start telling
other developers to do total rewrites of their code...

A.
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.misc (More info?)

Rubinstein wrote:
> Erik Piper wrote:
> > Rubinstein wrote:

> > e.
> ^^
> So small, Erik? What's the matter? ;-)
>
> Rubinstein

Musta been that kobold assassin with two rods of destruction and a
quick blade that let a dead DED kill him dead (via a summoned
Executioner) during a seemingly routine trip journey back to Elf:7
through pacified territory.

Well, that, and I've been using e. a lot lately. Quicker to type, I'm
already identified elsewise, and non-self-aggrandizing (important as a
counterbalance to my self-aggrandizing constant spamming of r.g.r.m.
;-)).

e.
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.misc (More info?)

Twisted One wrote:
> Lars Kecke wrote:
> (IIRTSC an EV of 40+ would only give you 20 "real" points of EV).
>
> IIRTSC?

If I Read The Source Correctly.

Lars
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.misc (More info?)

Erik Piper wrote:
> Rubinstein wrote:
>> Is there an easy answer to the question "what is better: Dexterity or
>> Evasion"?
>
> ...
>
>> Int: 5
>
> The better of the two would be Int. ;-)

Sure ;-)

> (Starting around the Vault, at least, not so critical before then.
> Just 'cause of the occasional surprise draining.)

I was aware of this and I actually had a ring of +5 Int in my pack. I
also was in vault depth but didn't enter, instead I decided doing the
swamp first. Here I was killed by an unexpectedly tough hydra on swamp
1. That character already killed 2 or 3 hydras before without any
trouble, but I couldn't do much harm to this one. Don't know why,
everything was in perfect state, only difference: I was levitating.

> e.
^^
So small, Erik? What's the matter? ;-)

Rubinstein
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.misc (More info?)

Rubinstein wrote:

> I was aware of this and I actually had a ring of +5 Int in my pack. I
> also was in vault depth but didn't enter, instead I decided doing the
> swamp first. Here I was killed by an unexpectedly tough hydra on swamp
> 1. That character already killed 2 or 3 hydras before without any
> trouble, but I couldn't do much harm to this one.

The problem with trolls is, they don't box, they rip off limbs, so for
every hit the hydra will grow another head. That's why my trolls usually
carry a big stick (and still get killed by hydras).

> Don't know why,
> everything was in perfect state, only difference: I was levitating.

hydras come in different sizes, from 4 to 8 heads.

Lars
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.misc (More info?)

Lars Kecke wrote:
> Rubinstein wrote:
>
>> ... Here I was killed by an unexpectedly tough hydra on swamp 1. That
>> character already killed 2 or 3 hydras before without any trouble,
>> but I couldn't do much harm to this one.
>
> The problem with trolls is, they don't box, they rip off limbs, so for
> every hit the hydra will grow another head. That's why my trolls
> usually carry a big stick (and still get killed by hydras).

Arrrgh, double-dumbness then: I'd found a +2 +1 flail of protection and
even spend some skill points into maces & flails (level 4), but stashed
it then, mainly due to weight problems and I usually was doing way
better with unarmed attacks. I knew about the growing heads of hydras,
just didn't realize the problem with troll's ripping attacks, too. Just
another well deserved death...

Rubinstein