Резисты и урон
Энам Damage
- KINETIC
- PIERCING
- BURSTING
- PSIONIC
- WITHERING
- OCEANIC
- CORRUPTIVE
- ENERGY
- THERMAL
- TOXIC
- DIMENSIONAL
- UNSTOPPABLE
Весь урон имеет определенный тип, который контрится резистами. Работает это так - резист это число от любого отрицательного числа до 1.
- Если резист 1, то урон будет умножаться на 0.
- Если резист 0, то урон будет браться без изменений.
- Если резист -1, то урон будет удваиваться.
Формально резист может быть и -5000, но это вряд ли возможно в реальности. Резисты лежат в таблице резистов.
Таблица резистов (ResistTable)
Формально таблица резистов есть в статусах, энергощитах, броне, тринкетах и где-то еще.
Собственно, резист-тейбл по сути представляет из себя класс с полями, которые называются так же, как типы урона, перечисленные выше. Например, KINETIC это поле таблицы резистов. Чтобы не баловаться напрямую, есть два метода:
Список методов класса ResistTable
get(resist_type: str)- Единственный аргумент ожидает название резиста. По сути
resist_table.get("KINETIC")эквивалентенresist_table.KINETIC mod(resist_type: str, mod: str)- Так же передается строкой название резиста и модификатор. Позволяет изменить значение резиста.
Однако вы этими методами, скорее всего, никогда не будете пользоваться, вам должно хватить метода get_base_resist() и get_bodypart_resist() в энтити.