Ограничение снаряжения на основе навыков
Начиная с EliteMobs 10, старый ограничитель лута по уровням гильдии заменён системой ограничения снаряжения на основе навыков. Уровни гильдии больше не существуют. Вместо этого игроки прокачивают отдельные навыки оружия и брони, убивая elite-мобов, и уровни их навыков определяют, какое снаряжение они могут экипировать.
Как это работает
В EliteMobs 10 у каждого игрока есть независимые уровни навыков для каждого типа оружия и брони:
- Броня (множитель опыта 1/3)
- Мечи
- Топоры
- Луки
- Арбалеты
- Трезубцы
- Мотыги
- Булавы
- Копья
- Посохи
- Жезлы
Когда в AdventurersGuild.yml включена настройка skillBasedGearRestriction (по умолчанию включена), распознанное снаряжение EliteMobs проверяется по соответствующему уровню навыка. Например, меч EliteMobs 30 уровня требует навыка «Мечи» 30 уровня. Броня проверяется по навыку «Броня». Проверка не ограничивает предметы вне EliteMobs и предметы без распознанного типа навыка.
При экипировке снаряжения выше уровня навыка обработчик обновления экипировки выбрасывает отклонённый предмет в месте нахождения игрока и сообщает требуемый уровень навыка. Предупреждения отправляются не чаще одного раза за 40 тиков на игрока. После входа проверка ждёт завершения загрузки данных игрока.
Эта настройка не зависит от skillSystemEnabled в skills.yml: отключение опыта навыков не снимает ограничение снаряжения. Право обхода Soulbind также не обходит эту проверку навыка.
Примечание: предметы 20 уровня и ниже может экипировать кто угодно без каких-либо ограничений по навыкам. Это позволяет новым игрокам свободно использовать снаряжение для раннего этапа игры, прежде чем вступит в силу ограничение на основе навыков.
Лут и ограничения снаряжения
Ограничение по навыкам управляет экипировкой предметов, а не понижает лут по старому уровню гильдии. Отдельные ограничения наград продолжают действовать: лут естественных элитных мобов может ограничиваться боевым уровнем или блокироваться лимитом убийств, описанным ниже. Получить предмет не значит суметь его экипировать: при включённых ограничениях предметы выше 20 уровня по-прежнему требуют соответствующего уровня навыка.
Как повышаются навыки
Игроки зарабатывают опыт навыков, убивая elite-мобов. Опыт начисляется на основе:
- Опыт оружия: Используется навык, записанный при ударе или запуске снаряда. Смена оружия перед смертью моба не переносит опыт; при использовании нескольких типов награда делится по их записанному вкладу в урон.
- Опыт брони: К вашей доле опыта, пропорциональной нанесённому урону, применяется множитель 1/3. Учитываются условия получения награды за убийство и ограничение уровня самого навыка брони; опыт не гарантирован за каждое убийство. При использовании нескольких видов оружия броня может обгонять отдельный оружейный навык.
- Вклад в урон: при групповых убийствах опыт распределяется пропорционально вкладу каждого игрока в урон.
Базовый опыт моба равен квадрату его эффективного уровня награды: уровень 50 даёт 2 500 базового опыта, уровень 100 — 10 000. Это значения до множителей босса и распределения по вкладу в урон; ограничения уровня награды и условия для каждого навыка по-прежнему действуют.
Формула опыта до следующего уровня
Опыт, необходимый для перехода с одного уровня навыка на следующий, следует кубической прогрессии:
- Уровни 1–100:
XP to next level = 8.5 * L^3(где L — текущий уровень) - Уровни выше 100 (мягкий потолок):
XP to next level = 8.5 * L^3 * (1 + ((L - 100)^2 / 100))
Множитель мягкого потолка непрерывен на 100 уровне (1.0x) и растёт квадратично сверх него, делая прогресс всё более трудным. Например, на 150 уровне множитель достигает примерно 26x, что делает дальнейшую прогрессию почти невозможной.
Убийства боссов также получают множитель опыта на основе множителей здоровья и урона босса. Компонент здоровья сублинеен (hpMultiplier^0.6), а компонент урона сильно демпфирован (1 + (dmgMultiplier - 1) * 0.15), поэтому босс с 10x HP даёт примерно 4x опыта, а босс с 25x HP даёт примерно 7x опыта (при обычном уроне). Мобы-подкрепления и ездовые животные не дают опыта навыков вообще.
Боевой уровень
Общий боевой уровень игрока равен (высший навык оружия + второй по величине навык оружия + навык брони) / 3 с округлением вниз.
Этот боевой уровень определяет, какие естественные elite-мобы спавнятся рядом с игроком, заменяя старый потолок уровня мобов на основе уровня гильдии.
Бонус к здоровью
Уровень навыка брони даёт бонус к максимальному здоровью: +1 сердце (2 HP) за каждый уровень навыка брони выше 1. Например, игрок с навыком «Броня» 50 уровня получает 49 бонусных сердец (98 бонусных HP) поверх ванильных 20 HP.
Бонус зависит от armorSkillHealthBonusEnabled в skills.yml и не действует в мирах из skillWorldExclusions. При включённой Advanced Combat System он действует только в управляемых боевых мирах. Необязательная настройка scalePlayerHealthDisplayToVanilla меняет отображение сердец, но не фактический бонус к здоровью.
Защита от разницы уровней
Первые три ограничения отключаются, когда enableFarmingProtection равен false в AntiExploit.yml. Отдельное ограничение денежного дождя в ItemSettings.yml не зависит от этого переключателя.
- Ограничение сверху. Опыт навыков использует эффективный уровень награды не выше
combatLevel + farmingProtectionLevelDifference(AntiExploit.yml, по умолчанию15). Такое же ограничение применяется к луту естественных элитных мобов; лут кастомных боссов не использует этот предел уровня защиты от фарма. - Нижний порог навыка. Каждый навык оружия или брони получает опыт, только если уровень награды моба не ниже
skillLevel - farmingProtectionLevelDifference. Эта проверка применяется только к мобам с фиксированным уровнем; при масштабированном бое она пропускается. - Ограничение по числу убийств. Обработчик опыта навыков считает подходящие убийства естественных элитных мобов в скользящем окне. Превышение
farmingProtectionKills(по умолчанию20) заfarmingProtectionMinutesминут (по умолчанию30) запускает блокировку на полную длительность окна с этого момента. Вызвавшее блокировку убийство и последующие убийства естественных элитных мобов не дают наград через ограничиваемые пути выдачи. Уведомление о снятии ограничения отправляется, если игрок онлайн при выполнении запланированного сброса. Кастомные боссы исключены; отключение системы навыков прекращает добавление новых убийств в этот счётчик. - Ограничение денежного дождя.
lootLevelDifferenceLockoutвItemSettings.yml(по умолчанию10) блокирует зависящую от уровня денежную награду, если абсолютная разница между переданным денежному дождю уровнем награды и вашим боевым уровнем превышает настройку. При боевом уровне 50 проверку по умолчанию не проходят уровни награды 39 и 61. Сама эта настройка не блокирует выпадение предметов.
Уровни процедурных предметов
Процедурно генерируемые предметы получают визуальный уровень скина (skin tier) на основе уровня предмета. Эти уровни влияют на 3D-модель предмета и внешний вид надетой текстуры через ресурспак. Уровни таковы:
| Уровень | Минимальный уровень | Описание |
|---|---|---|
| Bronze | 20 | Первый уровень пользовательского скина; снаряжение 20 уровня по-прежнему не требует уровня навыка |
| Palladium | 40 | Уровень середины прогрессии |
| Corrupted | 60 | Продвинутый уровень с искажённой (corrupted) визуальной темой |
| Living | 80 | Уровень высокого уровня с органическими визуальными эффектами |
| Ultimatium | 100 | Уровень эндгейма, высший визуальный уровень |
Предметы ниже 20 уровня используют стандартный ванильный внешний вид материала без применения пользовательского скина.
Предотвращение паверлевелинга
Сочетание зачарования привязки к душе и ограничения снаряжения по навыкам сдерживает паверлевелинг. Даже получив высокоуровневый лут в группе, игрок не сможет его экипировать до достижения нужных уровней навыков. При включённом Soulbind процедурно созданные предметы привязываются к получателю, ограничивая обмен снаряжением.