Difference between revisions of "Shields"

From CrawlWiki
Jump to: navigation, search
(Rewrite with much more information. Maybe too much. More work needed.)
m (Attack Penalty)
 
(75 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{Version028}}
+
{{version031}}
 +
''For the skill, see [[Shields (skill)]]. For the item formerly known as just a shield, see [[kite shield]].''
 +
{{flavour|“Let who will boast their courage in the field,<br>
 +
I find but little safety from my shield.<br>
 +
Nature's, not honour's, law we must obey:<br>
 +
This made me cast my useless shield away,<br>
 +
And by a prudent flight and cunning save<br>
 +
A life, which valour could not, from the grave.<br>
 +
A better buckler I can soon regain;<br>
 +
But who can get another life again?”<br>
 +
-Archilochos. 7th cent. B.C. trans. William H. Goodwin, 1878.}}
  
''See [[Weapon Speed]] for tables summarising this information.''
+
[[Shields]] are a kind of armour worn on one hand, preventing the use of two-handed weapons; they make use of the [[Shields skill]]. Unlike other armour, shields increase a character's [[SH]] defense, giving you a chance at blocking physical (and some magical) attacks entirely. There are three types of shield, from smallest to largest:
''This page goes into great detail about attack delay calculations.''
 
  
When deciding between two different weapons, it can be helpful to understand exactly how attack speed works. Each physical attack in ''Crawl'' takes a certain amount of time. A character with a smaller attack delay will swing more frequently than a character with a larger attack delay. This can greatly multiply how often you can inflict damage in combat. So it is strongly recommended to get your attack delay as low as possible.
+
*[[Buckler]]
 +
*[[Kite shield]]
 +
*[[Tower shield]]
  
==Attack Delay Calculations for Weapons and Missles==
+
[[Orb]]s also occupy your off-hand slot, but provide no shielding, instead granting assorted magical effects from their special egos.
*Note that [[strength]], [[dexterity]] and [[armour]] have no effect on attack delay.
 
===Base attack delay===
 
All weapons, thrown objects, and launched objects have a base attack delay. You can find this information in game by examining the weapon or launcher. The base attack delay in game should be multiplied by 10 to give the delay in [[aut]]s. The [[Weapon Speed]] page has a complete tables and includes thrown objects. It also lists the base delay in [[aut]]s. For reference most species move and cast spells with a delay of 10 [[aut]]s.
 
===Minimum attack delay===
 
By raising your skill with the weapon or launcher you can reduce attack delays to the minimum attack delay. The minimum delay is usually 1/2 the base delay rounded down. If this is greater than 7 then the minimum attack delay is set to 7. There are three exceptions to this rule:
 
*[[Short blades]]: The rapier with a base delay of 12 has a minimum delay of 5.
 
*All [[Crossbows]] have a minimum delay of 10.
 
