Показать: 64|Ответить: 0

[DEV / В разработке] [Quests] Испытание Хаоса

[Скопировать ссылку]
Опубликовано 2025-9-4 01:24:16 | Показать все этажи |Режим чтения

· ID: Скрытое содержимое ChaosTrials

Уровень: – · Повторяемость: · Тип: · Сторона:
{title_value}
Стартовый NPC:
Локация:
Группа: Solo:
Лимит времени: мин
Предквесты:
Multisell:

Требуемые предметы

Награда

Adena:
EXP:
SP:
Выдача:

ASTRA

Δ Light: {astra_light_value}
Δ Dark: {astra_dark_value}
Δ Chaos: {astra_chaos_value}
{astra_notes_value}

Материалы

🌀 Алгоритм квеста «Испытания Хаоса»
1. Встреча с NPC
  • Игрок находит Вестника Хаоса (npc_id = 999003).
  • При первом разговоре показывается базовый HTML (elmchaos/001.htm) с тремя кнопками:
    • Принять Хаос → увеличивает счётчик elmo_align_chaos в БД.
    • Войти в Испытания Хаоса → вызывает ChaosTrials.enter_instance.
    • Обменять Осколки Хаоса → открывает multisell (id = 99003).




2. Проверка условий входа
Когда игрок нажимает «Войти в Испытания Хаоса», скрипт ChaosTrials.java проверяет:
  • Уровень — должен быть ≥ 20 (MIN_LEVEL = 20).
  • Размер группы — максимум 7 участников (MAX_PARTY = 7).
    • Если уровень меньше → показывается страница too_low.htm.
    • Если участников больше → показывается too_many.htm.

  • Если условия выполнены → создаётся инстанс Chaos Trials.



3. Создание инстанса
  • Ядро создаёт новый экземпляр инстанса (id = 99003).
  • Время жизни инстанса: 15 минут.
  • Все игроки, которых ядро связало с этим инстансом (сам игрок и его пати ≤7), телепортируются на координаты входа (151000, 47000, -3500).
  • На заранее заданных точках (MOB_LOCS) спавнится пачка мобов (например, демоны).
  • В Map<Integer, Integer> _kills создаётся запись «id инстанса → 0» (счётчик убийств).



4. Сражение
  • Игроки убивают мобов.
  • Каждый раз, когда моб умирает, счётчик убийств для этого инстанса увеличивается на +1.



5. Завершение испытания
  • Когда все мобы убиты (в инстансе не осталось MOB_ID) и статус инстанса ещё не отмечен как завершённый:
    • В указанной точке появляется сундук награды (REWARD_CHEST_ID, можно отключить если не нужен).
    • Подсчитывается количество убийств:



      reward = 1 + floor(kills * 0.6), максимум 30

      Пример: убито 20 мобов → 1 + floor(20*0.6) = 13 осколков.
    • Всем участникам выдаётся награда: Осколки Хаоса (item_id = 95003) в количестве reward.
    • Каждому игроку отправляется системное сообщение:



      Награда за Хаос: <кол-во> × Осколок Хаоса.

    • Инстанс помечается как завершённый (status=1).




6. Выход и очистка
  • Игроки могут покинуть инстанс самостоятельно.
  • Если время истекло или инстанс опустел → сервер его уничтожает.
  • В ChaosTrials.java вызывается onInstanceDestroy, и из _kills удаляется запись для этого инстанса.



7. Обмен осколков
  • Собранные Осколки Хаоса (95003) можно обменять у Вестника Хаоса через мультиселл (id = 99003).
  • Варианты обмена (пример):
    • 10 осколков → 1 Руна Хаоса (item_id = 96003).
    • 100 осколков → 12 Рун Хаоса.

  • При каждом обмене (через кастомный AstraMultisellHandler или скрипт Keeper’а) также увеличивается счётчик elmo_align_chaos.



8. Влияние на мир (песочница ASTRA)
  • Счётчик elmo_align_chaos хранится в таблице elmo_counters.
  • Когда он (или аналогичные для Света/Тьмы) достигает порога (threshold в elmo_world_state, например 70):
    • Мир переключается в состояние CHAOS.
    • Через спавнеры AstraChaosWardenSpawner появляется новый NPC, соответствующий Хаосу.
    • Старые хранители исчезают, если их сторона неактивна.

  • Таким образом, каждый обмен и каждое испытание двигает баланс в сторону Хаоса.



⚔️ Итоговый цикл для игрока
  • Игрок приходит к хранителю → выбирает сторону.
  • Входит в инстанс Trials → убивает мобов → получает осколки.
  • Обменивает осколки на руны → этим усиливает свою сторону в глобальном конфликте.
  • При накоплении силы стороны (счётчиков) мир Элмориона меняется: NPC, события, квесты и мобы подстраиваются.


Хроники Элмориона пишутся каждым шагом путника.
Расширенный режим
B Color Image Link Quote Code Smilies |Загрузить

Правила начисления баллов

Быстрый ответ Наверх Вернуться к списку