DCSS Weapon Comparison spreadsheet


Ask fellow adventurers how to stay alive in the deep, dark, dangerous dungeon below, or share your own accumulated wisdom.

User avatar

Vestibule Violator

Posts: 1533

Joined: Thursday, 16th December 2010, 20:52

Post Tuesday, 18th January 2011, 23:14

DCSS Weapon Comparison spreadsheet

Please use the attached spreadsheet to solve your weapon dilemnas. It handles a lot of stuff - skills, stats, weapon brands, racial bonuses.

In terms of brands, I did not do venom, draining or distortion because their avg. damage is just about impossible to quantify meaningfully.

It only gives average damage calculations. I thought of doing "max damage" in there as well but max damage never, ever happens due to the wide range of dice rolls that all have to max out for that to happen. If you want, you can double the average damage to get a fair approximation of what a strong hit with a certain weapon would do.

I've "protected" the sheet because I've found myself editing Str in the wrong place etc., this just prevents those mistakes. If you want to change formulas or add more slots, just look under Tools > Protection in Excel.
Attachments
DCSS Weapon Lab 1.4.4.xls.zip
(28.98 KiB) Downloaded 5371 times

For this message the author danr has received thanks: 55
casmith789, christhawk, evilmike, galehar, GameKnut, gb, gofftc, Grimm, marikvulpina, smock and 45 more users
User avatar

Mines Malingerer

Posts: 30

Joined: Friday, 17th December 2010, 15:58

Post Wednesday, 19th January 2011, 03:55

Re: DCSS Weapon Comparison spreadsheet

that is very information-dense. this is exactly the kind of thing i've been looking for. like that tidbit about the dagger of electrocution being better, on average, than the short sword of speed. just fascinating, really.

Snake Sneak

Posts: 111

Joined: Tuesday, 18th January 2011, 17:51

Post Wednesday, 19th January 2011, 05:43

Re: DCSS Weapon Comparison spreadsheet

Hmm... interesting... This is really neat. though I'm having a problem--maybe I'm entering the info wrong? I have these weapons:

the -3,+4 broad axe of Trog's Displeasure (weapon) {god gift, speed, Str+2}
a +5,+7 dwarven battleaxe of chopping {god gift}

Surprisingly the average damages + brand / delay 10 (still not sure why you divide by delay *(?) 10... care to elaborate?) are 15.0 and 16.7, respectively. But I can't figure out how to calculate the difference for when I use the broad axe with a buckler.

Temple Termagant

Posts: 11

Joined: Wednesday, 19th January 2011, 18:52

Post Wednesday, 19th January 2011, 18:56

Re: DCSS Weapon Comparison spreadsheet

Welp, did a bit of digging about the Henzell learnDB.

one and a half handed

1. 1.5-handed gets significant penalties if you have a shield (and if you don't, why don't you use 2-handed?). The penalty is 1..1/3/5 to to-hit, damage and speed for bucklers/normal/large shields, respectively.
2. 1.5 handed penalty to accuracy, damage and speed is based on -EV_penalty - (shield_skill / (5 + size_factor)). Source is player.cc line 2061.


It might be outdated by now, but it should point you in the right direction.
User avatar

Vestibule Violator

Posts: 1533

Joined: Thursday, 16th December 2010, 20:52

Post Wednesday, 19th January 2011, 19:06

Re: DCSS Weapon Comparison spreadsheet

When I get a bit more time on this, I think I should fix it so that one just enters a code for weapon type, which will automatically apply all the applicable stats including weapon size.

Then the player would also add their species, shield skill and type of shield. Minimize the amount of digging / figuring needed to use the spreadsheet.

Does anyone know of a way to use a CASE type command in Excel? That would really make this a lot easier.

Temple Termagant

Posts: 11

Joined: Wednesday, 19th January 2011, 18:52

Post Wednesday, 19th January 2011, 19:21

Re: DCSS Weapon Comparison spreadsheet


For this message the author GrimmSweeper has received thanks:
danr
User avatar

Swamp Slogger

Posts: 153

Joined: Sunday, 23rd January 2011, 20:04

Post Thursday, 27th January 2011, 07:36

Re: DCSS Weapon Comparison spreadsheet

Did you factor in weapon speed into this as well?
(I have a Mac and i am not allowed to download files for some reason?)
User avatar

Vestibule Violator

Posts: 1533

Joined: Thursday, 16th December 2010, 20:52

