Попробовал перевести http://www.hut.fi/~tgustafs/damagereduction.html ,что получилось, см. ниже.
Если будут исправления, замечания, неточности, то оставьте их ниже.
Повреждение и его расчет в Diablo II (1.10)
Используемые термины:
- Damage/Повреждение = исходное повреждение, нанесенное атакующим
- XvX = модификатор, зависящий от типа атакующего и атакуемого юнита
- ES = Energy Shield скилл у Sorceress (учитывается при всех видах атак за исключением poison атаки)
- ArmorSkill = Bone Armor скилл Necromancer-а (учитывается против физических повреждений) или Cyclone Armor скилл у друида (учитывается при повреждениях от fire, cold и lightning)
- DR = Damage reduced by X (учитывается против физических повреждений) или Magic damage reduced by X (учитывается при повреждениях от fire, cold, lightning and magic damage)
- Resistance/резист = Resistance (применяется к конкретному типу повреждения) или Damage Reduced by X% (учитывается против физических повреждений)
- Absorb% = Относительный абсорб, он же процентный абсорб (применяется к конкретному типу повреждения)
- Absorb = Абсолютный абсорб, он же прямой абсорб (применяется к конкретному типу повреждения)
- TelekinesisBaseLevel = базовый уровень скилла Telekines (т.е. ровно столько, сколько мы вложили в него скиллов) (ветка lightning skill у Sorceress)
- ManaDamage = Повреждение, нанесенное в ману атакующим
- PhysicalDamage = Физическое повреждение, нанесенное атакующим
- BoneArmor = Bone Armor скилл Necromancer-а
- PhysicalResistance = Damage Reduced by X%
- DamageGoesToMana% = Damage Goes To Mana %
- PLR = Poison Length Reduction
- айтем = Item
- скилл = Skill
- дефенс = Defense
Слова Fire, Cold, Lightning, Poison, Magic и Physical используются в англоязычном варианте.
В Diablo II существует шесть видов повреждений: Fire, Cold, Lightning, Poison, Magic и Physical. Каждому из этих шести видов повреждений есть свой резист, но на экране персонажа отображаются только четыре из них.
1.1. Примеры этих повреждений.
- Fire : Firewall (Sorceress) и Fire Arrow (Amazon)
- Cold : Frozen Orb (Sorceress) и Freezing Arrow (Amazon)
- Lightning : Nova (Sorceress) и Lightning Fury (Amazon)
- Poison : Poison Nova (Necromancer)
- Magic : Bone Spirit и Bone Spear (Necromancer), Berserk (Barbarian)
- Physical : Нормальная атака и другие виды не элементальных атак
В отличие от других видов повреждений, у этого вида есть два параметра влияющие на его общее повреждение: poison damage per frame и poison length.
Но также существует и два параметра влияющие на уменьшающие полученного общего повреждения от poison: Poison Resistance и Poison Length Reduction, применяемых соответсвенно к poison damage per frame и poison length.
2. Модификаторы повреждения.
В игре их существует восемь типов:
- резист
- absorb%
- absorb
- Damage reduced by X и Magic damage reduced by X
- ES
- ArmorSkil
- XvX
- PLR
модификатор: Resist + X% (4 различных вида)
учитывается при повреждениях: Fire/Cold/Lightning/Poison
пенальти, зависящее от уровня сложности игры (Nightmare/Hell): -40 / -100
нижняя граница: -100
верхняя граница: 95
модификатор: All Resistances + X
учитывается при повреждениях: Fire,Cold,Lightning и Poison
пенальти, зависящее от уровня сложности игры (Nightmare/Hell): -40 / -100
нижняя граница: -100
верхняя граница: 95
модификатор: Damage Reduced By X% (physical resistance)
учитывается при повреждениях: Physical
пенальти, зависящее от уровня сложности игры (Nightmare/Hell): -/-
нижняя граница: -100
верхняя граница: 50
модификатор: Poison Length Reduced by X%
учитывается при повреждениях: Poison Length
пенальти, зависящее от уровня сложности игры (Nightmare/Hell): -40 / -100
нижняя граница: -100
верхняя граница: 75
модификатор: Magic Resistance +X%
учитывается при повреждениях: Magic
пенальти, зависящее от уровня сложности игры (Nightmare/Hell): -/-
нижняя граница: -100
верхняя граница: 75
модификатор: Damage Reduced By X
учитывается при повреждениях: Physical
пенальти, зависящее от уровня сложности игры (Nightmare/Hell): -/-
нижняя граница: -
верхняя граница: -
модификатор: Magic Damage Reduced By X
учитывается при повреждениях: Fire,Cold,Lightning и Poison
пенальти, зависящее от уровня сложности игры (Nightmare/Hell): -/-
нижняя граница: -
верхняя граница: -
модификатор: Absorb X% (3 различных вида)
учитывается при повреждениях: Fire/Cold/Lightning
пенальти, зависящее от уровня сложности игры (Nightmare/Hell): -/-
нижняя граница: -
верхняя граница: 40
модификатор: +X Absorb (4 различных вида)
учитывается при повреждениях: Fire/Cold/Lightning/Magic
пенальти, зависящее от уровня сложности игры (Nightmare/Hell): -/-
нижняя граница: -
верхняя граница: -
модификатор: Energy Shield
учитывается при повреждениях: Physical, Fire, Cold, Lightning, Magic
пенальти, зависящее от уровня сложности игры (Nightmare/Hell): -/-
нижняя граница: -
верхняя граница: -
модификатор: Bone Armor
учитывается при повреждениях: Physical
пенальти, зависящее от уровня сложности игры (Nightmare/Hell): -/-
нижняя граница: -
верхняя граница: -
модификатор: Cyclone Armor
учитывается при повреждениях: Fire, Cold, and Lightning
пенальти, зависящее от уровня сложности игры (Nightmare/Hell): -/-
нижняя граница: -
верхняя граница: -
модификатор: Unit Type Modification
учитывается при повреждениях: всех видов
пенальти, зависящее от уровня сложности игры (Nightmare/Hell): -/-
нижняя граница: -
верхняя граница: -
2.2. Magic Damage Reduced by X.
Blizzard вводили этот модификатор для защиты от атак наносящих покадровое повреждение в течение времени своего действия (frame-based атака), например - Firewal, Firestorml, Inferno. Но со временем они поняли, что MDR являлся слишком мощным средством защиты против frame-based атак, в результате чего они уменьшили его эффект, путем применения эффекта от этого модификатора ежесекундно, а не покадрово. Т.е, это означает, что сейчас эффект от MDR уменьшен в 25 раз.
Примечание: повреждение от firewall-а - это суммарное повреждение от трех линий огня, одновременно наносящих повреждение. Каждая такая линия огня является отдельной атакой в результате чего, эффект от MDR применяется три раза. Т.е. в отношении firewall-а, MDR эффективней в три раза.
Значение модификатора MDR для некоторых типов элементальных атак:
- Arctic Blast, Druid = 1/25
- Armageddon Fire, Druid = 1/25
- Firestorm, Druid = 1/25
- Firewall, Sorceress = 1/25
- Immolation Arrow Fire, Amazon = 1/25
- Inferno, Sorceress = 2/25
- Meteor Fire, Sorceress = 1/25
- Molten Boulder Fire, Druid = 1/25
- Wake of Fire, Assassin = 5/25
- Wake of Inferno, Assassin = 2/25
2.3. Unit Type Modification (XvX).
Это значение зависит от атакующего и атакуемого типа юнита (XvX): Player, Hireling, Golem, Minion, Special Boss, Monster, Act End Boss. Значение показателя XvX по первым 4 видам:
Атакующий vs Атакуемый : XvX
- Player vs Player: 17%
- Player vs Hireling/Golem/Minion: 100%
- Hireling vs Player: 17%
- Hireling vs Hireling: 25%
- Hireling vs Golem/Minion: 100%
- Golem/Minion vs Player: 17%
- Golem/Minion vs Hireling/Golem/Minion: 100%
Абсорб не только уменьшает полученное повреждение, но и также восстанавливает некоторое кол-во жизни равное величине, на которую он уменьшил это полученное повреждение.
И величина жизни, полученная от абсорба, прибавляется к текущему показателю жизни, но ее итоговое значение не может превысить ее максимального показателя. И следовательно, если итоговое повреждение превысит максимальный показатель жизни,то абсорб никак не предотвратит смерти.
3. Расчет резиста (Resistance)
3.1 Порядок расчета резиста и влияние на него модификаторов:
Резист понижается за счет некоторых скиллов, а также пенальти зависящего от уровня сложности. Итак:
шаг 1."Резист"
суммируются все резисты данного вида с вещей, скиллов и др.
шаг 2. "Ауры и проклятия, понижающие данный вид резиста"
Если они воздействуют на монстра имеющего иммунитет к данному виду резиста, то эффект их действия уменьшается до 1/5. Это следующие скиллы (нет имуннитета / есть иммунитет):
Amplify Damage (Necromancer curse)
понижает physical резист на: -100 / -20
Conviction (Paladin offensive aura)
понижает fire, cold, и lightning резист на: -X / (-X/5)
Decrepify (Necromancer curse)
понижает physical resistance на: -50 / -10
Lower resist (Necromancer curse)
понижает fire, cold, lightning, и poison резист на: -X / (-X/5)
где X - величина, на которую будет уменьшен резист, полученный на предыдущем шаге.
шаг 3. "Персональные свойства и скиллы атакующего, понижающие резист"
Следует отметить, что они не снимают иммунитет с иммуных монстров, но если их резист опущен ниже 100% на предыдущем шаге, то эти скиллы и свойства применяются с полным эффектом. Это следующие скиллы (нет имуннитета / есть иммунитет):
Cold Mastery (Sorceress cold skill)
понижает cold резист на: -X / 0
-X% to Enemy Fire/Cold/Lightning/Poison Resistance
понижает fire, cold, lightning и poison резист на: -X / 0
где X - величина, на которую будет уменьшен резист, полученный на предыдущем шаге.
шаг 4. "Пенальти уровня сложности игры"
Оно применяется только к юнитам вида player и hireling исключая виды monster, golem и minion.
шаг 5. "Нижняя граница и верхняя граница"
Результат капится этими границами.
Примечание: У юнитов вида monster, golem и minion иные границы резистов в отличие от юнитов вида player и hireling.
шаг 6. "Эффекты, игнорирующие резист"
На этом шаге учитываются скиллы и айтемы имеющие свойство "ignore resistance", такие как Sanctuary (paladin offensive aura). Они обнуляют конечный резист, если только его значение было выше 0, причем это применяется только для расчета наносимого повреждения, в действительности же, понижение резиста у юнита не происходит.
3.2. Примечание к "Расчету резиста".
Скиллы и свойства айтемов понижающие резист к poison, также уменьшают poison length reduction (PLR). Например, свойство "-50% to enemy poison resistance" понижает poison резист и PLR на 50.
Атака "Lightning Fists of Heavens" не понижает резист атакуемого.
Scroll of resistance, полученный от Malya в пятом акте после спасения Anya, добавляет по 10% к fire, cold, lightning и poison резистам.
4. Порядок расчета повреждения.
4.1 Эффект модификаторов повреждения
Модификаторы повреждения применяются в следующем порядке:
- XvX
- Energy Shield
- Bone Armor и Cyclone Armor
- DR and MDR
- Resistances (из пункта 3)
- Absorb%
- Absorb
4.2. Специальные эффекты.
Перед следующим шагом применяется действие от эффектов: Thorns, Iron Maiden, Spirit of the Barbs, и Vulpine айтемов (X% Damage Goes To Mana). Во всех этих случаях, используется physical повреждение после учета всех модификаторов повреждения (см. п 4.1)
4.3. Разложение повреждения на составные части.
Полученное повреждение и жизнь.
Сколько жизни и какое повреждение получит атакуемый будет рассчитано в следующем порядке:
(!) 1. Добавляется жизнь, полученная от абсорба
(!) 2. Уменьшается показатель жизни на величину полученного повреждения
Повреждение в ману и восстановление маны от него
Причиной потери части маны вместо жизни (повреждение в ману) служат эффекты от energy shield и атаки босса с mana burn. Другой эффект как X% Damage Goes To Mana (Vulpine items), является основанием для пополнения маны. Расчет сходен с расчетом "Полученное повреждение и жизнь", т.е. порядок таков:
(!) 1. Добавляется мана, полученная от Vulpine айтемов (и других возможных источников)
(!) 2. Уменьшение маны на величину полученного повреждения в ману
Не существует эффектов влияющих на изменение повреждения нанесенного в ману, и, следовательно, повреждение в ману всегда равно повреждению нанесенному атакующим с учетом эффекта от Energy Shield:
Повреждение в ману = (32 - TelekinesisBaseLevel) / 16 x Damage_Absorbed_by_Energy_ Shield.
4.4. В завершении: дефенс, блокировка, и модификаторы повреждения.
Дефенс и блокировка рассчитываются на этапе "шанс попасть", который рассчитывается перед этапом расчета полученного повреждения. Т.е. техники точный порядок расчета в игре следующий:
1.проверка дефенса (на этапе "шанс попасть")
2.проверка блокировки (шанс успешной блокировки уменьшается до 1/3, если атакуемый идет или бежит)
3.расчет полученного повреждения от атакующего, если не сработала защита в предыдущих секциях
4.применение полученных результатов
5. Формулы.
5.1. Полученное повреждение и полученая жизнь.
Учитывая, что повреждение на любом этапе не может быть равно 0:
Полученное повреждение = (Damage * XvX / 100 * (1 - ES / 100) - ArmorSkill - DR) * (1 - Resistance / 100) * (1 - Absorb% / 100) - Absorb
Полученная жизнь = (Damage * XvX / 100 * (1 - ES / 100) - ArmorSkill - DR) * (1 - Resistance / 100) * Absorb% / 100 + Absorb
Итоговое повреждение = Полученное повреждение - Полученная жизнь
После подставки:
Итоговое повреждение = (Damage * XvX / 100 * (1 - ES / 100) - ArmorSkill - DR) * (1 - Resistance / 100) * (1 - 2 * Absorb% / 100) - 2 * Absorb
Отрицательный результат означает, что наносимые повреждения лечат атакуемого.
Resistance, Absorb%, XvX и ES - целые числа
5.2. Повреждение в ману.
Повреждение в ману = ManaDamage + (32 - TelekinesisBaseLevel) / 16 * Damage * XvX / 100 * ES / 100
Полученная мана = (PhysicalDamage * XvX / 100 * (1 - ES / 100) - BoneArmor - DR) * (1 - PhysicalResistance / 100) * DamageGoesToMana% / 100
Повреждение в ману = Mana Damage Taken - Mana Gained
Отрицательный результат аналогичен по смыслу предыдущему, но касательно маны.
PhysicalResistance, XvX и ES - целые числа