Этот гайд основан на реальном Java-коде сервера L2J (Interlude), в котором реализована механика прокачки Soul Crystal. Рассмотрим пошагово, как определяется шанс прокачки, условия и что влияет на результат.
🔵 Шаг 1: Определяется тип абсорба (AbsorbCrystalType)
LAST_HIT — прокачка только у игрока, нанесшего последний ударPARTY_ONE_RANDOM — случайный член патиFULL_PARTY — все члены пати могут получить прокачкуВсе монстры/рейдбоссы на которых можно прокачать кристалл со своим типом абсорба.
🔵 Шаг 2: Условия проверки перед расчётом
Когда моб умирает, код проверяет для каждого кандидата:
1. Игрок или пати не должны быть на 9+ уровней выше моба:
if (player.getLevel() - mob.getLevel() > 8)2. Должна быть активная абсорба скилла (если в настройках сервера
skillRequired=true)3. Уровень кристалла должен быть в
levelList🔵 Шаг 3: Расчёт шанса
if (chance < npcInfo.getChanceStage()) {
// Успех
} else if (chance < npcInfo.getChanceStage() + npcInfo.getChanceBreak()) {
// Поломка
} else {
// Провал
}🔄 Пример:
- chanceStage = 10 (успех 10%)
- chanceBreak = 5 (шанс на поломку 5%)
- Rnd.get(100):
- 0–9 → успех
- 10–14 → поломка
- 15–99 → провал
В случае вилки:
Если выпал 0 → успех (уровень повышается)
Если выпало число от 10 до 14, то неудача, и кристалл ломается.
Если выпало любое другое число ничего не происходит. Кристалл остался как был.
⚙️ Еще раз пример с числами:
- Шанс прокачки (chanceStage) = 12%
- Шанс поломки (chanceBreak) = 3%
0–11 → Кристалл повысится на 1 уровень
12–14 → Кристалл сломается
15–99 → Ничего не произойдёт
Ну и как говорили раньше, у каждого монстра в игре есть свой шанс на успешную прокачку кристалла и на его фейл, а так же на каждом монстре можно качать кристаллы только до определенного уровня, например:
<npc npcId="25319">
<!-- Ember -->
<detail chanceStage="5" absorbType="FULL_PARTY" levelList="12"/>
</npc>
✅
npcId="25319" - это ID рейд-босса Ember. Ember участвует в прокачке кристаллов.✅
chanceStage="5" - шанс прокачки: 5%. Очень низкий шанс, т.к. это высокоуровневый кристалл.✅
absorbType="FULL_PARTY" - поглощение работает на всех в пати Все, кто использовали кристалл, получают шанс прокачать его.✅
levelList="12" - допустим только 12 уровень кристалла. Только кристалл 12 уровня можно прокачать у этого босса.✅ Сфейлить кристалл невозможно.
Новые сервера Lineage 2 ⭐ Блог Lineage 2 ⭐ Телеграм