Post Monday, 31st January 2011, 16:17

Re: DCSS Weapon Comparison spreadsheet

Yes, it accounts for weapon speed. I've done a lot more work on it and will upload a new version soon.
User avatar

Vestibule Violator

Posts: 1533

Joined: Thursday, 16th December 2010, 20:52

Post Monday, 31st January 2011, 23:05

Re: DCSS Weapon Comparison spreadsheet

Please see the OP for a new version.

I've gotta say I've learned some really cool Excel tricks in creating this - logic control, almost programming-like features.
User avatar

Vestibule Violator

Posts: 1533

Joined: Thursday, 16th December 2010, 20:52

Post Tuesday, 1st February 2011, 18:13

Re: DCSS Weapon Comparison spreadsheet

Again, a new version, see the OP (original post).
User avatar

Vestibule Violator

Posts: 1533

Joined: Thursday, 16th December 2010, 20:52

Post Wednesday, 2nd February 2011, 22:53

Re: DCSS Weapon Comparison spreadsheet

Yet again, a new version uploaded to the OP. I feel that it is becoming reasonably "mature" by now, I don't have too much more in terms of plans for this.

Ideally this should calculate somehow your actual chance to hit, but I don't have the energy today to get into how the To Hit roll vs. monster EV affects chance of hitting.
User avatar

Vestibule Violator

Posts: 1533

Joined: Thursday, 16th December 2010, 20:52

Post Thursday, 3rd February 2011, 17:40

Re: DCSS Weapon Comparison spreadsheet

EDIT 5: Ver. 0.7. I finally added in actual calculations for the effect of Monster AC and EV - it was easier than I thought, and I was surprised that most early monsters have AC and EV in similar ranges anyway. I created a select box for monsters and put hobgoblins as the default, and I added a few uniques as well - Sigmund, Duvessa and Saint Roka and Mara. Interesting note: against Mara, an L1 MDFi would average 0.2 HP / turn. So in case you were still not sure, if you see Mara on L1 with your MDFi, RUN AWAY :)

I also added STR and DEX adjustments to the column for each weapon as some randart weapons will affect these stats which will in turn affect damage.

This is feeling pretty complete by now, and should actually give an accurate picture of comparison between weapons based on "real life" use :). It does now actually calculate the average damage output of a character, given all their relevant skills stats and equipment, against the actual AC and EV of monsters.
User avatar

Vestibule Violator

Posts: 1533

Joined: Thursday, 16th December 2010, 20:52

Post Thursday, 3rd February 2011, 19:41

Re: DCSS Weapon Comparison spreadsheet

Okay, a few more changes:

- Added a "shield override" to each weapon column so that you can compare different weapons with / without shields without changing it for all weapons. I think this will be very convenient. Note however that this override will not activate any special properties from any of the shields you have set up in the Character sheet. If needed you can approximate these with the Str/Dex/To hit/To Dam enchantments for the weapon used with that shield.
- Reordered the skills on the Character sheet to align with how they are listed in the skill management screen.
- removed "Slow" status as it wasn't implemented yet and I doubt people care that much to see how badly their melee sucks when they are slow.
- I renamed the file to "DCSS weapon lab" and versioned it as 1.0 as I feel it is now feature complete for what I set out to do, and also I wanted to avoid numbering it 0.7.1, or 0.8, because that would be confusing with the current game version numbers.

- I noticed that an MDFi who chooses a spear gets a normal spear, not a dwarven one, and only one level in polearms, so I fixed those starting options. Mace is now clearly the best _starting_ weapon for MDFi. Axes may mature later, I don't know.

Ziggurat Zagger

Posts: 6393

Joined: Friday, 17th December 2010, 18:17

Post Thursday, 3rd February 2011, 21:39

Re: DCSS Weapon Comparison spreadsheet

danr I'd like to thank you in writing for the work you've put into this. It's a real boon.

I'm still not giving up axes though.

gb

User avatar

Halls Hopper

Posts: 69

Joined: Friday, 17th December 2010, 22:50

Post Friday, 4th February 2011, 08:51

Re: DCSS Weapon Comparison spreadsheet

I don't see an option for Minotaur as a species...?
User avatar

Vestibule Violator

Posts: 1533

Joined: Thursday, 16th December 2010, 20:52

Post Friday, 4th February 2011, 19:56

Re: DCSS Weapon Comparison spreadsheet

