Немного предыстории.
В GW, как и в большинстве других ролевых игр, есть такое понятие, как опыт (Experience points). Опыт даётся за выполнение миссий и квестов, а также за убийство монстров. А ещё в GW есть уровень (Level). От уровня персонажа зависит его здоровье и наносимый урон. После накопления определённого количества опыта персонаж получает следующий уровень, а вместе с уровнем ещё и attribute points (речь сейчас не о них) и скилл-пойнты (SP). Но фокус в том, что максимальный уровень, который может получить персонаж – 20. 20 уровень набирается примерно к середине сюжетной линии, и дальше по мере набора опыта уровень не растёт, а даются только скилл-пойнты.
Скилл-пойнты нужны для покупки заклинаний у торговцев. На каждое купленное заклинание тратится скилл-пойнт и определённое количество денег (чем дальше, тем больше). При этом из 156 заклинаний, доступных элементалисту-монаху, только 80 даются бесплатно (за квесты). Остальные 76 нужно либо покупать, либо вытягивать из боссов. Учитывая, что 2 Signet of Capture даются бесплатно, получаем, что для сбора всех доступных заклинаний элементалист-монах должен набрать за свою жизнь 74 скилл-пойнта.
Скилл-пойнты даются как за уровни (и "виртуальные уровни" в дальнейшем), так и за миссии и некоторые квесты. И вот решил я понять, сколько же скилл-пойнтов к данному моменту я получил именно за опыт (пересчитывать миссии и вспоминать квесты, за которые я мог получить скилл-пойнты, мне не хотелось).
Итак, я имел 47 скилл-пойнтов и 263856 опыта. Следующий скилл-пойнт, как мне любезно подсказал интерфейс, будет получен при достижении 272600 опыта.
На одном из сайтов я нашёл сведения, из которых вывел простую формулу арифметической прогрессии: между уровнями (L-1) и L нужно набрать D(L)=800+600*L опыта (L>=2, так как первый уровень персонаж имеет сразу). Просуммировав, нетрудно получить, что общий опыт, необходимый для достижения уровня L, составляет S(L)=100*(3*L+14)*(L-1). Проверив на своих дополнительных низкоуровневых персонажах, я убедился, что формула вроде верна.
И тут меня ждало разочарование. При попытке приравнять S(L)=272600 я обнаружил, что целочисленного решения нет. То есть для моих "виртуальных уровней" эта формула уже не работает!
Первой гипотезой была следующая: раз уровень после 20-го не меняется, возможно, что его дают за фиксированную разницу опыта. То есть логично было предположить, что S(20)=140600, а дальше D(L)=D(21)=13400. Но и эта гипотеза оказалась неверной.
На другом сайте я нашёл сведения, что после 20-го уровня даётся 1 скилл-пойнт на каждые 15000 опыта. Подставил в первую гипотезу вместо 13400 15000, но тоже не получил ничего разумного.
И только тут я догадался! Третья моя гипотеза заключалась в том, что D(L) растёт, пока не превосходит 15000, а потом обрезается на этой отметке. То есть D(23)=14600, а D(24)=D(25)=15000. Проверяем... S(23)=182600.
(272600-182600)/15000=6. Работает! Таким образом, мой "виртуальный уровень" на данный момент составляет L=23+6-1=28, а за опыт я получил 28-1=27 скилл-пойнтов. Остальные 47-27=20 скилл-пойнтов – за квесты и миссии.
Я жив
[Print]
kv75