Difference between revisions of "Weapon damage"

From CrawlWiki
Jump to: navigation, search
(Damage formula)
m (bump and rw history)
 
(31 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{version028}}
+
{{version031}}
  
 
Weapon damage is your base weapon damage, multiplied by strength modifier, multiplied by weapon skill and fighting skill modifiers.  Slaying bonuses and weapon enchantment are added afterwards.  Actual damage components are randomly rolled in four places: 1d(Base * Strength modifier), Slaying bonus, Weapon skill modifier and Fighting modifier.
 
Weapon damage is your base weapon damage, multiplied by strength modifier, multiplied by weapon skill and fighting skill modifiers.  Slaying bonuses and weapon enchantment are added afterwards.  Actual damage components are randomly rolled in four places: 1d(Base * Strength modifier), Slaying bonus, Weapon skill modifier and Fighting modifier.
  
 
==Damage formula==
 
==Damage formula==
<code> Damage = uniform(Base damage * Stat modifier) * Skill modifier * Fighting modifier + Misc modifiers + uniform(Slaying bonuses) + Stabbing bonus - AC damage reduction</code><ref>{{source ref|0.28.0|attack.cc|1216}}</ref>
+
<code> Damage = [uniform(Base damage * Stat modifier) * Skill modifier * Fighting modifier + Misc modifiers + uniform(Slaying bonuses)] * final multipliers + Stabbing bonus - AC damage reduction</code><ref>{{source ref|0.31.0|attack.cc|1202}}</ref>
 +
*''While final multipliers are applied after stabbing bonus, the stabbing bonus doesn't benefit from these multipliers.''
  
 
As a shorthand <code>uniform(x) = 1d(x+1)-1</code> or a roll from 0 to x inclusive.
 
As a shorthand <code>uniform(x) = 1d(x+1)-1</code> or a roll from 0 to x inclusive.
 +
 
*'''Base damage''':
 
*'''Base damage''':
**Unarmed combat: 3 + UC (can be changed by some spells and the claws mutation, see [[Unarmed combat]])
+
**Unarmed combat: 3 + UC skill (can be changed by some spells and the claws mutation, see [[Unarmed combat]])
 
**Using a weapon: Base damage of the [[weapon]]
 
**Using a weapon: Base damage of the [[weapon]]
*'''Stat modifier''':
+
**Using a thrown weapon:<ref>No damage for darts, nets, or thrown melee weapons</ref> Base thrown missile damage + [[Throwing]] skill
** <code>0.75 + 0.025 * [[Stats|Stat]]</code>
+
***Throwing [[stone]]s: Base damage + ([[Throwing]] skill/2)
** The [[Stats|Stat]] is your [[Strength]]. There is a minimum modifier of 0.01 (1%), at -30 strength.
+
**The [[heavy]] brand multiplies a weapon's base damage.
 +
*'''Stat modifier''':<ref>{{source ref|0.31.0|fight.cc|1332}}</ref>
 +
**<code>0.75 + (0.025 * [[Stats|Stat]])</code>, or a 2.5% boost per stat.
 +
**[[Short Blades]], [[Long Blades]], and [[Ranged Weapons]] use [[dexterity]]. Other weapons and Unarmed Combat use [[strength]].  
 +
**There is a minimum modifier of 0.01 (1%), at -30 stat.
 
*'''Skill modifier''':  
 
*'''Skill modifier''':  
** <code>1 + uniform(Weapon [[skill]])/25</code> (not applied to unarmed combat)
+
**<code>1 + uniform(Weapon [[skill]])/25</code> (not applied to unarmed or throwing)
** The main advantage to raising a weapon/unarmed skill is decreasing your attack delay.
+
**The other main advantage to raising a weapon/unarmed skill is decreasing your [[attack delay]].
 
*'''Fighting modifier''':
 