Thanks for the catch on Minotaurs. It doesn't really matter as long as you pick a species of the same size and without racial weapons, those are the only things that species affects on this spreadsheet.

A few other changes:

- I "protected" the sheet to reduce the risk of accidentally breaking things or editing things in the wrong place. Just go Tools>Protection in Excel if you want to add columns or whatever.
- I moved everything onto one sheet. It's just easier that way. Keep scrolling right for reference charts for weapons and armour.
- fixed some errors in To Hit and Brand damage calculations
- added more monsters to the enemy select list, and made Sigmund the default a) because he's THAT DAMN SIGMUND and I'm sure he's #1 on everyone's "To Hit" list, and b) his 0 AC, 11 EV is pretty typical for early game monsters.
- enemy select list is now sorted by total AC+EV
- EDIT - one more: it is no longer necessary (or possible) to specify "demonic" racial weapon type. This racial type is now automatically applied to demon whips, demon blades and demon tridents, overriding the racial type selected above (you can't have a dwarven racial bonus on a demon whip).

Vaults Vanquisher

Posts: 476

Joined: Friday, 31st December 2010, 06:38

Post Friday, 4th February 2011, 20:37

Re: DCSS Weapon Comparison spreadsheet

Don't suppose you'll be trying to add the variable for extra unarmed attacks being taken into account? Theoretically if you're using a faster weapon, you're getting off more extra attacks. I don't think it'd be -that- hard, just find the average damage given by each kind of attack available and have the person go down the list checking off if they're able to use it or not. Got horns, check; got unarmed over 10 so you punch in addition to swinging, check. Then average the total damage from those into the average amount of times it'll go off in the given test; if it's testing how often you'll punch/kick/bite after attacking 10 times, use that. 15, use that. Obviously a higher number would be more accurate.
User avatar

Vestibule Violator

Posts: 1533

Joined: Thursday, 16th December 2010, 20:52

Post Friday, 4th February 2011, 20:43

Re: DCSS Weapon Comparison spreadsheet

szanth wrote:Don't suppose you'll be trying to add the variable for extra unarmed attacks being taken into account? Theoretically if you're using a faster weapon, you're getting off more extra attacks. I don't think it'd be -that- hard, just find the average damage given by each kind of attack available and have the person go down the list checking off if they're able to use it or not. Got horns, check; got unarmed over 10 so you punch in addition to swinging, check. Then average the total damage from those into the average amount of times it'll go off in the given test; if it's testing how often you'll punch/kick/bite after attacking 10 times, use that. 15, use that. Obviously a higher number would be more accurate.



I've thought about it, but I think it would add a lot of complication after looking at the source code, because those attacks have their own to-hit calculations, their own armour penalties, etc.. Maybe eventually. Others are free to contribute as well, of course!

I've been lucky to have a slow week at work so I could spend a lot of time on this, but I don't see that lasting, and we have a baby coming soon...

Also, I'm shifting my focus to applying what I've learned from this to improving the in-game weapon information.

Blades Runner

Posts: 546

Joined: Monday, 20th December 2010, 14:25

Post Wednesday, 9th February 2011, 05:25

Re: DCSS Weapon Comparison spreadsheet

First, thanks for this great tool!

Two potential bugs, though maybe I'm doing something wrong.

First, the "0 multiplier if unwieldable" field seems to return a 0 for large and big weapons, even for ogres and such.
Second, lajatang seems to have a separate issue. Not sure what.

I'm intrigued by what the spreadsheet is suggesting:

A demon trident with a shield (at sufficiently high levels) usually beats out a bardiche for nearly all reasonable fighting/polearms skill combos. This is just in terms of damage per turn; the shield would tip the scale toward the demon trident. This applies for most AC/EV combinations (low-low, low-high, high-low) but not high-high (that of the ancient lich). (Add the holy wrath brand and the trishula seems to beat out the bardiche.)

Also, the bardiche does better at low polearm and low fighting skill levels overall, but not levels any character is likely to have while possessing a bardiche. I never would have guessed! Did everyone else know that bardiches suck? In contrast, a great mace seems to beat out an eveningstar, except at low fighting and low axes skills. This is the opposite of the demon trident - bardiche result.
User avatar

Vestibule Violator

Posts: 1533

Joined: Thursday, 16th December 2010, 20:52

Post Wednesday, 9th February 2011, 20:31

Re: DCSS Weapon Comparison spreadsheet

Thanks for pointing out the bug on the giant club, I'll work on that. In the meantime, I'm doing my own experiment here.

I've created a fictitious minotaur (is there any other kind?) with 27 levels in fighting and shields and 27 levels in every weapon school. I then evaluated each weapon with both a str-weighted character (Str 30, Dex 12) and a Dex-weighted character (str. 12 dex 30).

Then I put in the four "biggest" weapons for each class to see what came out for average damage vs. a dragon (AC 10 EV 8) as a fairly common mid-late game enemy that you want to make sure you can fight effectively.

The results: average damage per turn vs. dragon, for Str. 30 Dex 12 characters (Dex character results follow below).

EDIT - my spreadsheet was wrong and thus my analysis was all wrong. Sorry!

For this message the author danr has received thanks: 2
GameKnut, smock
User avatar

Vestibule Violator

Posts: 1533

Joined: Thursday, 16th December 2010, 20:52

Post Wednesday, 9th February 2011, 20:51

Re: DCSS Weapon Comparison spreadsheet

I've uploaded a new version that I think fixes certain bugs with giant clubs and staves, and also with how shields were being applied.

For this message the author danr has received thanks:
smock
User avatar

Dungeon Master

Posts: 4031

Joined: Thursday, 16th December 2010, 20:37

Location: France

Post Wednesday, 9th February 2011, 21:19

Re: DCSS Weapon Comparison spreadsheet

In the help text, character stats should be entered on the right.
Also, minimum delay is 7 for 2 handed weapons. Actually, it's 7 for all weapons since recently. So the big 2 handers should always deal more damage at max skill.
<+Grunt> You dereference an invalid pointer! Ouch! That really hurt! The game dies...

Ziggurat Zagger

Posts: 6393

Joined: Friday, 17th December 2010, 18:17

Post Wednesday, 9th February 2011, 21:31

Re: DCSS Weapon Comparison spreadsheet

I see support there for a new rare axe type as was being discussed in another thread.
User avatar

Vestibule Violator

Posts: 1533

Joined: Thursday, 16th December 2010, 20:52

Post Wednesday, 9th February 2011, 22:44

Re: DCSS Weapon Comparison spreadsheet

galehar wrote:In the help text, character stats should be entered on the right.
Also, minimum delay is 7 for 2 handed weapons. Actually, it's 7 for all weapons since recently. So the big 2 handers should always deal more damage at max skill.

This spreadsheet is based on 0.7.1.

My understanding is that minimum delay of 7 is only for weapons that could be wielded with a shield but the player is using two-handed. Otherwise it is base delay / 2.

When was this changed?

I guess I should do a version for trunk and a version for 0.7.1, because haste and berserk are also different now, and then of course there is Okawaru's new abilities - to be honest, I don't want to try to figure that out until it is stabilized. So until 0.8 is released I'm not sure I'll do a "trunk" version.

Dungeon Master

Posts: 1611

Joined: Thursday, 16th December 2010, 21:54

Post Thursday, 10th February 2011, 02:06

Re: DCSS Weapon Comparison spreadsheet

minmay wrote:According to that commit, it's actually maximum minimum delay - that is, all weapons now have a minimum delay that is no greater than 7, but may be lower.

Yep, that's right. The learnDB got updated for trunk: "A weapon's minimum delay is half of its base delay (rounded down), but if the following value applies and is lower, use that instead: 3 for quick blades, 5 for short blades, and 7 for the rest."
User avatar

Vestibule Violator

Posts: 1533

Joined: Thursday, 16th December 2010, 20:52

Post Thursday, 10th February 2011, 04:05

Re: DCSS Weapon Comparison spreadsheet

Okay, thanks.

Dungeon Dilettante

Posts: 3

Joined: Thursday, 10th February 2011, 01:16

Post Thursday, 10th February 2011, 05:21

Re: DCSS Weapon Comparison spreadsheet

danr wrote:I guess I should do a version for trunk and a version for 0.7.1, because haste and berserk are also different now, and then of course there is Okawaru's new abilities - to be honest, I don't want to try to figure that out until it is stabilized. So until 0.8 is released I'm not sure I'll do a "trunk" version.


Thank you very much for writing this. It's amazing how much work you put in to make this spreadsheet what it is.

If I may make suggest:

  • In response to the above quote: I think it'd be more useful to make one spreadsheet that lets users select whether to show results relevant to 0.7.1 or results relevant to 0.8. For one thing, it'd make it easier for users to understand how 0.8 calculates things differently.
  • Put the instructions at the top-left corner of the sheet, not lower down, so that people will see them right away. Or, if you don't, at least make cell A1 tell people to see the instructions below.
  • Don't release the sheet zipped. Release it uncompressed. Computers are fast enough and bandwidth is cheap enough that you don't need to compress it. :)
  • Better yet, release it on Google Docs instead of here. Google Docs lets people preview the sheet with one click. And it lets them choose whether to download an Excel file, to download an OpenOffice file, or to make a copy and work with the copy online. Plus, it lets you give permission to other people to edit the original sheet, and keeps track of who changed what.
  • Instead of "DCSS weapon lab", call it "DCSS Weapon Lab". This is because a spreadsheet is a computer program, and a computer program's name is a proper noun.
  • Consider using named ranges. As Chip Pearson explains on his website, it makes formulas easier to read and understand. It also may make it easier to move cells around without breaking things.
