Досвід
Досвід за моба береться напряму з mob_db і множиться на серверний рейт (у нас 1×). Кількість вбивств до наступного рівня = досвід-до-рівня (з exp-таблиці класу) поділити на досвід за моба. Жодного штрафу за різницю рівнів у цьому форку немає.
Два досвіди окремо
У Ragnarok Online ти ростеш, убиваючи монстрів і збираючи з них досвід (EXP). Але досвідів насправді ДВА, і вони рахуються окремо: Base EXP качає твій базовий рівень (Base Level, максимум 99) — це твоє HP, SP і базові статси, — а Job EXP качає рівень професії (Job Level, максимум 50) — це твої скіл-поінти і трохи бонусних статів від класу. Кожен убитий моб дає тобі і ту, і ту порцію досвіду одночасно, але в дві різні «скарбнички». Тому персонаж може бути, наприклад, Base 70 / Job 40 — це нормально, два лічильники живуть своїм життям.
Рейт 1×
uaRO — це сервер із рейтами 1×/1×/1×. Рейт — це множник досвіду: формула проста, EXP_за_моба = base_exp_моба × рейт / 100. На рейті 1× (тобто 100/100 = 1) ти отримуєш РІВНО стільки досвіду, скільки записано в базі движка для цього моба. На умовному сервері 5× той самий моб дав би вп’ятеро більше. У нас множника немає — усе чесно, як у класиці.
Скільки вбивств
Щоб зрозуміти, скільки мобів треба вбити до наступного рівня, дивись у exp-таблицю свого класу: там для кожного рівня записано, скільки досвіду треба накопити, щоб перейти на наступний. Це число РОСТЕ з кожним рівнем — на 2-й рівень треба зовсім трохи, а на 51-й вже сотні тисяч. Формула кількості вбивств: kills = ceil(досвід_до_наступного_рівня / досвід_за_моба). Слово ceil означає «округлити вгору»: якщо вийшло 4,2 моба — це 5 мобів, бо неповного вбивства не буває.
Без штрафу за рівні
Дуже важлива особливість саме цього pre-renewal форку: тут НЕМАЄ штрафу за різницю рівнів. На багатьох серверах персонаж 99-го рівня за слабкого моба отримує копійки, бо «моб нижчий за тебе». У НАС цього немає: і персонаж 1-го рівня, і персонаж 99-го за того самого Poring отримають однаковий досвід — ті самі base_exp і job_exp із бази. Це означає, що ти можеш спокійно фармити «низьких» зручних мобів і не боятися, що досвід зріжуть. Вибір цілі — це питання твоєї виживаності і швидкості вбивства, а не штрафів.
Надлишок згоряє
І ще одне правило, яке рятує від плутанини: multi_level_up вимкнено. Одне вбивство може підняти тебе максимум на +1 рівень, навіть якщо моб дав досвіду «на два рівні вперед». Надлишок просто обрізається. Тому не дивуйся, якщо після жирного кіла шкала досвіду показує не 130%, а рівно повний рівень і трохи зверху — решта згоріла. Висновок для новачка: качай ОБИДВА досвіди (Base дає виживаність, Job дає скіли — без скілів ти безпорадний), не женися за «жирними» мобами заради надлишку, і пам’ятай, що зручний фарм низьких мобів тут не карається.
gain = mob.base_exp × baseRate / 100 (1× → без змін)
- baseRate
- серверний множник Base EXP (у нас 1× = 100)
kills = ceil( nextLevelExp / gain )
- nextLevelExp
- досвід, потрібний для наступного рівня (exp-таблиця класу)
| Дешевий моб | Poring base_exp = 2; 1→2 = 9 exp | 5× |
| Середній моб | Wolf base_exp = 329; 50→51 = 115,254 exp | 351× |
Poring має base_exp 2. На рейті 1× це й лишається 2 Base EXP за вбивство. До 2-го рівня в exp-таблиці треба накопити 9 досвіду. Рахуємо вбивства: ceil(9 / 2) = ceil(4,5) = 5. Тобто рівно 5 убитих Poring — і ти на 2-му рівні. Поки числа маленькі, рівні летять швидко.
Grinding Wolf дає base_exp 329 (на 1× = 329 Base EXP). Перехід із 50-го на 51-й рівень коштує аж 115254 досвіду. Вбивств: ceil(115254 / 329) = ceil(350,3) = 351. Відчуй різницю: на 2-й рівень — 5 кілів, на 51-й — 351. Саме так працює зростання exp-таблиці: чим вищий рівень, тим довша «доріжка».
Той самий Grinding Wolf дає ще й job_exp окремо — скажімо, 247 Job EXP за вбивство. Якщо до наступного Job Level треба 24700 досвіду, то це ceil(24700 / 247) = 100 вбивств. Зверни увагу: ти фармиш одного й того ж моба, але Base і Job заповнюються в РІЗНОМУ темпі — тому твої Base 51 і Job-рівень майже ніколи не збігаються в числах.
- Ключові пороги і числа, які варто тримати в голові: — Base Level максимум 99, Job Level максимум 50. Дійшов до межі — досвід цього типу більше нічого не дає. — Рейт на uaRO = 1×: EXP_за_моба = base_exp × 100 / 100 = base_exp. Жодних множників. — Вартість наступного рівня росте з кожним рівнем: перші рівні — одиниці й десятки досвіду, 50→51 — уже понад сто тисяч. — Одне вбивство = максимум +1 рівень (multi_level_up off). Надлишок досвіду згоряє. — Немає штрафу за різницю рівнів: моб дає однаковий досвід персонажу 1-го і 99-го рівня. — Формула вбивств: kills = ceil(досвід_до_рівня / досвід_за_моба) — завжди округлюй угору.
- Типові помилки новачків: — Качати лише Base і забивати на Job. Без Job Level у тебе немає скіл-поінтів — а отже й бойових скілів. Високий Base без скілів — це безпорадний персонаж. — Шукати «жирних» мобів заради надлишку досвіду. Через вимкнений multi_level_up зайвий досвід понад один рівень просто обрізається — переплата нічого не дає. — Думати, що на uaRO є штраф за низьких мобів. Його НЕМАЄ. Фармити зручних слабких мобів тут абсолютно вигідно — досвід не ріжеться. — Брати рейт-формули з інших серверів. У нас 1×, множника немає; число з бази движка — і є твій досвід. — Плутати Base і Job EXP. Це дві окремі скарбнички, які заповнюються в різному темпі від одного й того ж моба.
Формули звірено з рушієм uAthena (pre-renewal, Episode 11.2).