Теперь самое интересное, время для успешной регистрации высчитывается из двух переменных accumulated (накопленный) и now (в данный момент).
Соответственно при удержании пьедестала каждую секунду проверяется условие if (accumulated + now >= 30). И только в случае, если это условие выполнилось, пьедестал будет успешно зарегистрирован. Это значит, что при проверке учитывается также уже накопленное время.
К примеру у вас 0 секунд накопленного времени и вы начали удерживать пьедестал. Каждую секунду сервер прибавляет к now 1 секунду и проверяет описанное выше услование.
Пример:
if (0 + 1 >= 30) => false
if (0 + 2 >= 30) => false
if (0 + 3 >= 30) => false
if (0 + 4 >= 30) => false
if (0 + 5 >= 30) => false
Если на 5 секунде вы были сброшены с пьедестала, тогда сервер записывает 5 секунд в переменную accumulated. При каждом сбросе с пьедестала ваше накопленное время штрафуется 4 секундами, если оно больше 4 секунд. Таким образом теперь у вас накоплена 1 секунда. Ниже приведены расчеты.
Пример:
if (1 + 1 >= 30) => false
if (1 + 2 >= 30) => false
if (1 + 3 >= 30) => false
if (1 + 4 >= 30) => false
if (1 + 5 >= 30) => false
Стоит также заметить, что вы 100% теряете накопленное время, если удерживаете пьедестал менее 4 секунд, потому что отнимается больше, чем вы получаете.
Далее привожу логи сервера с комментариями:
"Ситуация со стороны Vimpel"
// На начало удерживания у Vimpel уже накоплена 21 секунда 21:38:38 [CastleSiege] [Reg. Attempt] Accumulated Crown AccessTime : accumulated(21000) + now(0) [Faza](Vimpel) // 1 секунда удержания - Прибавляется 1 секунда к now 21:38:39 [CastleSiege] [Reg. Accumulating] Accumulated Crown AccessTime : accumulated(21000) + now(1000) [Faza](Vimpel) // 2 секунда удержания - Прибавляется 1 секунда к now 21:38:39 [CastleSiege] [Reg. Accumulating] Accumulated Crown AccessTime : accumulated(21000) + now(2000) [Faza](Vimpel) // 3 секунды удержания - Vimpel был сброшен с пьедестала и получил 4 штрафных секунды. 21 + 2 - 4, итого 19 секунд 21:38:40 [CastleSiege] [Reg. Fail] Accumulated Crown AccessTime : 19000 [Faza](Vimpel)
Можно сделать вывод, что Vimpel за эту попытку потерял 1 накопленную секунду.
"Ситуация со стороны "KING"
// На начало удерживания у KING накоплено 0 секунд 22:25:12 [CastleSiege] [Reg. Attempt] Accumulated Crown AccessTime : accumulated(0) + now(0) [PHOENIX](KING) // 1 секунда удержания - Прибавляется 1 секунда к now 22:25:13 [CastleSiege] [Reg. Accumulating] Accumulated Crown AccessTime : accumulated(0) + now(1000) [PHOENIX](KING) // 2 секунда удержания - Прибавляется 1 секунда к now 22:25:14 [CastleSiege] [Reg. Accumulating] Accumulated Crown AccessTime : accumulated(0) + now(2000) [PHOENIX](KING) // 3 секунда удержания - Прибавляется 1 секунда к now 22:25:15 [CastleSiege] [Reg. Accumulating] Accumulated Crown AccessTime : accumulated(0) + now(3000) [PHOENIX](KING) // 4 секунда удержания - Прибавляется 1 секунда к now 22:25:16 [CastleSiege] [Reg. Accumulating] Accumulated Crown AccessTime : accumulated(0) + now(4000) [PHOENIX](KING) // 5 секунда удержания - Прибавляется 1 секунда к now 22:25:17 [CastleSiege] [Reg. Accumulating] Accumulated Crown AccessTime : accumulated(0) + now(5000) [PHOENIX](KING) // 6 секунда удержания - KING был сброшен с пьедестала и получил 4 штрафных секунды. 0 + 5 - 4, итого 1 секунда 22:25:18 [CastleSiege] [Reg. Fail] Accumulated Crown AccessTime : 1000 [PHOENIX](KING)
Можно сделать вывод, что KING за эту попытку получил 1 накопленную секунду.
Такая система регистрации пьедестала используется на всех покупных MuOnline файлых от SCFMT вплоть до 3 сезона. Изменить принцип регистрации на данный момент невозможно.
Прошу заметить, что накопленное время применимо к обоим сторонам захвата, все справедливо!
Надеюсь теперь все стало на свои места.