User avatar

Vestibule Violator

Posts: 1533

Joined: Thursday, 16th December 2010, 20:52

Post Thursday, 10th February 2011, 06:25

Re: DCSS Weapon Comparison spreadsheet

The sheet is zipped because this forum does not allow .xls files to be uploaded. I guess I could post it elsewhere and just put a link.

This spreadsheet is open-source - if anyone wants to improve it or update it for trunk, they are free to.

But seriously, you're taking issue with my capitalization of a file name? :roll:
User avatar

Dungeon Master

Posts: 4031

Joined: Thursday, 16th December 2010, 20:37

Location: France

Post Thursday, 10th February 2011, 10:15

Re: DCSS Weapon Comparison spreadsheet

danr wrote:My understanding is that minimum delay of 7 is only for weapons that could be wielded with a shield but the player is using two-handed. Otherwise it is base delay / 2.

I'm pretty sure minimum delay is 7 for all two-handed weapons, and that's true for 0.7. But you need very high skill to reach it (26 for an executioner's axe for example). You're right about making the spreadsheet based on 0.7 so that you don't have to constantly update it to match trunk.
<+Grunt> You dereference an invalid pointer! Ouch! That really hurt! The game dies...
User avatar

Vestibule Violator

Posts: 1533

Joined: Thursday, 16th December 2010, 20:52

Post Thursday, 10th February 2011, 21:22

Re: DCSS Weapon Comparison spreadsheet

Hm. I thought I got that from the 0.7 source, but it might have been from the chaosforge wiki.
User avatar

Dungeon Master

Posts: 4031

Joined: Thursday, 16th December 2010, 20:37

Location: France

Post Thursday, 10th February 2011, 21:48

Re: DCSS Weapon Comparison spreadsheet

Fight.cc:4091

  Code:
        // Using both hands can get a weapon up to speed 7
        if ((hands == HANDS_TWO || hand_half_bonus)
            && min_delay > 7)
        {
            min_delay = 7;
        }


Attack speed article on the wiki:
  Code:
If you are using a two handed weapon or a hand and a half weapon with two hands, the minimum delay is always seven. Even that executioners axe with a base delay of 20 has a minimum delay of 7.
<+Grunt> You dereference an invalid pointer! Ouch! That really hurt! The game dies...
User avatar

Vestibule Violator

Posts: 1533

Joined: Thursday, 16th December 2010, 20:52

Post Friday, 11th February 2011, 00:59

Re: DCSS Weapon Comparison spreadsheet

Okay, I misinterpreted that code to mean if you are using a 1.5 handed weapon with two hands. I'm not sure why, because I know that || means OR.

So two-handed weapons are actually potentially faster than single handed weapons (until recently)?

I was going by this from the same wiki page:
Now, weapons can't just keep getting faster and faster. There is a minimum delay dependent on the weapon type. To find out the minimum delay, first, take the weapon speed, and divide by two, truncating any remainder. So, our handaxe would have a minimum delay of 6, which would happen at an axe skill of 14.

Blades Runner

Posts: 554

Joined: Tuesday, 4th January 2011, 13:38

Post Friday, 11th February 2011, 08:04

Re: DCSS Weapon Comparison spreadsheet

danr wrote:So two-handed weapons are actually potentially faster than single handed weapons (until recently)?


In the mathematical sense, it sounds so. However in practice, I can't recall any one-handed weapon with attack delay higher than (or even equal to) 140%, and these get minimum delay of 70% anyway.
... and forgive us our YASDs,
As we forgive our developers,
And lead us not into the Abyss,
But deliver us from Sigmund,
For Thine is the Roguelike,
the Orb and the Victory,
now and forever.
User avatar

Dungeon Master

Posts: 4031

Joined: Thursday, 16th December 2010, 20:37

Location: France

Post Friday, 11th February 2011, 08:14

Re: DCSS Weapon Comparison spreadsheet

danr wrote:So two-handed weapons are actually potentially faster than single handed weapons (until recently)?


Yes, but only war axe, spiked flail, and broad axe (if using a shield). Those are the only one-handed weapons with a min delay > 7. See mantis #3126 for more details on the issue.
<+Grunt> You dereference an invalid pointer! Ouch! That really hurt! The game dies...
User avatar

Vestibule Violator

Posts: 1533

Joined: Thursday, 16th December 2010, 20:52

Post Friday, 11th February 2011, 15:52

Re: DCSS Weapon Comparison spreadsheet

While we are hashing this out, might as well get it completely right -

the melee::attack player_weapon_speed function is declared as a random_var, not an int function, so I believe that means it will return decimal values. The actual delay taken is randomized so if e.g. a delay of 8.5 is returned, sometimes the attack takes 9, sometimes it takes 8 (aut - arbitrary units of time?)

This is important because the skill speed delay is skill / 2, so if if you have an odd number of skill levels you will get an x.5 delay.

Since my spreadsheet works with averages, I want to use the x.5 value anyway, but I just want to make sure. I noticed I had actually been INT truncating the skill-adjusted delay, so delays may have been off by 0.5 in that regard as well.

Well, the new system is much simpler - everything just gets "max" min delay 7, except short blades (5) and quick blades (3). Looking forward to that.
User avatar

Vestibule Violator

Posts: 1533

Joined: Thursday, 16th December 2010, 20:52

Post Friday, 11th February 2011, 16:03

Re: DCSS Weapon Comparison spreadsheet

Hm. I've fixed the minimum delay issue I think but strangely everything is now doing more damage even at the old minimum delay values. EDIT - I realized that this is because I had Sigmund instead of Dragon selected as the enemy.

I also caught one or two little issues that affected shield bonuses.
User avatar

Dungeon Master

Posts: 4031

Joined: Thursday, 16th December 2010, 20:37

Location: France

Post Friday, 11th February 2011, 16:19

Re: DCSS Weapon Comparison spreadsheet

I haven't checked the code, but I think the rounding is up. If you're wielding a handaxe (delay 13) at skill 5, the resulting delay is 11. Not 10 and not 10.5. This is because when your skill is divided by 2, the result is truncated. There's no randomisation of rounding like there is for haste.
<+Grunt> You dereference an invalid pointer! Ouch! That really hurt! The game dies...
User avatar

Vestibule Violator

Posts: 1533

Joined: Thursday, 16th December 2010, 20:52

Post Friday, 11th February 2011, 16:28

Re: DCSS Weapon Comparison spreadsheet

Might as well just put the whole shebang in here:
  Code:
random_var melee_attack::player_weapon_speed()
{
    random_var attack_delay = constant(15);

    if (weapon && (weapon->base_type == OBJ_WEAPONS
                   || weapon->base_type == OBJ_STAVES))
    {
        attack_delay = constant(property(*weapon, PWPN_SPEED));
        attack_delay -= constant(you.skills[wpn_skill] / 2);

        min_delay = property( *weapon, PWPN_SPEED ) / 2;

        // Short blades can get up to at least unarmed speed.
        if (wpn_skill == SK_SHORT_BLADES && min_delay > 5)
            min_delay = 5;

        // Using both hands can get a weapon up to speed 7
        if ((hands == HANDS_TWO || hand_half_bonus)
            && min_delay > 7)
        {
            min_delay = 7;
        }

        // never go faster than speed 3 (ie 3 attacks per round)
        if (min_delay < 3)
            min_delay = 3;

        // apply minimum to weapon skill modification
        attack_delay = rv::max(attack_delay, min_delay);

        if (weapon->base_type == OBJ_WEAPONS
            && damage_brand == SPWPN_SPEED)
        {
            attack_delay = (attack_delay + constant(1)) / 2;
        }
    }

    return (attack_delay);
}


Comments:
- I'm not sure what that first line does. Is that just a starting delay of 15 that applies in case no weapon / staff is wielded?
- the line (4083): attack_delay -= constant(you.skills[wpn_skill] / 2); does "constant" have the effect of rounding / truncating?
- the line (4085): min_delay = property( *weapon, PWPN_SPEED ) / 2; I don't see any rounding happening there?
User avatar

Dungeon Master

Posts: 4031

Joined: Thursday, 16th December 2010, 20:37

Location: France

Post Friday, 11th February 2011, 16:56

Re: DCSS Weapon Comparison spreadsheet

danr wrote:Comments:
- I'm not sure what that first line does. Is that just a starting delay of 15 that applies in case no weapon / staff is wielded?
- the line (4083): attack_delay -= constant(you.skills[wpn_skill] / 2); does "constant" have the effect of rounding / truncating?
- the line (4085): min_delay = property( *weapon, PWPN_SPEED ) / 2; I don't see any rounding happening there?


Yes, the first line set a default delay in case you like to bash monsters with bread ration.
The fact that this function returns a random_var is misleading and obsolete. Because attack delay used to be randomised, but not anymore and "constant" kind of cancel the randomisation. I can't check it right now, maybe later.
constant takes an integer parameter, so the results of the divisions is truncated.
<+Grunt> You dereference an invalid pointer! Ouch! That really hurt! The game dies...

Blades Runner

Posts: 546

Joined: Monday, 20th December 2010, 14:25

Post Sunday, 13th February 2011, 15:56

Re: DCSS Weapon Comparison spreadsheet

Using danr's great spreadsheet, I just compared a +0 and a +9 dagger for a midgame dex-oriented melee char against an ancient lich (which has very high AC). Both do 0.8 points damage per turn on average. However, enchantments do matter for weapons with higher base damages! I can't spot a bug in the spreadsheet, but this seems rather odd! Is this really how monster AC works?

Dungeon Dilettante

Posts: 3

Joined: Thursday, 10th February 2011, 01:16

Post Sunday, 13th February 2011, 20:34

Re: DCSS Weapon Comparison spreadsheet

One small niggle. In Weapon Lab 1.2 as shipped, if you choose "Slaying" for the right ring finger in cell K14, you'll notice a bug. The formulas in cells L4, L13, and L15 will return #N/A errors, so Weapon Lab won't return any useful results. This is because of VLOOKUP calls that point to M34:R35. They should point to $M$33:$R$35. I haven't tried Weapon Lab 1.3 yet, so I don't know if the bug is fixed there yet or not.
User avatar

Dungeon Master

Posts: 4031

Joined: Thursday, 16th December 2010, 20:37

Location: France

Post Monday, 14th February 2011, 14:13

Re: DCSS Weapon Comparison spreadsheet

I think you forgot to factor in the to hit bonus of weapons (accuracy rating)
<+Grunt> You dereference an invalid pointer! Ouch! That really hurt! The game dies...
User avatar

Vestibule Violator

Posts: 1533

Joined: Thursday, 16th December 2010, 20:52

Post Monday, 14th February 2011, 15:37

Re: DCSS Weapon Comparison spreadsheet

Galehar: I'm pretty sure I do account for damage enchantment - it's the second item added in B141, and that total is then used to calculate the % to hit chance.

Vimpulse: thanks for catching that, I'm fixing that and uploading 1.3.1 shortly.

Smock: neither a +0 dagger or a +9 dagger does enough damage per hit to exceed the average 10 HP damage reduction from the Lich's AC of 20, though the +9 dagger is just about there. The 0.8 is because I believe any hit has a chance of doing either 0 or 1 damage (avg. 0.5), and the dagger gets two attacks per turn with about 80% accuracy. Multiply those and you get 0.8.

I could be wrong about the 0 or 1 min. damage per turn though.

For this message the author danr has received thanks:
vimpulse
User avatar

Dungeon Master

Posts: 4031

Joined: Thursday, 16th December 2010, 20:37

Location: France

Post Monday, 14th February 2011, 16:19

Re: DCSS Weapon Comparison spreadsheet

danr wrote:Galehar: I'm pretty sure I do account for damage enchantment - it's the second item added in B141, and that total is then used to calculate the % to hit chance.

Yeah, right. I was surprised that the big weapons have a better damage output than the smaller ones at low skill. Despite the speed and accuracy penalties, it's still often optimal to use the biggest stick you can find.
<+Grunt> You dereference an invalid pointer! Ouch! That really hurt! The game dies...

Blades Runner

Posts: 546

Joined: Monday, 20th December 2010, 14:25

Post Monday, 14th February 2011, 16:55

Re: DCSS Weapon Comparison spreadsheet

danr wrote: Smock: neither a +0 dagger or a +9 dagger does enough damage per hit to exceed the average 10 HP damage reduction from the Lich's AC of 20, though the +9 dagger is just about there. The 0.8 is because I believe any hit has a chance of doing either 0 or 1 damage (avg. 0.5), and the dagger gets two attacks per turn with about 80% accuracy. Multiply those and you get 0.8.


Oh, OK. Got it. Somehow I thought that monster AC blocked damage equal to a random number up to AC. Thanks for the explanation. This seems odd, but given how well Crawl is balanced maybe it makes sense in some bigger picture that I can't quite see. I suppose this is why berserk/might work so well against high-AC opponents. (Okawaru's Hero ability really is quite a nerf, then, for weapons with low base damage!)

