Квесты и магазины

1. Особенности мультиплеера Аллодов 2.

При создании мультиплеерных карт к Аллодам-2 необходимо учитывать следующие особенности:
-при постановке на карту магазинов и таверн, следует выбирать их мультиплеерные варианты, например “Multiplayer Kaarg Shop”, “Multiplayer Druid Inn”. Обычные варианты этих зданий будет невозможно использовать.
-во всех магазинах необходимо задавать ассортимент товаров. Как это делать, см. часть 3. Задание ассортимента через хит поинты, как в А-1, не работает.
-механизм случайной генерации квестов предполагает, что каждый город будет принадлежать определенному AI-игроку. Квесты даются в тавернах, поэтому каждый город (AI-игрок) по-хорошему должен иметь не только магазин, но и таверну (таверны).
-для монстров при желании можно настроить параметры репопа (см.часть 2).

2. Параметры репопа (оживления) монстров.

Параметры репопа задаются для текущей группы монстров и вызываются кнопкой Repop Settings в диалоге выбора юнита. Вы можете задать:
-время репопа (по умолчанию 120сек=2мин). Минимальное значение 5 сек.
-AI Instant, которая будет выполнена сразу же после репопа монстров. Т.е. можно задать, например, группе гоблинов постоянно нападать на людскую деревню.
-квесты, которые можно разрешить для данной группы монстров (подробнее см.часть 4)

3. Задание ассортимента магазинов.

Выберите мультиплеерный магазин в диалоге выбора здания, и нажмите кнопку Special.
Вы окажетесь в диалоге настройки магазина. Каждый магазин имеет 4 полки. Очень желательно, чтобы ассортимент полки совпадал с графической картинкой полки. Поэтому рекомендуется следовать следующей раскладке полок:

Город

Полка 1

Полка 2

Полка 3

Полка 4

Плагат

Броня

Оружие

Магические предметы

Пузырьки, книги, свитки

Каарг

Броня

Магические предметы

Пузырьки, книги, свитки

Оружие

Друидский

Броня, оружие

Магические предметы

Пузырьки, книги, свитки

Эльфийские вещи

Возможны отклонения от этой раскладки, но в разумных пределах. Например, в раздел брони поместить магическую и обычную броню, в раздел оружия – обычное и магическое оружие, а в разделе магических предметов оставить только посохи.
Для полки задается минимальный и максимальный предел цен. Задавая предел цен, сопоставляйте его с ассортиментом материалов и шэйпов. Например, бессмысленно задавать минимальный ценовой предел выше 100000, если вы хотите, чтобы в магазине продавались немагические мифрильные вещи. Кроме того, можно задать максимальное кол-во вещей на полке (рекомендуется 20-50, бОльшие значения будут вызывать серьезную задержку при входе в магазин), и кол-во вещей одного типа (для немагической брони и оружия – рекомендуется 1-8, для остальных полок – 1).
Кнопка shapes&materials позволяет задать ассортимент материалов, шэйпов и типов предметов для данной полки. Обязательно проверяйте их соответствие друг другу! Например, бессмысленной будет являться комбинация Shields + Magic Wood при отсутствии шэйпа Uncommon. Или Mithrill + Weapons при отсутствии шейпа Rare. Если вы не уверены в чем-то, лучше включите все шэйпы, так будет надежнее. В списке типов редактора карт не используется тип Clothes (одежда для магов), он задается путем комбинации Armor + None. Тип Other означает пузырьки, книги и скроллы. Для типа Other не требуется задавать никаких шэйпов и материалов. В поле Extra можно задать тип предметов – обычные и/или магические.

4. Квесты.
Квесты игрок может получить в мультиплеерной таверне. Позаботьтесь о том, чтобы AI-игроки, которым принадлежат те таверны, в которых предполагается получение квестов игроком, были нейтральны или в альянсе с Self-ом, иначе игрок туда не попадет.
Когда вы планируете расположение городов на карте, постарайтесь придумать некие взаимоотношения между ними. Например, один город по какой-то причине воюет с другим, но дружит с третьим. Четвертый может быть сам по себе, нейтрален ко всем. Это поможет решить, какие типы квестов будут давать в тавернах. Между одними городами может действовать постоянное сообщение (квесты «доставить предмет», «доставить сообщение за определенное время»), между другими будет идти война (квест «убить всех юнитов AI игрока»).
При входе в таверну игроку генерится список возможных квестов. Игрок выбирает один из них, и в случае его успешного выполнения возвращается за призом. Приз генерится автоматически, в зависимости от типа квеста и уровня убитых квестовых врагов.
Квесты делятся на общие и локальные (привязанные к данной карте). При создании карты можно задать типы общих квестов, которые будут выдаваться в данной таверне, и наметить объекты для локальных квестов (конкретный юнит или группа юнитов).

