Fighting reform

Name dcss:brainstorm:combat:fighting_reform
Summary attack speed, combat moves, effect of attributes and weapon differentiation
Implementation 5902
Tavern Fighting reform 2014-01-07's revision
Added by galehar
Added on 2012-07-12 11:13

I see 3 main problems with the current fighting system:

  • Attack speed formula (min delay and non-linear damage/skill)
  • Lack of effect of attributes
  • Lack of differentiation for weapons

Addressing the first one has a big effect on balance, maybe we can use the latter 2 to restore it?
Also, ranged implementation is being merged with melee. Some of the things in this page might be used for ranged too.

8th january 2014 update

Effect of stats has been doubled, feedback welcome.
Here is a revision to the delay proposal: delay = base_delay / (1 + 2 * skill / 27) The base delay needs to be increased a bit to compensate:

  • < 11 no change
  • 11, 12 and 13: +1
  • 14, 15 and 16: +2
  • > 16: +3

I have made a google spreadsheet to easily check any weapon's new and old formulas and compare them in delay and speed charts. It's also very easy to tweak the base delay or the formula and see the result. Of course, this will offset the balance, but we can also compensate by also tweaking the damage and accuracy stats of some weapons. The real question isn't about balance, but about differentiation. I think it succeeds in keeping weapon differentiation but it might be hard to tell without actual playtesting. — galehar 2014-01-08 13:41

8th october 2012 update

  • Cleaving is in. There's some disagreement about the balance. At the very least, some brands seem overpowered with cleaving.
    • Care to tell me which brands those are? The only one I can think of where it could possibly be better than fighting one-on-one is vampiric, and even then, to break even all the other monsters on screen need to be harmless. — minmay 2012-10-09 19:42
      • Antimagic axe seems too strong IMO. Wading into a bunch of casters/tormentors/summoners actually seems like a reasonable tactic to me, since there's a good chance that your antimagic axe will make them lose a turn. — DracheReborn 2013-07-23 18:21
  • Linear speed seems ok, will be tested in a branch.
  • Attributes effect and formula seems ok, just need to be buffed.
  • For M&F and Long Blades, no good effect has been found. Better no effect than bad effect. Differentiate them with damage/speed.
  • Charge and sidestep has been dropped.

Attack Speed

Before talking about min delay, let's start with linearity. Unarmed Combat's min delay is at 27 skill level, but the attack delay decreases linearly with skill level which gives attack speed an hyperbolic growth. In practice, it means that higher skill levels have a stronger impact on attack speed (which is directly linked to damage output) than lower levels. Changing the delay formula from 10 - sk / 5.4 to 270 / (27 + sk) would make attack speed linear to skill as illustrated below:

Generalizing the formula with min delay = base delay / 2 reached at skill level 27:
delay = (base_delay * 27) / (27 + skill)

Elliptic suggested this formula:
delay = base_delay / (1 + C * skill * base_delay)
Which means:
speed = base_speed + C * skill

With C = 1/27, it means that raising your skill to 27 will give you an additional attack per turn (10 aut). Here are delays and speed compared for all axes:

C doesn't have to be the same for all weapons. Can be set per weapon, or per weapon type.

Maybe something like this could work better:
delay = base_delay / (1 + 2 * skill / 27)
Here are 3 examples with some changes to base delay:

  • quick blade (base delay 7, no change)
  • hand axe (base delay changed from 13 to 15)
  • exec axe (base delay changed from 20 to 25)

galehar 2013-04-18 00:09


With the change to the speed formula, balance is broken. So don't think of each proposed change as “This is a nerf to x” or “It makes y overpowered”. First, let's find the good system and formulae, then we'll turn the knobs and find the good numbers. To keep trunk playable while this is being balanced, this is going to be tested in a branch (melee_linear_speed).


After some thoughts and discussions, it seems the attributes formula is good, the only problem being that its effect is too weak. I suggest we try to triple it in the melee_linear_speed branch.

Accuracy formula

The problem with accuracy is that it's very important early on, and worthless later. elliptic is suggesting that the problem doesn't come from the to_hit formula, but how it is compared to EV in melee_attack::test_hit(). Or maybe it's about how it's rolled (mhit = maybe_random2(mhit, random)) in calc_to_hit(), I'm not sure. I have no idea how to improve it, suggestions are welcome.

Weapon special effects

In this page, I won't discuss the details of the design of each effect, this should be done on the Combat Maneuvers & Weapon Reform. I'll just mention which effect we use and how they are affected by attributes and skills. In general, I think skill should affect the chance for the effect to trigger, and attributes affect the power of the effect. There is always a chance for the effect, even at skill 0, and it's never guaranteed, even at skill 27.

It would be good if weapon effects are affected by skill and/or attributes, because right now both reaching and cleaving trigger all the time at full effect. It doesn't seem quite right that a DEFE with 0 Axes can cleave as well as a MiFi with 27 Axes.

Alternatively, I'd like to propose reflavouring weapon effects into learned combat techniques instead. So cleaving isn't a property of the axe, it's a passive ability of the axe wielder. Melee backgrounds (Fi/Gl) can start with the appropriate passive ability, but for other backgrounds, they'll have to learn it from a manual or something. This would also give some more differentiation to the melee backgrounds, which are kind of weak compared to backgrounds that start with a god or a book. — DracheReborn 2013-08-06 16:30

Also, I don't think any weapon should have a defensive effect. No parrying and no counter attacks.


Cleave is in trunk.

  • attack 7 cells (all but the one opposite to the attack).
  • blocked by walls
  • goes through allies without harming them
  • additional attacks do 75% damage. The targeted monster still takes full damage.
  • hand axe and war axe are unchanged
  • Battle axe and Exec axe base damage have been reduced by 2.
  • ctrl+dir triggers it so you can use it against invisible monsters. There is no way to disable cleaving.

Seems to be too strong with some brands, like vampirism, elec or pain. We could forbid some brands on axes or have them only trigger on the main target.

Some also have suggested reducing its range to 5 cells. I think it could be interesting to have the range scale with the axe size:

  • hand axe and war axe: 3
  • broad axe: 5
  • battle axe and exec axe: 7

I don't think it would have a strong effect, because early on, cleave range isn't very relevant anyway. It's only latter that you can get swarmed by monsters and survive, and by then, you'd have found a bigger axe. But I think it could be interesting anyway. Cleaving is now the defining feature of the weapon class, it's good that upgrading your axe doesn't just buff the damage, but also increase the cleaving effectiveness. — galehar 2012-10-08 17:04

Maces & Flails & Long Blades

Armour piercing (only a fraction of monster's AC applies) is realistic but very boring. No need for a special effect when the same result can be achieved with weapon stats (high damage and low speed). No special effect for those weapons, better stats to compensate. Differentiate them by having M&F with high damage and low speed and long blades with lower damage and better speed. Exceptions are fine (whips and triple swords).


Chance for a double attack on the same monster (not magical staff). Or nothing, magical staves are already the gimmick of this weapon class.

Short Blades

Mostly unchanged, just remove the stabbing skill and use the short blades skill instead. But what of felid unarmed stabbing? Maybe just remove it.


No change. It's tempting to try to introduce a difference in adjacent and reached attacks with skills or attributes bonus or malus. I think it wouldn't be fun at all.

Other Ideas

There were some further ideas on this Mantis ticket:

Logged in as: Anonymous (VIEWER)
dcss/brainstorm/combat/fighting_reform.txt · Last modified: 2014-01-08 13:43 by galehar
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki