Resistances
Четыре значения до полученного урона
Как собранное, максимальное, фактическое и применённое к событию Resistance превращаются в полученный урон — и почему запас, снижение максимума, Penetration и игнорирование меняют разные стадии.
Представим персонажа, у которого собрано 105% Fire Resistance, а текущий предел равен 75%.
Огненный Hit на 1 000 в чистой сцене оставит 250 урона. Теперь сделаем только одно изменение:
- отнимем
25процентных пунктов от собранного Fire Resistance — всё ещё останется250; - отнимем
10пунктов от Maximum Fire Resistance — получится350; - дадим Hit
10% Fire Penetration— тоже получится350.
Два последних результата совпали, но операции не совпали. Запас сверх предела поглощает первое изменение, не возвращает потерянный Maximum Resistance и не останавливает Penetration. Поэтому вопрос «сколько у меня Resistance?» неполон. Сначала нужно назвать, какое это значение и какое событие его использует.
Процентный пункт — это прямая разница между двумя процентными значениями. Переход 75% → 65%
равен −10 процентным пунктам, но получаемый остаток растёт с 25% до 35%, то есть на 40%
относительно прежнего остатка. Эти две меры нельзя заменять друг другом.
Четыре значения одного Resistance
Fire, Cold, Lightning и Chaos используют одну и ту же основную арифметику. Для каждого типа нужно последовательно получить четыре значения.
1. Собранное Resistance: сколько есть до ограничения
Uncapped Resistance — итог обычных источников до ограничения текущим максимумом. В него уже входят свойства экипировки, дерева, аур, постоянный штраф кампании и другие изменения самого показателя.
Если собрано 105%, число не означает 105% снижения урона. Оно означает, что над текущим
пределом 75% есть 30 процентных пунктов запаса. Этот запас часто называют overcap.
В статье «собранное Resistance» всегда означает уже разрешённый итог после собственных
модификаторов показателя. Как именно складываются increased, reduced, more и less
модификаторы до этой точки, раскрыто во втором слое; лаборатория не придумывает для них отдельную
формулу.
2. Maximum Resistance: где сейчас находится потолок
Базовый Maximum Resistance игрока равен 75%. Источники могут поднимать или снижать этот
предел, но обычный жёсткий максимум для игрока — 90%.
Maximum Resistance не добавляется к собранному значению. Он отвечает только на вопрос, какую
часть собранного Resistance разрешено применить. Если собрано 75%, а предел поднят до 80%,
фактическое значение всё ещё 75%: нового потолка персонаж не достиг.
3. Фактическое Resistance: что осталось после ограничения
Фактическое значение — это собранное Resistance, ограниченное текущим Maximum Resistance и нижней
границей −200%.
R_факт = clamp(min(R_собрано, R_предел), −200%, R_предел)
В обычной сцене 105% собранного и предел 75% дают 75% фактического Resistance. Если после
снижения осталось 65%, предел уже ничего не срезает: фактическое значение тоже 65%.
4. Resistance для события: что использует именно этот Hit
После фактического Resistance конкретный Hit может применить Penetration. Это не изменение характеристики персонажа: только выбранный Hit рассматривает Resistance как более низкое.
R_событие = R_факт − Penetration
Для Damage over Time обычная Penetration не применяется, поэтому значение для события равно фактическому. Когда статья говорит «применённое к событию Resistance», имеется в виду именно эта последняя величина.
И только теперь появляется итоговая формула:
D_после = D × (1 − R_событие)
При 75% проходит 25% входа. При 0% проходит всё. При −60% проходит 160%: отрицательное
Resistance не создаёт отдельную механику, а просто делает множитель больше единицы.
Одна сцена, шесть разных маршрутов
Зафиксируем учебный вход: 1 000 Fire Damage, 105% собранного Fire Resistance и предел 75%.
Каждая строка меняет только одну вещь.
Без изменения
Собрано 105% → предел 75% → для события 75%
Получено 250
−25 процентных пунктов к собранному
Собрано 80% → предел 75% → для события 75%
Получено 250
−40 процентных пунктов к собранному
Собрано 65% → предел 75% → для события 65%
Получено 350
−10 процентных пунктов к Maximum
Собрано 105% → предел 65% → для события 65%
Получено 350
10% Penetration, Hit
Собрано 105% → предел 75% → для события 65%
Получено 350
10% Penetration, Damage over Time
Собрано 105% → предел 75% → для события 75%
Получено 250
Сравнение объясняет не только числа, но и способы ответа:
- против снижения собранного Resistance помогает подходящий overcap;
- против снижения Maximum Resistance обычный overcap не сохраняет прежний предел;
- против Penetration обычный overcap тоже ничего не меняет;
- для Damage over Time Penetration из последней строки вообще не существует.
Одинаковый итог 350 не разрешает лечить все три случая одним способом.
Что именно способен поглотить overcap
Запас сверх предела — это положительная разница между собранным Resistance после текущих изменений и текущим Maximum Resistance. Пока разница положительна, дальнейшее снижение собранного значения сначала расходует запас и не меняет фактическое Resistance.
Elemental Weakness: проверенный пример, не универсальная цель
Текущий модификатор карты с Elemental Weakness использует эквивалент проклятия первого уровня:
в сцене без уменьшения эффекта проклятий это −15% Elemental Resistances.
Персонаж с ровно 75% собранного и фактического Resistance падает до 60%. Для огненного входа
1 000 результат меняется с 250 до 400: получаемый остаток вырос на 60% относительно
исходного.
Если до проклятия было собрано 90%, после тех же −15 останется 75%, и фактическое значение
не изменится. Но отсюда не следует универсальный совет «всегда держать ровно 15% overcap»:
- другой уровень или эффект проклятия изменит величину;
- уменьшение эффекта проклятий изменит фактическое давление;
- часть угроз снижает Maximum Resistance, а не собранное;
- Penetration вообще обходит этот запас;
- условный источник Resistance может исчезнуть одновременно с появлением угрозы.
Правильный размер запаса равен не красивому общему числу, а сумме конкретных изменений собранного Resistance в принятой сцене.
Снижение Maximum Resistance: другая ось
Если предел 75% снизился до 65%, даже 150% собранного Resistance применятся только как
65%. Обычный overcap не удерживает старый потолок.
На обычных картах базовый бросок of Exposure равен 5–8 процентным пунктам для среднего
диапазона тиров и 9–12 для высокого. Это ещё не обязательно итог: эффект модификаторов карты
масштабирует бросок, поэтому 12 при 50% increased effect of map modifiers превращаются в
18. У текущей Nightmare Map есть отдельная базовая версия той же строки на 20 пунктов; это
число здесь также не объявляется финальным потолком. Диапазон 5–12 нельзя считать общей
границей для любой области.
Название не делает эту строку обычной механикой Exposure: решает написанное действие. Здесь нужно моделировать снижение Maximum Resistance, а не вычитать то же число из обычного overcap.
У модификаторов самого Maximum Resistance может существовать свой запас до жёсткого предела.
Например, сырой максимум 100% всё равно показывается как 90%; снижение сырого максимума на
10 пунктов оставит итоговые 90%. Это не тот же запас, что обычное Resistance сверх
Maximum. Первый живёт на оси максимума, второй — на оси собранного Resistance.
Penetration: операция конкретного Hit
При фактических 75% и 10% Penetration Hit использует 65%, даже если до ограничения было
собрано 105%, 150% или больше. Penetration не уменьшает собранное Resistance и не снижает
Maximum Resistance; она выполняется позже.
Поэтому Penetration:
- применяется к Hit;
- не применяется к обычному Damage over Time;
- не расходует overcap;
- не меняет значение в листе персонажа;
- может опустить Resistance для Hit ниже обычной нижней границы.
Последний пункт важен на краю. Фактическое Resistance сначала ограничивается на −200%, но после
этого 50% Penetration дают событию −250%. Второй проверки нижней границы нет, поэтому
множитель такого Hit равен 3,5.
Ignore Resistance и immunity — не крайние значения Penetration
Ignore Resistance полностью пропускает стадию Resistance для подходящего события. Это не
100% Penetration, не фактические 0% и не отрицательное значение. Дополнительная Penetration
уже ничего не меняет.
Immunity даёт нулевой урон соответствующего типа независимо от обычного Resistance. Это тоже
не 100% Resistance: работают другая ветвь правила, другие подписи и другие взаимодействия.
Такое различие нужно сохранять в калькуляторе. Одинаковый итоговый урон в одной сцене ещё не означает одинаковое поведение под следующим модификатором.
Когда +1 к Maximum Resistance действительно помогает
Пусть фактическое Resistance уже достигает текущего максимума R, а новый источник поднимает
его на один процентный пункт. Тогда остаток меняется с 100 − R на 99 − R.
относительное уменьшение = 1 / (100 − R)
- переход
75 → 76%уменьшает остаток на4%; 80 → 81%— на5%;89 → 90%— примерно на9,09%.
Это не постоянная цена одного пункта, а следствие текущего остатка. Чем ближе максимум к 100%,
тем большую долю остатка убирает один пункт — до жёсткого предела 90%.
Есть обязательное условие: собранного Resistance должно хватать до нового максимума. При
75% собранного переход Maximum Resistance 75 → 76% ничего не меняет, пока персонаж не доберёт
ещё один пункт обычного Resistance.
Hit и Damage over Time используют Resistance, но не одинаковое давление
Resistance уменьшает подходящий урон и от Hits, и от Damage over Time. Огненный Hit, Burning Ground и Ignite используют Fire Resistance; Poison использует Chaos Resistance. Различие не в самом Resistance, а в операциях вокруг него:
- обычная Penetration принадлежит Hit и не переносится на DoT;
- Armour в нормальном состоянии относится к подходящим Hits, а не к DoT;
- Block, Suppression и многие проверки также имеют собственную форму применимости;
- снижение собранного или Maximum Resistance меняет фактическое значение и поэтому затрагивает обе формы, если точная строка не ограничивает эффект.
Physical Damage в обычном маршруте Resistance не использует. Если часть урона сначала стала Fire,
Cold, Lightning или Chaos через Damage Taken As, получившийся компонент проверяет Resistance
конечного типа. Исходное имя типа не даёт ему вторую проверку.
Тот же закон — вне игры
Форма события и конечный тип урона образуют адрес защитной клетки. Resistance отвечает на тип, Penetration дополнительно спрашивает «это Hit?», а соседние слои задают свои вопросы. Сводное число без адреса скрывает, какая именно клетка осталась слабой.
Chaos: та же математика, другой маршрут к запасам
Chaos Resistance использует тот же порядок Maximum Resistance, нижнюю границу и формулу множителя,
что Fire, Cold и
Lightning. При −60% Chaos Resistance проходит 160% входящего Chaos Damage. Это точный
множитель, но не прогноз смерти: для него ещё нужны размер события, Life, Energy Shield,
восстановление и остальные слои.
Различаются прежде всего источники и дальнейший маршрут:
- точная строка
all Elemental Resistancesвключает Fire, Cold и Lightning, но не Chaos; - точная строка
all Resistancesвключает и Chaos; - после первого штрафа кампании все Resistances получают
−30%, а после второго суммарный штраф достигает−60%; - по умолчанию Chaos Damage обходит Energy Shield, но этот обход не меняет расчёт Chaos Resistance.
Сначала Chaos Resistance уменьшает подходящий компонент, затем правило обхода решает, в какой конечный запас попадёт остаток. Высокий Energy Shield не заменяет Chaos Resistance, а низкий Chaos Resistance не доказывает, что весь Chaos Damage обязательно попадёт в Life: именованные правила могут изменить маршрут к конечным запасам.
использует ветвь иммунитета и устанавливает максимум Life в 1.
Это не способ получить 100% Chaos Resistance.
не даёт иммунитета, а запрещает Chaos Damage обходить Energy Shield. Величина урона до распределения по запасам всё ещё зависит от Chaos Resistance.
добавляет Armour к Chaos Damage от Hits после Resistance. Chaos Damage over Time от этого Armour не получает.
даёт Chaos Resistance и меняет соотношение Life/Energy Shield, но само по себе не отменяет обычный обход Energy Shield.
Эти правила отвечают на разные вопросы: иммунитет, обход пула, ещё один слой для Hits или источник самого Resistance. Список предметов нельзя подменять одним советом «закройте Chaos».
Как воспроизвести вывод в Path of Building
Одна зелёная строка в боковой панели недостаточна. Для проверки откройте конкретные стадии.
- В
Configuration → GeneralпроверьтеResistance penalty. Для поздней игры обычно нужна конфигурацияAct 10 (−60%); неправильный этап кампании сдвинет все четыре типа. - В
Configuration → Map Modifiers and Player Debuffsвосстановите карту и проклятия:- выберите
Map Tier, каждый реальныйPrefixиSuffix, а также% increased effect of map mods, если он есть в вашей сцене; - в блоке
Player is cursed byзадайте уровеньElemental Weakness,Flammability,Frostbite,ConductivityилиDespair, который действительно действует на персонажа; - не применяйте одну и ту же строку и как модификатор карты, и второй раз как отдельное
проклятие. Для текущего модификатора карты
Elemental Weaknessзадайте уровень1: он даёт−15%и не масштабируется полем% increased effect of map mods. Старую подсказку PoB про другие уровни карты нельзя переносить в конфигурацию3.28; собственное уменьшение эффекта проклятий при этом всё равно учитывается; of Exposure, напротив, является масштабируемой строкой карты: PoB умножает выбранный базовый бросок на% increased effect of map mods. Сверяйте уже получившееся снижение Maximum Resistance, а не только напечатанный базовый диапазон. Выпадающий список PoB воспроизводит обычные тирыof Exposureи берёт верхнюю границу выбранного тира; отдельной версии Nightmare с базовыми−20%в нём нет. Не подменяйте её обычным high-tier suffix: внесите черезCustom Modуже итоговое снижение из вашей сцены после всех применимых модификаторов карты. Например, для итоговых−20%используйте точную строку-20% to all maximum Resistances, затем проверьте результат вCalcs → Resists.
- выберите
- Перейдите в
Calcs → Resists. СтрокиFire Resist,Cold Resist,Lightning ResistиChaos Resistпоказывают фактическое значение и запас в скобках. Откройте подробности строки, чтобы увидеть источники обычного Resistance и Maximum Resistance. - Зафиксируйте состояние условных источников: флаконы, ауры, charges и прочие переключатели. Проверка должна соответствовать сцене, которую вы хотите пережить.
- В
Configuration → Enemy Statsвыберите конкретныйEnemy Damage Type. Для Hits внесите соответствующую строкуEnemy Skill Fire/Cold/Lightning Pen, если у выбранного навыка есть Penetration. - Не переносите это значение на
Damage over Time. Для DoT оставьте Penetration вне маршрута и проверьте фактическое Resistance вместе с модификаторами, которые реально меняют сам показатель. - Сравните
Effective "Health" PoolиMaximum Hit Takenтолько после выбора конкретного типа. РежимAverageсмешивает типы и не подходит для диагностики одной Resistance-клетки.
Импорт билда не означает импорт текущей карты. После настройки снова раскройте Resists и
проверьте, какая строка действительно изменила собранное Resistance, Maximum Resistance или
другую защиту. Если готовая конфигурация не отражает выбранное условие, внесите точную строку через
поддерживаемую настройку или Custom Mod. Название карты в заметках не является доказательством
того, что её модификаторы и проклятия уже участвуют в расчёте.
Порядок решения для билда
Когда Resistance-клетка кажется слабой, не начинайте с покупки случайного процента.
- Назовите событие. Какой конечный тип урона и какая форма: Hit или Damage over Time?
- Зафиксируйте собранное значение. Сколько Resistance остаётся без временных источников, которые не гарантированы в этой сцене?
- Зафиксируйте текущий Maximum. Достигает ли обычное Resistance этого предела?
- Разложите входящее изменение. Оно снижает собранное Resistance, Maximum Resistance, применяет Penetration или полностью игнорирует стадию?
- Считайте значение для события. Не подставляйте overcap вместо фактического Resistance и не применяйте Penetration к DoT.
- Сравните покупку с дефицитом.
- ниже Maximum без внешнего давления — сначала нужен обычный Resistance;
- давление снижает собранное — нужен ровно тот запас, который сохраняет фактический предел;
- снижается Maximum — обычный overcap не возвращает старый потолок;
- Hit имеет Penetration — считайте позднее значение и соседние Hit-слои;
- Resistance игнорируется — перестаньте покупать неработающую стадию для этой клетки.
- Проверьте новый минимум. После исправления Fire Hit слабейшей клеткой могут стать Chaos DoT, Lightning Hit с Penetration, конечный пул или восстановление.
Результатом должен быть не лозунг «все res capped», а проверяемая фраза: «в этой конфигурации собрано столько-то, текущий предел такой-то, выбранное изменение затрагивает эту стадию, поэтому событие использует такое Resistance и оставляет такой урон».
Лаборатория: проследить одну операцию до урона
Лаборатория не изображает типичный бой. [MODEL] означает, что мы сами задали один компонент
урона, значения Resistance и одно входящее изменение. [DET] означает, что лестница от этих
входов до результата рассчитана каноническим правилом без случайности.
Начальная сцена использует 1 000, 105% собранного Resistance и предел 75%. Сначала сравните
−25 и −40 к собранному значению, затем −10 к Maximum Resistance. После этого поставьте
10% Penetration и переключите Hit → Damage over Time: последняя стадия должна исчезнуть, а
фактическое Resistance остаться прежним.
Отдельно воспроизведите запас самого максимума: поставьте Maximum Resistance до жёсткого предела = 100% и выберите −10 к Maximum Resistance. Текущий предел останется 90%. Затем
верните вход 75%, не меняя давления: текущий предел станет 65%. Так лаборатория показывает
две разные оси, а не только рассказывает о них.
Resistance: где именно меняется результат
Задан один уже отделённый компонент урона. Выберите только одно входящее давление и проследите его от собранного Resistance до фактически полученного урона.
- Собранное Resistance105 %
Uncapped до входящего давления.
- После давления на запас105 %
Эта операция не меняет собранное значение.
- Текущий предел75 %
Maximum Resistance не сдвинут.
- Фактическое Resistance75 %
Предел достигнут; остаток остаётся запасом.
- Resistance для события75 %
Для этого события значение не изменилось.
- Полученный урон250
Из 1000 урона до Resistance.
Этот запас выдерживает только давление на собранное Resistance.
Текущий предел уже достигнут.
Именованные правила меняют не одну и ту же строку
Сильный unique или keystone полезно читать как операцию над лестницей. Это сразу показывает, какие старые советы перестали работать.
Правила Maximum Resistance
устанавливает все Maximum Resistances в 76–78%. Это замена обычного
правила:
другие прибавки и снижения Maximum Resistance не двигают заданное значение, но обычные
Resistances всё ещё должны его достигнуть. Предмет не превращает собранные 60% в фактические
78%.
ограничивает все Elemental Resistances наивысшим текущим
Maximum Elemental Resistance. Цена текущей версии — −70…−80% к обычным Elemental Resistances
и −4…−6% ко всем Maximum Elemental Resistances. Значит, правило одновременно связывает три
предела и создаёт большой дефицит на оси собранного значения.
Вывод «один высокий максимум автоматически закрыл все три типа» неверен, пока каждое обычное Resistance не добралось до общего предела в принятой конфигурации.
Перенос типа и разветвление маршрута
направляет 50% Elemental Damage в Chaos, добавляет +5 к Maximum
Chaos Resistance и заставляет весь урон обходить Energy Shield. Это не среднее между двумя
Resistance: исходный компонент делится на две части, и каждая использует Resistance своего
конечного типа.
Если Fire Resistance равно 90%, а Chaos Resistance — 80%, обе половины уменьшаются отдельно.
Поднимать только Fire выше уже достигнутого предела не исправит слабую Chaos-ветвь.
Игнорирование Resistance, затем новый защитный слой
заставляет собственное Lightning Resistance не влиять на получаемый Lightning Damage и применяет Armour к Lightning Hits. Низкое или высокое собственное Lightning Resistance не является обычным входом этой защитной ветви; Penetration также не может «ещё сильнее» снизить проигнорированное значение. Lightning Damage over Time при этом не получает защиту Armour.
Это хороший пример того, почему необычная строка не доказывает жизнеспособный билд. После замены Resistance остаётся отдельно доказать размер Armour для реальных Hits, защиту от DoT, остальные типы, пулы, восстановление, урон, скорость, стоимость и устойчивость условий.
Resistance как вход для другой механики
читает overcapped Fire Resistance и превращает его в увеличение Armour. Лишние пункты получают нового потребителя, но не начинают второй раз уменьшать Fire Damage.
переносит работу Armour на Elemental Hits и одновременно снижает
Maximum Elemental Resistances на 15 процентных пунктов. Это две разные операции: сначала
Resistance пропускает увеличившийся остаток, затем Armour работает с размером соответствующего
Hit. Damage over Time по-прежнему обходит Armour.
Ни один из этих примеров сам по себе не создаёт отдельный билд вокруг Resistance. Кардинальное изменение локального правила — повод заново пройти весь маршрут, а не доказательство достаточного урона, выживаемости, восстановления и скорости.
Технические границы
Округление и порядок ограничений
После построения собранного Resistance и Maximum Resistance PoB усекает их к целым процентным пунктам в соответствующей стадии. Для отрицательной дроби это усечение к нулю, а не округление вниз.
Затем Maximum Resistance ограничивается жёстким пределом 90%, фактическое Resistance —
текущим Maximum и нижней границей −200%. Только после этого Hit применяет Penetration.
Поэтому значения после Penetration могут быть ниже −200%.
Что лаборатория принимает уже готовым
Модификаторы increased/reduced и more/less могут участвовать в построении собранного
Resistance до ограничения. Публичная лаборатория начинает позже: её поле «Собранное Resistance»
принимает уже разрешённый итог.
Это намеренная граница модели. Она позволяет точно показать входящее изменение, предел, нижнюю границу и Penetration, не выдавая неполную сборку предшествующих модификаторов за полный PoB.
Почему attack/spell не меняют формулу Resistance
Resistance не спрашивает, был источник Attack или Spell. После определения конечного типа оно уменьшает подходящий Fire/Cold/Lightning/Chaos-компонент. Attack/Spell важны для соседних слоёв, а Hit/DoT — для Penetration и других формо-зависимых операций.
Если правило говорит Cannot be Suppressed, Cannot be Evaded или меняет Armour, это не
отключает Resistance без отдельной точной строки.
Тот же закон — вне игры
Resistance учит читать защиту как последовательность состояний. Запас имеет смысл только против операции, которая проходит через него; новый предел полезен только при достаточном входе; поздняя операция не исправляется покупкой раннего числа. Этот закон переносится на любую систему, где несколько похожих процентов живут на разных стадиях одного маршрута.