Thanks, danr, your spreadsheet has been illuminating!

galehar wrote:I was surprised that the big weapons have a better damage output than the smaller ones at low skill. Despite the speed and accuracy penalties, it's still often optimal to use the biggest stick you can find.


Two things that might constitute and argument for using the hand axe over the battle axe. First, nothing is earned for driving a low-HP opponent way into negative HP. Second, A hand axe could kill two kobolds in the time it takes for a battle axe to kill one. I'm sure you know this already. And I doubt it truly tips the balance anyway, as popcorn popping doesn't really ever kill anyone.

I don't really like the fact that it's quite often best to use the biggest stick.
User avatar

Vestibule Violator

Posts: 1533

Joined: Thursday, 16th December 2010, 20:52

Post Monday, 14th February 2011, 17:22

Re: DCSS Weapon Comparison spreadsheet

Don't forget that damage output is only one consideration. Being able to use a shield is a big bonus for smaller weapons. Also, berserking with a quick blade can do massive amounts of damage too.

Then of course randart properties can also tip the balance.

Another consideration is that big weapons are usually not found until later in the game. It makes sense that "better" items show up later. One thing I like about Crawl though is that it is possible to find an item on D:1 that IS good enough for the whole game.

Also, I'm playing an MDCK right now and curiously I can't find anything better than my +3 dwarven mace that I started the game with as a +2 weapon. I found a great mace, but with skill 13 in M&F, the mace is still better (vs. sigmund anyway), mostly due to the speed advantage.