*'''Fighting modifier''':
** <code>1 + uniform([[Fighting]] skill)/30</code>
+
**<code>1 + uniform([[Fighting]] skill)/30</code>
*'''Misc modifiers''':
+
*'''Misc modifiers''':<ref>{{source ref|0.31.0|melee-attack.cc|1732}}</ref>
** [[Status_effects#Might|Might]] or [[Status_effects#Berserk|Berserk]]: +1d10
+
**[[Status_effects#Might|Might]] or [[Status_effects#Berserk|Berserk]]: +1d10
 
*'''Slaying bonuses''':
 
*'''Slaying bonuses''':
** Weapon [[scroll of enchant weapon|enchantment bonus]]
+
**Weapon [[scroll of enchant weapon|enchantment bonus]]
** - [[Corrosion]] penalty
+
**Added or subtracted from [[Slaying#Sources|sources of slaying]].
** + [[Slaying]] bonus from rings or artifacts
+
*'''Final multipliers''':<ref>{{source ref|0.31.0|melee-attack.cc|1735}}</ref>
** + 3 * [[Augmentation]] mutation level
+
**If it is an additional [[cleaving]] attack: Multiply by 0.7<ref>{{source ref|0.31.0|melee-attack.cc|3782}}</ref>
** + [[Sharp Scales]] mutation level
 
** + [[Wereblood]] slaying bonus
 
** - Penalty from being [[Status_effects#Horrified|horrified]]
 
** + [[Wu Jian Council]] heavenly storm bonus
 
** + [[Infusion]] bonus.
 
*'''Final multipliers''':
 
**If it is an additional [[cleaving]] attack: Multiply by 0.7
 
 
**[[Statue Form]]: Multiply by 1.5
 
**[[Statue Form]]: Multiply by 1.5
 
**[[Shadow Form]]: Multiply by 0.5
 
**[[Shadow Form]]: Multiply by 0.5
**If the player has the [[Weak]] [[status effect]]: Multiply by 0.75
+
**The [[Weak]] [[status effect]]: Multiply by 0.75
 +
**Bonuses for [[Wu Jian]] martial attacks and [[Vhi's Electric Charge]]
 +
**[[Confusing Touch]]: Set to 0
 
*'''Stabbing bonus''': See [[stabbing]].
 
*'''Stabbing bonus''': See [[stabbing]].
 
*'''AC damage reduction''': See [[AC]].
 
*'''AC damage reduction''': See [[AC]].
  
 
==Notes==
 
==Notes==
*The main contributions to weapon damage are: base damage, weapon skill (Maximum of +108% at level 27) and fighting skill (Maximum of +67.5% at level 27).
+
*The main contributions to weapon damage are: base damage, weapon skill (avg. +54% at level 27) and fighting skill (avg. +45% at level 27).
*Effect of weapon and fighting skills is random, with a linear distribution between 0 and the maximum.
+
 
*At very low skill levels, the value of 1 base damage and +1 enchantment are approximately the same. But as characters gain more skill and stats, only base damage gets multiplied, having a greater effect.
+
*At low skill values, 1 base damage roughly equals +1 slay. As you gain skill, only base damage is multiplied, resulting in a greater effect. 1 base damage = <code>1 + (average of Stat mod * Skill mod * Fight mod)</code> slaying.
*Weapon [[brand]]s with multiplicative bonuses are applied after the damage formula, including AC reduction. The added damage then ignores AC, but can be affected by resistances and vulnerabilities.
+
 
*Each term in the formula is calculated in sequence and is rounded down to an integer. This rounding is worse with a weapon with low base damage. For example, take a player with a Stat of 12 and a Skill of 12 in short blades:  
+
*When weapon damage is viewed in the ''''i''''nventory or with the '''@''' command, the "Skill" bonus is <code>Skill mod * Fighting mod</code>, using the average of both rolls.
** With no slaying bonuses, a +0 dagger with a base damage of 4 cannot do more than 5 damage. The same player wielding a +0 rapier with a base damage of 8 can do up to 13 damage. So, the stat and skill bonuses increase the dagger's damage by 25% and the rapier's damage by 62%. The damage per 10 [[aut]] is now a max of 10 for the dagger and a max of 20 for the rapier. For this player, a +5 dagger would be inferior to a +0 rapier (at least, without [[stab]]ing).
+
 
 +
*Weapon [[brand]]s (except [[heavy]]) are applied at the end of the formula, after AC reduction. The added damage then ignores AC.
 +
:In other words, the [[flaming]] or [[freezing]] brands aren't any better on an [[executioner's axe]] than on a [[quickblade]]. For example, if a +0 axe and +9 quickblade dealt the same damage per turn, a +0 axe of flaming and +9 quickblade of flaming would also deal the same damage per turn.
 +
 
 +
===Rounding===
 +
Each term in the formula is calculated in sequence and is rounded down to an integer. This rounding is worse with a weapon with low base damage. For example, take a player with Dex = 16 and Short Blades skill = 12:  
 +
 
 +
*With no slaying bonuses, a +0 dagger with a base damage of 4 cannot do more than 5 damage.  
 +
*The same player wielding a +0 rapier with a base damage of 7 can do up to 11 damage.  
  
==References==
+
So, the stat and skill bonuses increase the dagger's damage by 25% and the rapier's damage by 57%. The dagger would deal up to 10 damage per 10 [[aut]], while the rapier would deal up to 18. For this player, a +3 dagger would be inferior to a +0 rapier (if not used for [[stab]]bing).
<references/>
 
  
 
==History==
 
==History==
*In [[0.29]], launcher, long blade, and short blade damage will scale with [[Dexterity]] rather than [[Strength]].
+
*Prior to [[0.29]], all weapon damage scaled with [[strength]].
*In [[0.27]], the strength modifier was simplified and made nonrandom.
+
*Prior to [[0.27]], the strength modifier was random.
*In [[0.13]] the effect of stats on melee was doubled.
+
*Prior to [[0.18]], weapons used a mix of strength and dexterity, depending on the weapon itself.
 +
*Prior to [[0.13]], stats had half the effect on melee.
 
*Between [[0.8]] and [[0.13]], melee weapons of [[speed (brand)|speed]] suffered a -10% penalty to damage.
 
*Between [[0.8]] and [[0.13]], melee weapons of [[speed (brand)|speed]] suffered a -10% penalty to damage.
  
 +
==References==
 +
<references/>
  
[[Category:Crystal Ball Articles]]
 
 
[[Category:Game mechanics]]
 
[[Category:Game mechanics]]
 
[[Category:Combat]]
 
[[Category:Combat]]

Latest revision as of 04:25, 22 May 2024

Version 0.31: This article may not be up to date for the latest stable release of Crawl.

Weapon damage is your base weapon damage, multiplied by strength modifier, multiplied by weapon skill and fighting skill modifiers. Slaying bonuses and weapon enchantment are added afterwards. Actual damage components are randomly rolled in four places: 1d(Base * Strength modifier), Slaying bonus, Weapon skill modifier and Fighting modifier.

Damage formula

Damage = [uniform(Base damage * Stat modifier) * Skill modifier * Fighting modifier + Misc modifiers + uniform(Slaying bonuses)] * final multipliers + Stabbing bonus - AC damage reduction[1]

  • While final multipliers are applied after stabbing bonus, the stabbing bonus doesn't benefit from these multipliers.

As a shorthand uniform(x) = 1d(x+1)-1 or a roll from 0 to x inclusive.

Notes

  • The main contributions to weapon damage are: base damage, weapon skill (avg. +54% at level 27) and fighting skill (avg. +45% at level 27).
  • At low skill values, 1 base damage roughly equals +1 slay. As you gain skill, only base damage is multiplied, resulting in a greater effect. 1 base damage = 1 + (average of Stat mod * Skill mod * Fight mod) slaying.
  • When weapon damage is viewed in the 'i'nventory or with the @ command, the "Skill" bonus is Skill mod * Fighting mod, using the average of both rolls.
  • Weapon brands (except heavy) are applied at the end of the formula, after AC reduction. The added damage then ignores AC.
In other words, the flaming or freezing brands aren't any better on an executioner's axe than on a quickblade. For example, if a +0 axe and +9 quickblade dealt the same damage per turn, a +0 axe of flaming and +9 quickblade of flaming would also deal the same damage per turn.

Rounding

Each term in the formula is calculated in sequence and is rounded down to an integer. This rounding is worse with a weapon with low base damage. For example, take a player with Dex = 16 and Short Blades skill = 12:

  • With no slaying bonuses, a +0 dagger with a base damage of 4 cannot do more than 5 damage.
  • The same player wielding a +0 rapier with a base damage of 7 can do up to 11 damage.

So, the stat and skill bonuses increase the dagger's damage by 25% and the rapier's damage by 57%. The dagger would deal up to 10 damage per 10 aut, while the rapier would deal up to 18. For this player, a +3 dagger would be inferior to a +0 rapier (if not used for stabbing).

History

  • Prior to 0.29, all weapon damage scaled with strength.
  • Prior to 0.27, the strength modifier was random.
  • Prior to 0.18, weapons used a mix of strength and dexterity, depending on the weapon itself.
  • Prior to 0.13, stats had half the effect on melee.
  • Between 0.8 and 0.13, melee weapons of speed suffered a -10% penalty to damage.

References

  1. attack.cc:1202 (0.31.0)
  2. No damage for darts, nets, or thrown melee weapons
  3. fight.cc:1332 (0.31.0)
  4. melee-attack.cc:1732 (0.31.0)
  5. melee-attack.cc:1735 (0.31.0)
  6. melee-attack.cc:3782 (0.31.0)