Difference between revisions of "Shields"
m (fix str factor) |
Vulpes Logos (talk | contribs) m (→EV Penalty: Changed the size of the ev_penalty image to update the formula properly.) |
||
(43 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | {{ | + | {{version031}} |
''For the skill, see [[Shields (skill)]]. For the item formerly known as just a shield, see [[kite shield]].'' | ''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> | ||
Line 25: | Line 25: | ||
===EV Penalty=== | ===EV Penalty=== | ||
− | Your shield EV penalty is <code>2/5 * encumbrance^2 / (5 + | + | 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" | ||
Line 38: | Line 42: | ||
|} | |} | ||
− | The EV penalty is subtracted directly from your evasion | + | The EV penalty is subtracted directly from your evasion. Your unrounded EV penalty is also used to calculate the other penalties. |
===Attack Penalty=== | ===Attack Penalty=== | ||
− | The shield penalty, in EV, is | + | 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=== | ===Spell Penalty=== | ||
− | The spellcasting penalty is significantly more complicated. Shields add to | + | 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 * | + | <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 is then modified by various functions described in the [[spell success]] page. | + | This number is then modified by various functions described in the [[spell success]] page. |
==[[Ego]]s== | ==[[Ego]]s== | ||
Line 83: | Line 75: | ||
==Blocking== | ==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 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 | + | *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]] | *Enchantments: [[Agony]], [[Pain]], [[Confuse]], everything that checks [[willpower]] | ||
− | |||
− | |||
Some examples of ranged attacks that can be blocked: | Some examples of ranged attacks that can be blocked: | ||
− | *Ranged | + | *[[Ranged Weapons]], like [[shortbow]]s and [[sling]]s |
− | *Spells that fire single-target projectiles like [[Iron Shot]], [[Poison Arrow]], [[Orb of Destruction]], [[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]] | + | 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 | ||
+ | |- | ||
+ | |Kite shield || 3 | ||
+ | |- | ||
+ | |Tower shield || 4 | ||
+ | |} | ||
− | + | ===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> | |
− | |||
− | |||
− | |||
− | |||
− | + | *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. | |
− | The attacker's pierce value | + | ===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== | ==History== | ||
− | *Prior to [[0.30]], species [[size]] impacted shield encumbrance and SH score. Larger species | + | *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. | *In [[0.28]], magical [[orb]]s were added as a new category of off-hand equipment. | ||
− | *Prior to [[0.28]], | + | *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 was more complex. | *Prior to [[0.16]], the amount of skill required to negate penalties for wearing a shield was more complex. | ||
− | |||
− | |||
− | |||
==References== | ==References== |
Latest revision as of 03:28, 23 November 2024
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. |
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.
Contents
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]
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]:
- ~3%, resistance
- 10%, fire resistance
- 10%, cold resistance
- 10%, poison resistance
- 10%, positive energy
- 19%, reflection
- 39%, protection
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:
- Penetrating attacks: Javelins, Bolt spells, 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.
Some examples of ranged attacks that can be blocked:
- Ranged Weapons, like shortbows and slings
- 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:
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]
- Your Base SH is determined by type of shield. 3 for bucklers, 8 for kite shields, 13 for tower shields.
- Add Skill Bonus of
(base_SH/40 + 0.19) * skill
. - Add Stat Bonus of
DEX * 38 * (base_SH + 13) / 5200
. - Add Enchantment value. +1 enchantment = +1 SH.
- Add 0.82 SH.[5]
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
- ↑ player.cc:5739 (0.30.0)
- ↑ 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)) - ↑ makeitem.cc:741 (0.29.1)
- ↑ player.cc:2200 (0.31-b1)
These values are divided by 200 by later functions. - ↑ player.cc:2254 (0.31-b1)
Divided by 2 by a later function. - ↑ player.cc:5656 (0.30.1)
Note that "player_shield_class" is half of your displayed SH.
Armour | |
---|---|
Body Armour | Leather armour • Ring mail • Scale mail • Chain mail • Plate armour • Crystal plate armour
Robe • Animal skin • Troll leather armour • Steam dragon scales • Acid dragon scales • |
Miscellaneous | Hat • Helmet • Cloak • Scarf • Gloves • Boots • Barding |
Shields | Buckler • Kite shield • Tower shield • Orb |