Difference between revisions of "Shields"

From CrawlWiki
Jump to: navigation, search
m (EV Penalty: Changed the size of the ev_penalty image to update the formula properly.)
 
(88 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>
 
{{flavour|“Let who will boast their courage in the field,<br>
 
I find but little safety from my shield.<br>
 
I find but little safety from my shield.<br>
Line 10: Line 11:
 
-Archilochos. 7th cent. B.C. trans. William H. Goodwin, 1878.}}
 
-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. Some other effects can also grant you an SH score.
+
[[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:
 +
 
 +
*[[Buckler]]
 +
*[[Kite shield]]
 +
*[[Tower shield]]
 +
 
 +
[[Orb]]s 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==
 
==Shield Penalties==
Wearing a shield also gives penalties to attack speed, EV, and spellcasting. While the penalty for wearing a small buckler is almost negligible, a tower shield can seriously slow your attacks and make spellcasting unreliable.  
+
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.  
  
Specifically, your shield penalty is <code> 2/5 * encumberance^2 / (20 - 3 * size_factor) * (27 - shield_skill) / 27 </code><ref>{{source ref|0.28.0|player.cc|5587}}</ref>. This is your penalty to your evasion, which gets used to calculate everything else. This means that larger species can wield shields more comfortably, while anyone can eliminate shield penalty by maxing out the Shields skill.
+
===EV Penalty===
 +
Your shield EV penalty is equal to:<ref>{{source ref|0.30.0|player.cc|5739}}</ref>
 +
 
 +
[[File:Shield encumbrance ev.png|642px|alt=<code>2/5 * encumbrance^2 / (5 + str) * (27 - shield_skill) / 27</code>]]
 +
 
 +
[[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"
 
{| class="prettytable" cellpadding="10" border="9"
 
|- align="center"
 
|- align="center"
! Shield type !! Shield Encumb.
+
! Shield type !! Encumbrance
 
|-
 
|-
 
|Buckler || 5
 
|Buckler || 5
Line 28: Line 42:
 
|}
 
|}
  
{| class="prettytable" cellpadding="10" border="9"
+
The EV penalty is subtracted directly from your evasion. Your unrounded EV penalty is also used to calculate the other penalties.
|- align="center"
+
 
! Size !! Races !! Size factor
+
===Attack Penalty===
|-
+
This penalty applies to melee attacks (including unarmed attacks), ranged weapons, and throwing weapons.
|Little || [[Spriggan]] || +4
+
 
|-
+
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.
|Small || [[Kobold]], [[Halfling]] || +2
+
 
|-
+
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.
|Normal || most races || 0
+
 
|-
+
===Spell Penalty===
|Large<br>(normal torso) & Formicids || [[Palentonga]], [[Naga]], [[Formicid]] || -2
+
The spellcasting penalty is significantly more complicated. Shields add to "SpellFailure", not to be confused with your actual % chance of failure:
|-
+
 
|Large || [[Ogre]], [[Troll]] || -2
+
<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]].
  
When attacking with any kind of weapon (including unarmed), if you are wearing a shield and your Shield penalty is greater than zero, the game throws two dice with (Shield penalty) sides. The smaller value rolled is added to your attack delay.
+
This number is then modified by various functions described in the [[spell success]] page.
  
 
==[[Ego]]s==
 
==[[Ego]]s==
All three types of shields can spawn with the following egos<ref>{{source ref|0.25.0|makeitem.cc|806}}</ref>:
+
[[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]]
 
*~3%, [[Resistance_(ego)|resistance]]
 
*10%, [[fire resistance]]
 
*10%, [[fire resistance]]
Line 55: Line 70:
 
*39%, [[protection]]
 
*39%, [[protection]]
  
Shields of [[cold resistance|cold]] and [[fire resistance]] can occasionally be found in [[ice cave]]s and [[volcano]]es.
+
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==
 
==Blocking==
===Effect===
+
As long as your [[SH]] is above 0, you can block melee and ranged "projectile" attacks.
It's possible to block a melee attack or a ranged projectile attack if you wear a shield of some kind or are under the effect of a magical shield ([[amulet of reflection]], [[Qazlal]]'s Storm Shield, or [[the Shining One]]'s Divine Shield) or have the [[Good_mutations#Large_Bone_Plates|Large Bone Plates]] mutation. Your ability to block missiles doesn't benefit from [[Repel Missiles|missile-repelling]] effects like a [[scarf]] of repulsion, and you cannot benefit from any form of shield while you are [[confuse]]d.
 
  
All melee attacks can be blocked (except for successful [[stab]]s), but many ranged attacks are unblockable:
+
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]]...
 
*[[Penetration|Penetrating]] attacks: [[Javelin]]s, [[Bolt spell]]s, [[Starburst]]...
*Explosions: [[Fireball]], [[Damnation]], [[Fire Storm]], [[Conjure Ball Lightning]]...
+
*Almost everything with perfect [[accuracy]]: [[Magic Dart]], [[Smiting]], [[Chain Lightning]], Explosions ([[Fireball]], [[Damnation]]), [[Shatter]]...
*Electrical discharges: [[Static Discharge]], [[Chain Lightning]]
+
:[[Orb of Destruction]] is the only spell that ignores EV, but can be blocked.
*Enchantments: [[Agony]], [[Pain]], [[Confuse]], [[Mesmerise]], etc
+
*Enchantments: [[Agony]], [[Pain]], [[Confuse]], everything that checks [[willpower]]
*Beams with perfect accuracy: [[Magic Dart]], [[Freeze]], [[Sticky Flame]] (only the player's version)
 
*Other ranged attacks that are not beams: [[Shatter]], [[Tornado]], [[Airstrike]], [[Smite]], [[Ozocubu's Refrigeration]], etc
 
  
 
Some examples of ranged attacks that can be blocked:
 
Some examples of ranged attacks that can be blocked:
*Ranged weapons like [[Bows]] or [[Slings]]
+
*[[Ranged Weapons]], like [[shortbow]]s and [[sling]]s
*Spells that fire projectiles like [[Iron shot]], [[Poison Arrow]], [[Orb of Destruction]], [[Lehudib's Crystal Spear]], [[Throw Icicle]], [[Stone Arrow]], [[Throw Flame]], [[Throw Frost]], [[Sting]], [[Sandblast]]
+
*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. Shield blocking is done before rolling your [[evasion]] or your [[AC]], but if you have already blocked some attacks in that turn, your blocking ability will be decreased greatly.
+
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]].
  
===Calculation===
+
Your ability to block missiles doesn't benefit from [[repulsion]] or [[EV]].
The defender's blocking value depends on the nature of the shield:
 
 
 
Physical shields:
 
SH = Block × (1 + Shield skill/40)
 
+ Enchantment bonus + Stat bonus
 
+ min(0.38×Shield skill, .57 + 0.19×Shield skill)
 
 
 
and then on top of either of those:
 
+ Divine shield bonus
 
+ Qazlal shield bonus
 
+ Mutation bonus
 
+ Amulet of reflection bonus
 
+ Any SH bonus from artifacts
 
 
 
For a physical shield (Buckler, Kite Shield, and Tower Shield), '''Block''' is the shield's blocking value, equal to the base shield bonus (3 for Buckler, 8 for Kite Shield, 13 for Tower Shield), modified by a size factor:
 
  
 +
===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"
 
{| class="prettytable" cellpadding="10" border="9"
 
|- align="center"
 
|- align="center"
! Size !! Races !! Buckler !! Kite Shield !! Tower shield
+
! Shield type !! Max Blocks
|-
 
|Little || [[Spriggan]] || +2 || - || -
 
 
|-
 
|-
|Small || [[Kobold]], [[Halfling]] || +1 || +0.5 || -
+
|None || 1
 
|-
 
|-
|Normal || most races || 0 || 0 || 0
+
|Buckler || 2
 
|-
 
|-
|Large<br>(normal torso) & Formicids || [[Palentonga]], [[Naga]], [[Formicid]] || 0 || 0 || 0
+
|Kite shield || 3
 
|-
 
|-
|Large || [[Ogre]], [[Troll]] || - || -0.5 || 0
+
|Tower shield || 4
 
|}
 
|}
  
*'''Stat bonus''' is <code> DEX * 38 * (base_shield + 13) / 26 </code>,
+
===SH calculation===
 
+
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>
*The Shining One's '''Divine shield bonus''' is based on Invocations skill.
 
  
*'''Mutation bonus''' is +4/6/8 SH depending on your level of the [[Good_mutations#Large_Bone_Plates|Large Bones Plates]] mutation.
+
*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>
  
The resulting value is rounded to the nearest integer and displayed as the player's SH value.
+
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.
  
The attacker's pierce value is equal to:
+
If you are [[paralysed]], [[petrified]], or if [[dexterity]] is 0, then SH is set to 0 regardless of any other factors.
  
1d(15 + to hit/2 + 5×past_blocks^2) - 1 (melee attacks)
+
===Chance to block===
 +
The game compares the attacker's "pierce value" to the defender's "block value".
  
  1d(1.3×to hit   + 5×past_blocks^2) - 1 (ranged attacks)  
+
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>
  
"To hit" is the monster's [[To hit]] value (based primarily on the monster's [[HD]], type, and weapon accuracy) and "past_blocks" is the number of attacks already successfully blocked in the current turn.
+
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.
  
The defender's blocking value is equal to:
+
If the blocking value is greater or equal than the attacker's pierce value, the attack is blocked.
2d(2×SH)/6 - 1.3 (Divided by 3 against melee attacks from invisible opponents)
 
 
 
If this value is greater or equal than the attacker's pierce value, the attack is blocked.
 
  
 
==History==
 
==History==
*Prior to [[0.28]], shield penalty could be eliminated before 27 Shields (4 skill for buckler, 15 for kite shield, 25 for tower shield). The two larger shields used Str+Dex to determine SH, and shields had a to-hit penalty.
+
*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.
*In [[0.27]], the shield penalty increased.
+
*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.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.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 were more complex.
+
*Prior to [[0.16]], the amount of skill required to negate penalties for wearing a shield was more complex.
  
 
==References==
 
==References==
 
<references/>
 
<references/>
 +
 +
{{armours}}
  
 
[[Category:Items]]
 
[[Category:Items]]
 
[[Category:Shields]]
 
[[Category:Shields]]
[[Category:Crystal Ball Articles]]
 

Latest revision as of 03:28, 23 November 2024

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

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 scalesGolden dragon scales

Miscellaneous HatHelmetCloakScarfGlovesBootsBarding
Shields BucklerKite shieldTower shieldOrb