Skip to content

Как распознаются события

В Shakes & Fidget два вида событий, и Mercy SF обращается с ними по-разному.

Серверные события это выходные модификаторы: событие на опыт, событие на золото, повышенный шанс эпической добычи. Они меняют то, чему обычные модули должны отдавать предпочтение, и видны в состоянии игры, пока идут.

Крупные временные события это отдельные куски игры со своими экранами, своей валютой и своим прогрессом: Мировой босс, Адский лифт и Легендарное подземелье. Они появляются на неделю или две, а потом исчезают.

События

Почему «идёт ли оно» это самая трудная часть

Очевидный способ решить, идёт ли Мировой босс, это поискать данные Мирового босса в состоянии игры. Это не работает и подводит самым дорогим из возможных способов: сервер продолжает присылать этот блок ещё долго после закрытия события.

До того как это учли, получался модуль, который весь день слал свои команды и на каждую получал отказ event not active. Одно предупреждение в минуту на аккаунт и экран событий, показывающий завершённое событие так, будто оно идёт.

Mercy SF использует два источника истины, в таком порядке.

  1. Собственное окно события там, где протокол его даёт. Адский лифт и Легендарное подземелье несут и отметку начала, и отметку конца, так что на них можно ответить точно.
  2. Вердикт самого сервера там, где окна нет. У Мирового босса окна в состоянии игры нет, поэтому единственный честный сигнал это сам отказ. Если сервер сказал, что событие не идёт, этому верят час, а затем проверяют снова на случай, если началось новое.

Этот час и есть вся сделка. Закрытое событие стоит одного запроса в час вместо одного в минуту, а к только что открывшемуся присоединяются в течение часа, а не мгновенно.

Что намеренно не делается

Игра шлёт блок eventstatus с числовым кодом типа. Его отметки времени разбираются и используются. Сам код не трактуется как соответствие конкретному событию, потому что одно наблюдённое значение это не таблица соответствий, а ошибка молча направила бы модуль не того события против не того окна.

Проба на разблокировку

Строгая опора на распознавание заводила свежие аккаунты в тупик на Мировом боссе, и стоит знать почему, потому что симптом выглядит как ошибка.

Сервер присылает блок Мирового босса только после того, как персонаж присоединился к событию. Значит, персонаж, который ни разу не присоединялся, блока не имеет, никогда не распознаётся и потому никогда не присоединяется. Аккаунт сидит так бесконечно, а посторонние запросы возвращаются с world boss join first.

Поэтому, как только персонаж переходит уровень разблокировки, Mercy SF пробует войти по таймеру даже тогда, когда ничего не распознано, и оставляет решение серверу. Отказ стоит одного запроса раз в несколько минут и больше ничего.

Приоритет событий

Три настройки решают, насколько сильно временные события вправе тревожить обычный ежедневный цикл.

НастройкаПо умолчаниюЧто делает
event_priority_modeвклПока событие идёт, его модули идут в цикле раньше обычных.
event_ending_threshold_mins60Насколько близко к концу события считается «скоро закончится», после чего событию отдают более решительное предпочтение.
event_auto_beer_during_eventвыклРазрешить тратить пиво на жажду приключений во время события. По умолчанию выключено, потому что пиво это ограниченный дневной ресурс, и тратить его это предпочтение, а не настройка по умолчанию.

Серверные события и ежедневный цикл

Обычные модули читают идущие серверные события и подстраиваются:

  • событие на опыт двигает выбор заданий к заданиям на опыт, чтобы выходные с двойным опытом не ушли на серебро;
  • событие на золото делает обратное;
  • ежедневные награды, календарь, колесо и кости забираются независимо от того, что идёт, потому что взять их ничего не стоит.

Смотрите Задания, таверна и походы о том, как выбор заданий взвешивает событие против вашего постоянного предпочтения, и Ежедневные награды и календарь о цикле сбора.

Где описано каждое событие

  • Мировой босс: катапульта, боеприпасы, слабые места и сундуки. То самое, где рядом с каждой кнопкой есть грибная, и структурная причина, по которой она никогда не нажимается.
  • Адский лифт: подъём, ключ-карты и лавка лакомств, которая наверху остаётся единственным рычагом на боевую силу.
  • Легендарное подземелье: комнаты, двери, благословения, проклятия и два грибных потолка на воскрешении.

Mercy SF не связан с Shakes & Fidget или Playa Games. Вы используете его на свой риск.