*The [[Woodcutter's axe]] always has a delay of 10 irregardless of skills.
 
===Skill adjustments===
 
Weapon, launcher, or throwing skills brings down the attack delay by <code>(skill level)/2</code> until you reach minimum weapon delay. Increasing your skill beyond that will not let you attack faster but it will slightly improve your damage and accuracy with the weapon. Normally you turn off your weapon skill when you hit minimum delay and dump experience points into increasing skills in other areas. The gods [[Ashenzari]] and [[Okawaru]] can increase your weapon skills and thus contribute to lowering your weapon delay.
 
===Speed Brand===
 
The [[speed (brand)|speed brand]] further reduces the delay to 2/3 of the skill adjusted delay.
 
With skill and speed brand improvements there is a hard coded minimum delay of 3.
 
===Shield Penalties===
 
[[Shields]] will slow down weapon speed. This slow down can be reduced by increasing your [[shields (skill)|shield skill]].
 
The detailed formula is <code>2*(shield encumberance)^2*(270-(10x shield skill))*scale/(5*(20-3*(size factor))/270</code>.
 
The values for shield encumberance and size factor can be found on the [[shields]] page. The scale used in this formula is 20. The game does display the [[Encumbrance rating|shield encumberance]] when describing the item, but it does not report the character size factor. Notice the shield penalty can be reduced to zero with a shield skill of 27.
 
===God Given Abilities===
 
The god [[Okawaru]]'s Finesse ability will further cut the delay in half. Note that this will not stack with haste nor berserk.
 
===Status modifiers===
 
*[[Potion of haste|Haste]] and [[berserk]] will further reduce the delay to 2/3 of its calculated value if you have not invoked Finesse. You cannot be both hasted and berserked.
 
*[[Statue Form]], [[Petrify]]ing, and [[Slow]]ness will increase the delay to 3/2 of the calculated value. These status conditions do stack with haste resulting in a net cancellation of the two different statuses. Slowness can stack with both statue form and petrifying.
 
*In no case, will the delay be reduced below 2.
 
  
==Unarmed Combat==
+
Some magical effects can also increase your SH score.
[[Unarmed combat]] has a different attack delay calculation. It is <code>10-(unarmed combat skill)/54</code>. You start with a delay of 10 with no unarmed combat skill and reach a minimum delay of 5 with an unarmed combat skill of 27. The shield penaties, god given abilities and status modifiers apply to unarmed combat as well.
 
  
==Spells==
+
==Shield Penalties==
Spells can be used for attacking and thus are included on this page. The base delay for casting a spell is 10. It can be modified by status modifiers but delay is not affected by skill, shields, or god abilities.
+
Wearing a shield imposes penalties to attack speed, EV, and spellcasting. While the penalty for wearing a buckler is almost negligible, a tower shield can seriously slow your attacks and make spellcasting unreliable.  
An exception to this is the spell [[Manifold Assault]]. The delay of casting manifold assault is the calculated weapon or unarmed combat delay.
 
  
==Movement Based Attacks==
+
===EV Penalty===
Some attacks are combined with movement. Even if the actual attack delay is not changed, they are mentioned here for completeness.
+
Your shield EV penalty is equal to:<ref>{{source ref|0.30.0|player.cc|5739}}</ref>
===Martial Arts Attacks===
 
The [[Wu Jian]] Council allows a player to make a number of different martial arts attacks. The number of attacks is based on the attack delay and the movement delay. The movement delay is:
 
*10 if you have invoked the serpent's lash ability, or
 
*twice your movement delay if you have invoked the wall jump ability. (The wall jump ability takes two turns.)
 
*Otherwise your normal movement delay is used.
 
Your attack delay is the delay calculated in the previous sections. The number of attacks is the movement delay divided by the attack delay. If this is not an integer, the number of attacks could be rounded up or down. The number of attacks will average out to the non-integer number of attacks calculated. Extreme examples of the numbers of attacks would be a spriggan wielding a triple cross bow. With a movement delay of 6 and an attack delay of 23 the spriggan would only make one attack 6/23 of the time. The other extreme would be a naga wielding a quick blade with sufficient short blade skill. The naga's movement delay would be 14 and the weapon delay would be 3. For a wall jump which counts as two turns the expected number of attacks would be 28/3. So there could be 10 attacks 1/3 of the time.
 
*Note that the serpent's lash ability allows you to take two turns to make martial arts attacks without taking any time.
 
===Charging Attacks===
 
*The [[rampaging]] ego allows you to move towards a target and attack. The time taken is the attack delay and not the movement delay. Even a naga wielding a quick blade with sufficient [[short blade]] skill can move and attack a target with a delay of 3. Compare this with a naga's movement delay of 14.
 
*A [[palentonga]]'s rolling charge allows you to move towards a target and attack. The time taken is the maximum of a movement delay or an attack delay.
 
===Bolt Attacks===
 
There are attacks that can hit multiple targets as you move through them like a bolt.
 
*[[Storm Form]] has the blink bolt ability to move through many targets at once doing damage to each.
 
*[[Uskayaw]]'s line pass ability has the same properties.
 
===Instintaneous attacks===
 
Some spells and abilities let you appear somewhere else and immediately make an attack without any delay.
 
*[[Passwall]] takes time to set up on one side of a rock wall. But you appear on the other side and can attack without targets being able to react to you first. This is different than blink which moves you to a new location and then you stay there for the turn delay.
 
  
==Detailed Calculations==
+
[[File:Shield encumbrance ev.png|500px|alt=<code>2/5 * encumbrance^2 / (5 + str) * (27 - shield_skill) / 27</code>]]
The formulas above give you a very close approximation to the average attack delay. Most players can use the values above or the values on the [[weapon speed]] page without needing to know about the detailed calculations in this section.
 
===Averaging Fractional Delays===
 
Most calculations above can result in fractional delays. If you have a [[short sword]] with a base delay of 11 and a [[short blades|short blade skill]] of 5.7, the formula above would give you an average delay of <code>11-5.7/2 = 8.15</code>. The game mechanics give you an average delay by rolling a delay of 8 85% of the time and a delay of 9 15% of the time. This is needed because all delays are integer values of [[aut]]s.
 
===Using Statistical Random Variables===
 
The fractional delays do not give the entire story because each stage attack delay calculations involve creation of a new random variable. These random variables actually contain all possible integer delays and their weighted probabilities. This can result in a much wider range of attack delays than the averaging of fractional delays would imply. To complicate things, all calculations are done with a fixed precision.
 
This is best explained by examples.
 
====Example 1====
 
Let's use the example of a [[human]] wielding a short sword and a buckler. The human has a [[short blade|short blade skill]] of 7.5 and a shield skill of 4. The [[buckler]]'s encumberance is 5. The human size factor is zero and can be found on the [[shields]] page. There are three random variabls used.
 
*The first is the base delay of the short sword of 11 [[aut]]
 
*The second random variable encorporates the additional skill adjustment delay of -skill*10/scale = -75/20
 
*The third random variable encorporates the additional shield penalty delay of 8/20
 
*The final probabilities: delay=7 47.4%, delay=8 47.4%, delay=9 5.3%
 
  
{| class="wikitable"
+
[[Strength|Stronger]] characters are less encumbered by shields, and anyone can eliminate shield penalty by maxing out the Shields skill.
 +
 
 +
{| class="prettytable" cellpadding="10" border="9"
 
|- align="center"
 
|- align="center"
!
+
! Shield type !! Encumbrance
!colspan="8"|Delays|
 
 
|-
 
|-
! Explaination !! 6 !! 7 !! 8 !! 9 !! 10 !! 11 !! 12 !! 13 !! Total Weight
+
|Buckler || 5
 
|-
 
|-
|Base delay<br>short sword
+
|Kite shield || 10
|   ||  ||  ||  ||  || 1  ||  || || 1
 
 
|-
 
|-
|Subtract Skill reduction<br>7.5*scale/20
+
|Tower shield || 15
|   || 15  || ||   ||   ||   ||   ||   || 20
+
|}
 +
 
 +
The EV penalty is subtracted directly from your evasion. Your unrounded EV penalty is also used to calculate the other penalties.
 +
 
 +
===Attack Penalty===
 +
This penalty applies to melee attacks (including unarmed attacks), ranged weapons, and throwing weapons.
 +
 
 +
The shield penalty, in units of EV, is converted into attack delay, in units of [[aut]]. When you attack with a shield, it'll take from <code>EV_penalty</code> to <code>EV_penalty + 0.05</code> aut longer.<ref>{{source ref|0.30.0|player-act.cc|348}}<br>Note that the function random_var is rolling a number from (20 * EV_penalty) to (20 * EV_penalty + 1), which is then divided by 20, and rounded in a weighed fashion. (See {{source ref|0.30.1|random-var.cc|11}})</ref> If the penalty is not an integer, it is rounded in a weighted manner.
 +
 
 +
Note that it is in units of aut, not [[decaAut]] or "[[turn]]s". For reference, having 1 EV penalty slows you down by 1 aut = 0.1 turn.
 +
 
 +
===Spell Penalty===
 +
The spellcasting penalty is significantly more complicated. Shields add to "SpellFailure", not to be confused with your actual % chance of failure:
 +
 
 +
<code>spell failure = 19 * ev_penalty </code>
 +
 
 +
For reference, 12 SpellFailure = 1 level in every spell school (excluding [[Spellcasting]]). 15 SpellFailure = 1 level in every school, including [[Spellcasting]].
 +
 
 +
This number is then modified by various functions described in the [[spell success]] page.
 +
 
 +
==[[Ego]]s==
 +
[[Buckler]]s, [[kite shield]]s, and [[tower shield]]s can spawn with the following egos<ref>{{source ref|0.29.1|makeitem.cc|741}}</ref>:
 +
*~3%, [[Resistance_(ego)|resistance]]
 +
*10%, [[fire resistance]]
 +
*10%, [[cold resistance]]
 +
*10%, [[poison resistance]]
 +
*10%, [[positive energy]]
 +
*19%, [[reflection]]
 +
*39%, [[protection]]
 +
 
 +
Shields of [[cold resistance|cold]] and [[fire resistance]] can also occasionally be found in [[ice cave]]s and [[volcano]]es, respectively.
 +
 
 +
Every [[orb]] has its own ego; see the [[orb]] page for more details.
 +
 
 +
==Blocking==
 +
As long as your [[SH]] is above 0, you can block melee and ranged "projectile" attacks.
 +
 
 +
All melee attacks can be blocked (except for successful [[stab]]s), but many types of ranged attacks are unblockable:
 +
*[[Penetration|Penetrating]] attacks: [[Javelin]]s, [[Bolt spell]]s, [[Starburst]]...
 +
*Almost everything with perfect [[accuracy]]: [[Magic Dart]], [[Smiting]], [[Chain Lightning]], Explosions ([[Fireball]], [[Damnation]]), [[Shatter]]...
 +
:[[Orb of Destruction]] is the only spell that ignores EV, but can be blocked.
 +
*Enchantments: [[Agony]], [[Pain]], [[Confuse]], everything that checks [[willpower]]
 +
 
 +
Some examples of ranged attacks that can be blocked:
 +
*[[Ranged Weapons]], like [[shortbow]]s and [[sling]]s
 +
*Spells that fire single-target projectiles, like [[Iron Shot]], [[Poison Arrow]], [[Orb of Destruction]], [[Sandblast]]
 +
 
 +
If the attacker's pierce value is less than the defender's blocking value (see below for details), the attack does no damage. However, there is a hard limit on the amount of attacks you can block per player turn. Shield blocking is done before rolling your [[evasion]] or your [[AC]]. Blocking doesn't benefit from [[repulsion]] or [[EV]].
 +
 
 +
Your ability to block missiles doesn't benefit from [[repulsion]] or [[EV]].
 +
 
 +
===Max Blocks===
 +
Each type of shield (or lack thereof) can only block a certain number of attacks per player turn:
 +
{| class="prettytable" cellpadding="10" border="9"
 +
|- align="center"
 +
! Shield type !! Max Blocks
 +
|-
 +
|None || 1
 +
|-
 +
|Buckler || 2
 
|-
 
|-
|Add shield penalty<br>
+
|Kite shield || 3
2*(5)^2*(270-(10*4))*20<br>/(5*(20-3*(0))/270
 
<br>=2300/270=8
 
|  || 15*12  || 15*8 + 5*12  || 5*8  ||  ||    ||  ||  ||  
 
 
|-
 
|-
|Shield Penalty Weights
+
|Tower shield || 4
|   || 180 || 180  || 20  ||  ||    ||  ||  || 380
 
 
|}
 
|}
*Note that there are three possible delays, not just two based upon one average
+
 
*A scale is used to create weights which avoids large integer division truncation inaccuracies
+
===SH calculation===
*A random number from 0-380 is created and a delay is selected based upon which bin the number would fall into.
+
If you are wielding a physical shield, its SH is determined as follows:<ref>{{source ref|0.31-b1|player.cc|2200}}<br>These values are divided by 200 by later functions.</ref>
 +
 
 +
*Your '''Base SH''' is determined by type of shield. 3 for [[buckler]]s, 8 for [[kite shield]]s, 13 for [[tower shield]]s.
 +
*Add '''[[Shields (skill)|Skill Bonus]]''' of <code>(base_SH/40 + 0.19) * skill</code>.
 +
*Add '''[[Dexterity|Stat Bonus]]''' of <code>DEX * 38 * (base_SH + 13) / 5200</code>.
 +
*Add '''[[Enchant]]ment''' value. +1 enchantment = +1 SH.
 +
*Add 0.82 SH.<ref>{{source ref|0.31-b1|player.cc|2254}}<br>Divided by 2 by a later function.</ref>
 +
 
 +
All other sources of SH ([[Qazlal]] shield, [[amulet of reflection]]...) are flat bonuses, and are added on top of the physical shield bonus. The final value is rounded to the nearest integer and displayed as the player's SH value.
 +
 
 +
If you are [[paralysed]], [[petrified]], or if [[dexterity]] is 0, then SH is set to 0 regardless of any other factors.
 +
 
 +
===Chance to block===
 +
The game compares the attacker's "pierce value" to the defender's "block value".
 +
 
 +
The attacker's pierce value is dependent on their [[to-hit]] (accuracy) and the type of attack:
 +
* '''Melee attack:''' <code>1d(15 + to_hit/2)</code>
 +
* '''Ranged attack:'''  <code>1d(1.3×to hit)</code>
 +
 
 +
The defender's blocking value is equal to:<ref>{{source ref|0.30.1|player.cc|5656}}<br>Note that "player_shield_class" is half of your displayed SH.</ref>
 +
* '''All attacks:''' <code>2d(4×SH)/6 - 1</code>
 +
* Divide by 3 against melee attacks from [[invisible]] opponents.
 +
 
 +
If the blocking value is greater or equal than the attacker's pierce value, the attack is blocked.
 +
 
 +
==History==
 +
*Prior to [[0.31]], shields did not have a hard limit on the number of attacks you could block. However, for each attack you blocked, future blocks attempts were less likely (attackers' pierce value was <code>1d(15 + to_hit/2 +5 × past_blocks^2)</code> for melee, similar for ranged). Also, instead of gaining 0.82 SH by default, the first three levels gave an extra +0.19 SH/level, and you only got 0.25 SH by default.
 +
*Prior to [[0.30]], species [[size]] impacted shield encumbrance and SH score. Larger species were less encumbered by shields, but received slightly less SH from kite shields. Smaller species were the opposite, more SH from bucklers/kite shields, but more encumbered by them. Strength had no effect on shield penalties.
 +
*In [[0.28]], magical [[orb]]s were added as a new category of off-hand equipment.
 +
*Prior to [[0.28]], shields had a different EV penalty formula, <code>EV_penalty - skill / (5 + [[Evasion#Base EV|size_factor]])</code> (buckler = 0.8 EV, kite shield = 3, tower shield = 5). Using shields at 0 skill was more encumbering, but certain skill thresholds (regular [[size]] species: 4 skill for buckler, 15 for kite shield, 25 for tower shield) negated penalties entirely. They also had a [[to-hit]] penalty. In addition, the two larger shields used [[strength]] (along with [[dexterity]]) to determine bonus SH.
 +
*Prior to [[0.27]], shields had a smaller and randomized penalty to [[attack delay]] (previously: <code>smaller of {1d(20 * EV)/20, 1d(20 * EV)/20}</code> rounded down).
 +
*Prior to [[0.25]], [[kite shield]]s were known as just "shields" and [[tower shield]]s were called "large shields".
 +
*Prior to [[0.17]], [[unarmed]] attacks had a speed penalty when attacking with a shield equipped.
 +
*Prior to [[0.16]], the amount of skill required to negate penalties for wearing a shield was more complex.
  
 
==References==
 
==References==
 
<references/>
 
<references/>
  
==History==
+
{{armours}}
  
[[Category:Game mechanics]]
+
[[Category:Items]]
 +
[[Category:Shields]]

Latest revision as of 00:46, 5 February 2024

Version 0.31: This article is up to date for the latest stable release of Dungeon Crawl Stone Soup.

For the skill, see Shields (skill). For the item formerly known as just a shield, see kite shield.

“Let who will boast their courage in the field,

I find but little safety from my shield.
Nature's, not honour's, law we must obey:
This made me cast my useless shield away,
And by a prudent flight and cunning save
A life, which valour could not, from the grave.
A better buckler I can soon regain;
But who can get another life again?”
-Archilochos. 7th cent. B.C. trans. William H. Goodwin, 1878.

Shields are a kind of armour worn on one hand, preventing the use of two-handed weapons; they make use of the Shields skill. Unlike other armour, shields increase a character's SH defense, giving you a chance at blocking physical (and some magical) attacks entirely. There are three types of shield, from smallest to largest:

Orbs also occupy your off-hand slot, but provide no shielding, instead granting assorted magical effects from their special egos.

Some magical effects can also increase your SH score.

Shield Penalties

Wearing a shield imposes penalties to attack speed, EV, and spellcasting. While the penalty for wearing a buckler is almost negligible, a tower shield can seriously slow your attacks and make spellcasting unreliable.

EV Penalty

Your shield EV penalty is equal to:[1]

2/5 * encumbrance^2 / (5 + str) * (27 - shield_skill) / 27

Stronger characters are less encumbered by shields, and anyone can eliminate shield penalty by maxing out the Shields skill.

Shield type Encumbrance
Buckler 5
Kite shield 10
Tower shield 15

The EV penalty is subtracted directly from your evasion. Your unrounded EV penalty is also used to calculate the other penalties.

Attack Penalty

This penalty applies to melee attacks (including unarmed attacks), ranged weapons, and throwing weapons.

The shield penalty, in units of EV, is converted into attack delay, in units of aut. When you attack with a shield, it'll take from EV_penalty to EV_penalty + 0.05 aut longer.[2] If the penalty is not an integer, it is rounded in a weighted manner.

Note that it is in units of aut, not decaAut or "turns". For reference, having 1 EV penalty slows you down by 1 aut = 0.1 turn.

Spell Penalty

The spellcasting penalty is significantly more complicated. Shields add to "SpellFailure", not to be confused with your actual % chance of failure:

spell failure = 19 * ev_penalty

For reference, 12 SpellFailure = 1 level in every spell school (excluding Spellcasting). 15 SpellFailure = 1 level in every school, including Spellcasting.

This number is then modified by various functions described in the spell success page.

Egos

Bucklers, kite shields, and tower shields can spawn with the following egos[3]:

Shields of cold and fire resistance can also occasionally be found in ice caves and volcanoes, respectively.

Every orb has its own ego; see the orb page for more details.

Blocking

As long as your SH is above 0, you can block melee and ranged "projectile" attacks.

All melee attacks can be blocked (except for successful stabs), but many types of ranged attacks are unblockable:

Orb of Destruction is the only spell that ignores EV, but can be blocked.

Some examples of ranged attacks that can be blocked:

If the attacker's pierce value is less than the defender's blocking value (see below for details), the attack does no damage. However, there is a hard limit on the amount of attacks you can block per player turn. Shield blocking is done before rolling your evasion or your AC. Blocking doesn't benefit from repulsion or EV.

Your ability to block missiles doesn't benefit from repulsion or EV.

Max Blocks

Each type of shield (or lack thereof) can only block a certain number of attacks per player turn:

Shield type Max Blocks
None 1
Buckler 2
Kite shield 3
Tower shield 4

SH calculation

If you are wielding a physical shield, its SH is determined as follows:[4]

All other sources of SH (Qazlal shield, amulet of reflection...) are flat bonuses, and are added on top of the physical shield bonus. The final value is rounded to the nearest integer and displayed as the player's SH value.

If you are paralysed, petrified, or if dexterity is 0, then SH is set to 0 regardless of any other factors.

Chance to block

The game compares the attacker's "pierce value" to the defender's "block value".

The attacker's pierce value is dependent on their to-hit (accuracy) and the type of attack:

  • Melee attack: 1d(15 + to_hit/2)
  • Ranged attack: 1d(1.3×to hit)

The defender's blocking value is equal to:[6]

  • All attacks: 2d(4×SH)/6 - 1
  • Divide by 3 against melee attacks from invisible opponents.

If the blocking value is greater or equal than the attacker's pierce value, the attack is blocked.

History

  • Prior to 0.31, shields did not have a hard limit on the number of attacks you could block. However, for each attack you blocked, future blocks attempts were less likely (attackers' pierce value was 1d(15 + to_hit/2 +5 × past_blocks^2) for melee, similar for ranged). Also, instead of gaining 0.82 SH by default, the first three levels gave an extra +0.19 SH/level, and you only got 0.25 SH by default.
  • Prior to 0.30, species size impacted shield encumbrance and SH score. Larger species were less encumbered by shields, but received slightly less SH from kite shields. Smaller species were the opposite, more SH from bucklers/kite shields, but more encumbered by them. Strength had no effect on shield penalties.
  • In 0.28, magical orbs were added as a new category of off-hand equipment.
  • Prior to 0.28, shields had a different EV penalty formula, EV_penalty - skill / (5 + size_factor) (buckler = 0.8 EV, kite shield = 3, tower shield = 5). Using shields at 0 skill was more encumbering, but certain skill thresholds (regular size species: 4 skill for buckler, 15 for kite shield, 25 for tower shield) negated penalties entirely. They also had a to-hit penalty. In addition, the two larger shields used strength (along with dexterity) to determine bonus SH.
  • Prior to 0.27, shields had a smaller and randomized penalty to attack delay (previously: smaller of {1d(20 * EV)/20, 1d(20 * EV)/20} rounded down).
  • Prior to 0.25, kite shields were known as just "shields" and tower shields were called "large shields".
  • Prior to 0.17, unarmed attacks had a speed penalty when attacking with a shield equipped.
  • Prior to 0.16, the amount of skill required to negate penalties for wearing a shield was more complex.

References

  1. player.cc:5739 (0.30.0)
  2. player-act.cc:348 (0.30.0)
    Note that the function random_var is rolling a number from (20 * EV_penalty) to (20 * EV_penalty + 1), which is then divided by 20, and rounded in a weighed fashion. (See random-var.cc:11 (0.30.1))
  3. makeitem.cc:741 (0.29.1)
  4. player.cc:2200 (0.31-b1)
    These values are divided by 200 by later functions.
  5. player.cc:2254 (0.31-b1)
    Divided by 2 by a later function.
  6. player.cc:5656 (0.30.1)
    Note that "player_shield_class" is half of your displayed SH.
Armour
Body Armour Leather armourRing mailScale mailChain mailPlate armourCrystal plate armour

RobeAnimal skinTroll leather armourSteam dragon scalesAcid dragon scales
Swamp dragon scalesQuicksilver dragon scalesFire dragon scalesIce dragon scales
Pearl dragon scalesShadow dragon scalesStorm dragon scalesGold dragon scales

Miscellaneous HatHelmetCloakScarfGlovesBootsBarding
Shields BucklerKite shieldTower shieldOrb