«Убить N юнитов данного типа» – общий квест. Тип юнита подбирается под уровень игрока. Вы лишь можете задать группы юнитов, которые разрешено использовать в качестве цели квеста – монстры, люди, андеды/некромансеры. Это разделение сделано, чтобы вы могли придать некую логичность происходящему. Например, вы захотите сделать город некромансеров (таверну взяв от плагата). Нелогично, что там будут давать квесты на убийство тех же самых некромансеров.
Пример: убить 5 экземпляров монстра Дракон[4].

«Убить конкретного юнита» – локальный квест. В диалоге настройки юнита можно установить флажок “Quest Kill”. При генерации квестов выберется случайный юнит из тех, на которых выставлен “Quest Kill”, и тот, который наиболее соответствует уровню персонажа. Если таких юнитов не будет, или они все будут намного сильнее либо намного слабее персонажа, этого типа квеста в таверне не будет. Если игрок кооперируется с другими игроками, то он обязан персонально нанести последний удар по юниту, чтобы квест был засчитан, иначе придется ждать следующего репопа квестового юнита и убивать его еще раз.

«Убить группу юнитов» – локальный квест. В диалоге настройки репопа группы флажок “Quest Kill Group” отвечает за возможность квеста на убийство данной группы монстров. Квест считается выполненным, если игрок персонально убил последнего монстра из группы. Для убийства остальных монстров он может воспользоваться помощью своих друзей.

«Сопроводить юнит» – локальный квест. В диалоге настройки юнита за него отвечает флажок “Quest Escort“. Таверна при генерации квеста будет искать юниты с таким флажком среди юнитов СВОЕГО AI-игрока. Эскортируемый юнит по возможности должен быть слабым (например, крестьянин), т.е. не мог далеко уйти без помощи игрока. В качестве цели путешествия выберется одна из нейтральных или дружественных таверн. При взятии квеста юнит переходит под контроль игрока, а по достижению конечной точки путешествия – переходит под контроль местной таверны. Таким образом, в местной таверне может появиться квест на сопровождение этого юнита обратно или в другое место. При убийстве эскортируемого юнита квест считается проваленным, эскортируемый юнит через некоторое время репоппится, и квест на его сопровождение появится снова.

«Доставить предмет» – локальный квест. В специальных настройках таверны выберите предмет для доставки и включите квест флажком “On”. Целью доставки выбирается одна из невраждебных таверн. Нельзя использовать один и тот же квестовый предмет в разных тавернах. Если игрока убъют по дороге, он может поднять предмет вместе со своими вещами и нести его дальше.

«Доставить срочное сообщение» – общий квест, дается всегда. Задача – доставить виртуальное сообщение в одну из невраждебных таверн за определенное время (т.е. попросту добежать туда).

«Поднять N духов, скелетов или зомби» – общие квесты, включаются в настройках таверны флажком ”Quest Raise dead”. Даются только магу. Задача игрока – с помощью заклинания «перерождение» поднять из трупов необходимое кол-во юнитов заданного типа и привести их к таверне. По выполнению квеста юниты переходят под контроль таверны. Награда игрока сильно зависит от уровня монстров, из которых подняты духи/скелеты/зомби.

«Перехватить юнит» – локальный квест. Флажок “Quest Intercept Unit” в настройках юнита. По взятии квеста, группа, в которой находится квестовый юнит, пойдет в боевой готовности к данной таверне. Задача игрока – убить квестового юнита, пока он не добрался до таверны. Квест провален, если квестового юнита убъет по пути кто-нибудь другой.

«Перехватить группу юнитов» – локальный квест. Аналогичен квесту «перехватить юнит», только флажок устанавливается в настройках репопа группы, и убить необходимо последнего монстра из группы, прежде чем он доберется до таверны.

«Уничтожить AI игрока» – локальный квест. Включается флажком “Quest kill” в настройках игрока. Цель – убить всех юнитов данного игрока. Если игрок будет действовать слишком медленно, часть юнитов могут отрепоппится, и тогда придется убивать их снова. Поэтому в этом квесте полностью приветствуется кооперация с другими игроками, квест будет засчитан, даже если игрок будет стоять в стороне и смотреть, как дерутся его друзья. Квест предполагается использовать в основном для уничтожения охраны враждебных городов.

Широкомасштабное использование квестов предполагает большое кол-во AI-игроков. Помните, что количество AI игроков ограничено числом 15 (включая Self-а).
Если вы задаете квест на убийство юнита или группы юнитов, позаботьтесь о том, чтобы рядом с ними находилось какое-нибудь здание. При генерации квеста программа ищет ближайшее к объекту квеста здание и сообщает игроку имя здания в качестве ориентира. В дополнение к району карты, ориентир позволит игроку быстрее найти правильного квестового монстра среди ему подобных. Так что не ленитесь поставить любое, пусть даже бессмысленное здание рядом с квестовым монстром.

Nival