Симулятор заточки и корейского рандома
Заточка в старых хрониках времён генератора «случайных чисел» 2003 года: генератор выдаёт число, и если оно меньше шанса, заточка успешна — нет, держи кристаллы. Колесо показывает, куда легло число, а график рядом — саму последовательность, из которой оно взято.
Все шаги
| Шаг | Шанс успеха | Шанс провала | Дойти с +0 | Что при провале |
|---|
Как это работало
Формула из Visual Studio
Под заточкой лежала обычная функция rand() из библиотеки
Microsoft (2003–2005), с которой игру и собирали:
state = state × 214013 + 2531011
roll = (state >> 16) & 32767 → 0…32767
шанс = roll ÷ 32767 × 100 → 0…100 %
Соль — количество тактов с момента старта машины. Та же соль даёт ту же цепочку от первого числа до последнего: «корейский рандом» написали не корейцы, а разработчики Windows.
Оружие мага дороже вдвое
Физическое и магическое оружие точатся по разным таблицам: с +3 до +14 у физического 70 % за попытку, у магического — 40 %. Броня устроена иначе: ровной полки нет вовсе, каждый следующий плюс тяжелее предыдущего — 66,67 %, 33,33 %, 25 %, 20 %, 16,67 % и дальше вниз до 7,69 % на +14.
А на +15 у всех троих происходит одно и то же: шанс делится пополам. У физического оружия 70 % превращаются в 35, у магического 40 в 20, у брони 7,69 % — в 3,57 и дальше до 2,78 % на +19. Выше +20 не поднимает уже ничто: там ноль. У цельной брони лестница сдвинута на ступень (до +4 безопасно), но её половинки после +15 свои, поэтому это не просто сдвинутый ряд брони.
Миф о плоских 66 %
«Броня точится с шансом 66 % на каждый плюс» — самое живучее утверждение
про заточку, и родилось оно не в игре, а в эмуляторах. В исходниках aCis
(Interlude) шанс шага считается как 0,66текущий − 2
при настройке EnchantChanceArmor = 0.66: 66 % на +3, 43,6 на
+4, 28,7 на +5. Другие сборки идут ещё дальше и берут одно плоское число
на все ступени.
Но 0,66n — это не шанс шага, это накопительный
шанс дойти до ступени, если каждый шаг стоит 66 %. То есть эмулятор
подставил в роль пошагового шанса кривую «дойти с +0». Забавно, что в
комментарии над этим самым кодом описана правильная розничная лестница —
«2/3 на +4, 1/3 на +5, 1/4 на +6…», ровно та, что в таблице выше.
Отличить эти две модели легко по колонке «Дойти с +0»: у настоящей лестницы она падает быстрее, чем степень двух третей, потому что тяжелеет сам шаг, а не только их количество.
Один генератор на весь мир
Числа не бросаются заново под каждое действие: сервер идёт по одной последовательности, и каждое событие — удар, расчёт крита, спойл, заточка — забирает из неё следующее значение. Поэтому число, которое «ваше», мог вытянуть кто угодно: пока вы наводите мышь на свиток, чужие удары двигают очередь. На графике это фон, который бежит сам по себе.
Откуда берутся волны
К предыдущему значению каждый раз прибавляется одно и то же — примерно два с половиной миллиона, — и обрезается хвост. Такой генератор дешёв, но неравномерен: числа идут волнами, и после нескольких высоких значений подряд следующее чаще оказывается низким. Отсюда обе известные тактики: набить подряд провалов (высокие числа) и точить на спаде — или следить за критами, которым, наоборот, нужны низкие числа, и точить, пока идёт полоса.
Ни одна не даёт гарантии: очередь общая, и «дно волны» достаётся тому, кто нажал первым.
Почему сегодня так не делают
Современные игры берут генераторы, у которых предсказуемых волн нет вовсе: PCG, Xoshiro, а там, где на кону деньги, — крипто-стойкие (ChaCha20, AES-CTR) с солью от энтропии системы. Соседние броски независимы, и «ловить волну» не в чем. Переключите генератор наверху, чтобы увидеть разницу: график перестаёт быть линией и становится шумом, а тактики «набить провалов» и «поймать спад» перестают работать вовсе.
Гарантий это не добавляет: заточка и там, и там остаётся одним броском, а страховка в Lineage 2 всегда была другой — безопасные ступени и благословенные свитки, которые не ломают вещь.
Шансы взяты не на глаз и не из эмулятора: это
script/itemenchant.txt из экстендера MyExt64, которым патчится
розничный l2server (Gracia Final) — там четыре группы: физическое
оружие, магическое, обычная броня и цельная. Бижутерия идёт по группе брони —
ожерелья, серьги и кольца точатся по её лестнице, поэтому и кнопка на них одна.
Событийные свитки — отдельная группа с плоскими 80 % аж до +23, здесь их нет.
В датапаке l2j (High Five) та же лестница записана без деления пополам после
+15 — то есть эмулятор на верхних плюсах вдвое щедрее розницы; мы показываем
розницу.