Snake Sneak

Posts: 116

Joined: Saturday, 18th December 2010, 11:32

Post Tuesday, 15th February 2011, 00:39

Re: DCSS Weapon Comparison spreadsheet

galehar wrote:
danr wrote:Galehar: I'm pretty sure I do account for damage enchantment - it's the second item added in B141, and that total is then used to calculate the % to hit chance.

Yeah, right. I was surprised that the big weapons have a better damage output than the smaller ones at low skill. Despite the speed and accuracy penalties, it's still often optimal to use the biggest stick you can find.


So, every time I was trying out various weapons to decide which one is the best fit for my current skill level, I was wasting my time?! That's disappointing, I thought that DCSS is supposed to have no no-brainers, but it seems that the old adage "if it's not working, get a bigger axe" holds true.
User avatar

Vestibule Violator

Posts: 1533

Joined: Thursday, 16th December 2010, 20:52

Post Tuesday, 15th February 2011, 03:45

Re: DCSS Weapon Comparison spreadsheet

Note - he said it is "often" still optimal to use the bigger weapon, not "always". It is not a no-brainer, but I think it is right for there to be a natural progression. It depends on the build too -are you casting spells, using a shield, how strong are you? My HaBe found his quick blade better than long blades.

Note my MDCK, still using his starting mace even though he's found a great mace and some dire flails - racial bonus and +3 enchantment and speed of a smaller weapon make it better than the +1 great mace. For now.
User avatar

Vestibule Violator

Posts: 1533

Joined: Thursday, 16th December 2010, 20:52

Post Wednesday, 16th February 2011, 23:05

Re: DCSS Weapon Comparison spreadsheet

Minor update - ver. 1.3.2.

I fixed an error I might have created in the last version with the select box for weapon brands.

I added support for "Heroism". If someone tells me how finesse works, I can do that too.

I'll probably do a toggle for trunk / 0.7 for Haste - I believe in trunk haste is only 1.5x speed instead of the 2x speed it is in 0.7, correct?
Next

Return to Dungeon Crawling Advice

Who is online

Users browsing this forum: No registered users and 3 guests

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.