Игра в материале
Neverwinter Nights
?Рейтинг
Игромании
9Рейтинг
игроков
PC
Жанр: Ролевая игра
Серия: Neverwinter Nights
Мультиплеер:  Интернет, локальная сеть
Разработчик: BioWare
Издатель: Infogrames
Издатель в России: СофтКлаб
Локализатор: СофтКлаб
Дата выхода: 18 июня 2002
Дата выхода в России: 16 марта 2007
Джедаи против зомби. Ролевое безумие. Основы магии вуду в Neverwinter Nights

Джедаи против зомби. Ролевое безумие. Основы магии вуду в Neverwinter Nights

Вскрытие — Джедаи против зомби. Ролевое безумие. Основы магии вуду в Neverwinter Nights
"...Neverwinter Nights. Стопроцентный хит. С ним поставляется отличный редактор (см. "Мастерскую"), позволяющий создавать свои приключения. Но вот саму ролевую систему поменять, увы, нельзя. Нельзя добавлять свои заклинания, свои фиты, и еще много чего не
Игроманияhttps://www.igromania.ru/
Вскрытие
Джедаи против зомби. Ролевое безумие. Основы магии вуду в Neverwinter Nights
   Боль. Везде боль. Тупая боль. И ничего больше. С огромным трудом открываю глаза. Светает. Небо чистое, голубое. И стервятники кружатся над полем. Память возвращается тяжело. Обрывками. Мелькают эпизоды. Демоны, орки, эльфы, валькирии, зомби. Звон мечей, предсмертные крики и стоны павших. Маг, решивший сказать свое веское и очень опасное волшебное слово. Все смешалось. И вот в голове всплывает воспоминание. Свист стрелы. Боль в плече. Растерянность на миг. Поворачиваю голову. Блеск занесенного меча. Удар. И темнота.
   Neverwinter Nights. Стопроцентный хит. С ним поставляется отличный редактор (см. "Мастерскую"), позволяющий создавать свои приключения. Но вот саму ролевую систему поменять, увы, нельзя. Нельзя добавлять свои заклинания, свои фиты, и еще много чего нельзя. С этим надо бороться. После прочтения данного материала вы сможете создавать свои полноценные РПГ с уникальными игровыми системами (не моды, а именно игры!) на прекрасном графическом движке NWN. Игры, действие которых происходит в другое время, в мирах, сотворенных вашим воображением. Я поклонник всего современного, hi-tech. Действие моей RPG будет разворачиваться в далеком будущем во вселенной, сходной с миром Star Wars и Fallout одновременно. Наш самый главный инструмент сегодня — фантазия.
   Давайте приступим к работе. Только на всякий случай делайте резервные копии всех редактируемых файлов, чтобы в случае каких-то проблем избежать переустановки игры.
   Как обычно, операцию начинаем с того, что заходим в ту папку, куда установлена игра.
    
   Мертвая змея не шипит

   Во-первых, давайте рассмотрим содержимое папки \movies. Там находится приличное количество bik-файлов. Это — видеоролики. Они проигрываются при помощи Bink Player. Далее отправляемся в каталог \music, являющийся пристанищем множества bmu и одного wav-файла. Естественно, wav без проблем играется любым плеером. А вот над bmu-шками стоит потрудиться. У всех меняем расширение на mp2. Все! Запускаем плеер и слушаем музыку из игры. Кстати, разработчики оказались заботливыми людьми и заполнили в звуковых файлах часть тегов. Если модификация проводится действительно серьезная, то придется постараться и заменить стандартную музыку на свои композиции. Для моей игры подошли треки группы Rammstein. Теперь открываем папку <Каталог с игрой>\ambient. Нашему взору предстает множество wav-ов. Это все игровые звуки. Поскольку мы с вами делаем свою РПГ, то и здешние файлы также подлежат тотальному изменению.
    
   Мертвый зомби не идет

   Запускайте Neverwinter Nights Viewer (берите ее с компакт-диска "Игромании"). Программа работает с bif-, mod-, hak-файлами. Кроме того, она позволяет просматривать (но не редактировать!) mdl-ки, содержащие игровые модели, графические файлы с текстурами игры, слушать музыку из игры и много чего еще. В программе выбираем File\Bif\Neverwinter Nights. Утилита сама определит, в какую директорию проинсталлирована игра, и откроет окошко со списком всех bif-файлов. Под ним находится список файлов из текущего bif-a. Мы можем посмотреть содержимое любого файла и экспортировать его из архива. Для этого нужно просто выделить нужный нам файл и в контекстном меню выбрать Extract to. Жаль, что программа не поддерживает импортирование в bif-ы. Давайте рассмотрим содержимое каждого из bif-файлов.
   2DA.bif здесь находятся 2DA-файлы. Эти
85 Kb
Вот в таких вот таблицах
хранится вся ролевая система
игры.
файлы являются ключевыми, определяющими всю игровую механику
. Экспортируйте их все в отдельную директорию. С самыми интересными из них мы поработаем чуть позже.
   loadscreens.bif в этом файле лежит графика в tga-формате. Это картинки, которые показывает игра во время подгрузки локаций, сохранения игры, загрузки сейвов. Как-то несолидно пользоваться картинками NWN. Тем более что это будет смотреться нелепо — почему это в футуристической RPG показываются фэнтезийные средневековые изображения.
   textures_01.bif и textures_01.bif текстуры. Свыше 9000 тысяч игровых текстур в формате Truevision targa (tga). А также некоторые изображения в plt-файлах. Труда предстоит много, но заменить все текстуры можно и даже нужно.
   music.bif несколько десятков wav-файлов с музыкой. Тоже подлежат замене на свои композиции.
   scripts.bif скрипты, заведующие в игре всем. Поведением монстров, NPC, воздействием спеллов и еще много чем. Язык скриптов, можно сказать, брат родной для C. Их синтаксис очень похож на С и C++. Без программистских навыков редактировать крайне не рекомендуется. Хотя в "Самопале" мы уже не раз обращались к теме скриптов, и, если вы внимательно читали эти статьи, вам не должно составить труда расшифровать и здешние скрипты. Принцип их работы ничем не отличается.
   sounds.bif — набор звуков в формате *.wav. Это звуки кастования спеллов, те шумы, что издают различные монстры, звон мечей. Немного поколдовать здесь, и все — в моей RPG каждый встречный орк теперь издавал привычное "zug-zug".
    voicesets.bif опять звуки, и опять в формате *.wav. А вот этот файл сверхинтересен. Здесь лежат надиктованные тексты диалогов на английском языке. Также там находятся наборы голосов для вашего персонажа (вы один из голосов выбираете при генерации своего альтер эго). Пора достать из запасников микрофон и приступить к переозвучке всего и вся. Я, кстати, приятный женский голосок Арибет поменял на скрипучий голос Императора Палпатина. Наконец, можете добавить сюда свой голос, чтобы ваше виртуальное воплощение было еще больше похоже на оригинал.
   convo.bif — звуки. Куда же без них. Это своего рода продолжение предыдущего файла. Здесь также лежит озвучка для вашего персонажа, а также еще большая порция надиктованных диалогов.
   models_01.bif и models_02.bif содержат mdl-файлы, которые несут в себе модели игрового мира. NWN Viewer позволяет только просматривать эти модели. Но на компакт-диск "Мании" мы выложили ряд утилит, которые помогут вам в создании своих моделей. Во-первых, это пакет с-tools, одна из программ которого предназначена для конвертирования бинарных файлов в ASCII-файлы. Во-вторых, плагин, позволяющий конвертировать ASCII-файлы моделей в формат 3D Studio Max и, наоборот, преобразовывать из формата 3D Studio в игровой. Вот действительно есть где разгуляться фантазии. Обычные гоблины у меня превратились в некое подобие Йоды. А вот обыкновенных орков я поменял на легендарного Трала.
    Файлы aurora_*.bif — файлы, используемые редактором Aurora NWN Toolset. Там лежат модели комнат, дверей, подземелий. Как редактировать *.mdl, я уже писал выше.
   aurora_gui.bif — здесь можно найти иконки фитов, иконки действий. А также файлы fnt*.tga — это все различные шрифты игры. Их можно переделать, например, под готику или рукописный. Не забудьте добавить сюда русские буквы, чтобы в игре можно было использовать русские тексты.
    Для того чтобы импортировать назад в игру измененный файл (будь то картинка, модель, 2DA-файл), его нужно поместить в директорию <Каталог с игрой>\override. Не изменяя (!!!) имени и расширения. После тотальной модификации текстур, моделей и всего прочего у меня значительно увеличился размер папки \override, но возросла и скорость загрузки игры.
    
   Словесность потустороннего
мира
   Настала пора воспользоваться утилитой
126 Kb
Neverwinter Nights TLK Editor (дожидается вас на нашем компакте). Ее интерфейс предельно прост. Загружаем в программу файл dialog.tlk. Этот файл содержит статическую текстовую информацию вроде описаний классов, рас, спеллов и прочее (конкретные разговоры содержатся в модулях). Каждый текст имеет свой ID. Потом этот ID используется в других файлах. При помощи программы можно редактировать любую запись в файле, удалять записи, добавлять... Только следите, чтобы ID не повторялись. Рекомендую заменять тексты на их эквиваленты на великом и могучем. Хотя можно поступить по-другому. Придумайте и добавьте сюда названия и описания своих спеллов, фитов, классов. Зомби заговорят на чистейшем русском. Ну или на грязнейшем. Это уж как вам будет угодно.
   Бегущий по кромке молнии

   Готовим к работе "Блокнот". Открываем в нем файл spellschools.2DA. В этом файле идет описание магических школ. Видим, что в самом файле множество колонок с цифрами и словами.
    У первой колонки нет названия. Она содержит цифру — ID школы. Этот ID служит для того, чтобы ссылаться на какую-либо школу из других файлов. Естественно, в файле они не должны повторяться. Ради эксперимента я поставил 2 раза значение 0. В результате — полный крах игры.
   Label имя магической дисциплины. Используется самой игрой.
   Letter указывайте здесь букву, однозначно идентифицирующую дисциплину. Значения в этой колонке не должны повторяться. Используется, чтобы ссылаться из других файлов.
   StringRef — имя, которое будет отображаться в игре. Впечатывайте ID текста из dialog.tlk.
    Opposition противоположная школа магии. Здесь указывайте цифру ID другой школы.
   Description описание.
    Теперь загружаем в "Блокнот" файл spells.2DA. Этот файл, как можно догадаться из названия, описывает все спеллы Neverwinter Nights. Одна строка является записью и содержит полную информацию об одном заклинании. Некоторые столбцы я намеренно пропустил, так как мне не удалось выяснить, что они описывают.
    Первая колонка не имеет названия и содержит в себе порядковый номер (ID) заклинания.
    Второй столбец — label — метка спелла. Также должна быть уникальной. В принципе, разработчики в качестве метки используют название заклинания на английском, что облегчает задачу по модифицированию. А в BioWare еще и по алфавиту в этом файле спеллы рассортировали.
   Name — имя в игре. Здесь указывается ID из dialog.tlk.
    IconsRef — иконка заклятия. Указывайте имя иконки из файла data\textures_02.bif или директории \override.
    School школа магии, к которой принадлежит заклинание. Может быть: A (ABJURATION), С (CONJURATION), D (DIVINATION), E (ENCHANTMENT), I (ILLUSION), N (NECROMANCY), T (TRANSMUTATION), V (EVOCATION) или любая другая школа, которую добавили в файл spellschools.2DA.
    Range зона поражения. Можно указать: P (САМ КОЛДУН), T (TOUCH) — точечная, S (SHORT) малая, M (MEDIUM) средняя, L (LONG) большая.
    VS есть ли спасбросок против заклинания; если установлено vs, то есть, если s или v, то нет.
   ImpactScript скрипт, который исполняется, когда кастуется заклятие. Здесь пишем имя скрипта из файла data\scripts.bif или директории \override.
    Bard число показывает, с какого уровня доступно данное заклинание у барда. Если поставить четыре звездочки (****), то оно у данного класса отсутствует.
   Cleric — то же для клерика.
111 Kb

   Druid — для друида.
   Paladin — для паладина.
   Wiz_Sorc — для волшебников и магов.
   ConjSoundFX звук, проигрываемый, когда заклятье скастовано. Пишите здесь имя файла из data\sounds.bif.
    ConjSoundMale звуки, которые издает мужчина-маг во время произнесения заклинания. Впечатывайте в этот столбец имя файла из data\sounds.bif или директории \override.
    ConjSoundFemale аналогично предыдущему столбцу, но для женщин.
   CastTime время, необходимое для произнесения заклятия. Измеряется в неких условных временных единицах. Большему значению данного параметра соответствует большее время произнесения.
   ImmunityType тип иммунитета к заклинанию (я встречал такие: Electricity, Mind-Affecting, Fire, Acid, Divine, Death, Cold, Sonic, Negative, Fear, Disease). Если стоят четыре звездочки, то иммунитета против него нет.
   SpellDesc — описание спелла, которое показывается в игре. Ставьте ID текста из dialog.tlk.
    UseConcentration если стоит 1, то будет использоваться умение Concentration.
    Altmessage текст, печатаемый в консоли после применения заклятья. Впечатываем ID текста из dialog.tlk.
   После редактирования сохраняйте файл с таким же именем и расширением в папку <Каталог с игрой>\override.
   Только представьте, что станет с оригинальным NWN после редактирования этого файла. Теперь можно не только редактировать статистику существующих спеллов, но и создавать свои. Вы можете создать свою, уникальную магическую систему. Здесь простор для творчества просто необъятен. Например, можно создать спеллы, поражающие своей мощью, силой, но для их произнесения потребуется большое количество времени. Тогда игрок в битве будет стоять перед дилеммой: кастовать ли заклятье, которое убьет сразу три четверти всех врагов, но и подвергнет жизнь мага опасности, или обойтись без тяжелой артиллерии и риска для жизни. Придумывайте свои школы магии. Никто и ничто не ограничит полет вашей фантазии.
    
   Нео-фиты магических школ

   Теперь загружаем в "Блокнот" файл feat.2DA. Здесь содержится описание всех фитов игры. В принципе, все аналогично файлу spells.2DA.
   Первый столбец не имеет названия и содержит в себе порядковый номер (ID) фита.
   Label — метка фита, его внутриигровое имя. Опять же, здесь все метки соответствуют названию фита на английском, с некоторыми сокращениями, и упорядочены по алфавиту.
   Feat имя в игре. Здесь указывается ID из dialog.tlk.
    Description — описание фита, которое показывается в игре. Ставьте ID текста из dialog.tlk.
    Icon — иконка. Указывайте имя иконки из файла data\aurora_gui.bif или директории \override.
    MINATTACKBONUS минимальный бонус к атаке, который дает фит.
   MINSTR минимальная сила, которую должен иметь персонаж, чтобы получить фит. Если стоят звездочки, то для получения фита не имеет значения, сколько у героя силы.
   MINDEX — аналогично предыдущему. Только речь идет о ловкости.
   MININT то же для интеллекта.
   MINWIS — для мудрости.
   MINSPELLLVL минимальный уровень спеллов, которые маг должен уметь кастовать, чтобы заполучить фит; если проставлены звездочки, то умение колдовать для получения фита не нужно.
   PREQFEAT1 какие фиты должен иметь персонаж, чтобы заполучить данный фит. Указывайте ID необходимого фита.
   PREREQFEAT2 — аналогично.

   GAINMULTIPLE можно ли брать данный фит несколько раз на различных уровнях.
   ALLCLASSCANUSE — параметр, определяющий, все ли классы могут использовать фит. 0 — нет, 1 — да.
   USESPERDAY сколько раз в день можно пользоваться фитом. Можно указать цифры; если указать звездочки, то ограничений на использование нет. А вот если ставить -1, то количество применений фита будет определяться скриптами.
   Constant — константа фита. Используется в различных игровых скриптах.
   REQSKILL скилл, необходимый для получения данной способности. Впечатывайте ID скилла из файла skills.2DA.
   Здесь так же, как и в случае со спеллами, следует соблюдать баланс. Добавляйте свои фиты, редактируйте соответствующие. Я не забыл вместо стандартных WeaponFocus Long Sword и Monk Endurance поставить "владение световым мечом" и "устойчивость к радиации" соответственно.
    
   Могила — лишь постель

   Открывайте файл skills.2DA. Он содержит информацию про все игровые
76 Kb
умения.
    Первый столбец — ID скилла. Используется в других 2DA-файлах для ссылки на умение.
   Label метка умения, внутриигровое имя. Опять же на английском с некоторыми сокращениями.
   Name — имя, которое отображается в игре. Это ID текста из dialog.tlk.
    Description описание скилла. Это также ID текста из файла dialog.tlk.
    Icon иконка скилла. Впечатывайте имя картинки из файла aurora_gui.bif.
    KeyAbility ключевая характеристика для скилла. Здесь может быть указано STR (сила), DEX (ловкость), CON (телосложение), INT (интеллект), WIS (мудрость), CHA (обаяние).
   ArmorCheckPenalty дает ли пенальти надетая броня при использовании скилла. 0 — нет, 1 — да.
   AllClassesCanUse все ли классы могут использовать это умение. Если поставить 0 — нет, если 1 — да.
   Constant — константа умения. Используется в игровых скриптах.
    Интересно не изменить уже существующие, а добавить парочку своих умений. Вроде "взлом компьютерных систем" или "починить вещь". Главное, чтобы все подходило под стиль вашей RPG.
   Класс — зомби, раса — джедай

   Приступим к редактированию classes.2DA. Этот файл описывает классы, присутствующие в игре.
    Первая колонка — ID класса. Цифровое значение, указанное в столбике, используется в остальных файлах, чтобы ссылаться на какой-либо класс.
   Label — метка, внутриигровое имя.
   Name — имя класса, которое показывается в игре. Указывать ID текста из dialog.tlk.
    Plural — название класса во множественном числе. Печатайте ID текста из все того же dialog.tlk.
    Lower — название класса в нижнем регистре (то есть с маленькой буквы).
   Description — описание класса.
   Icon — иконка класса. Сами иконки могут лежать в aurora_gui.bif или папке \override.
    HitDie что тут сказать. Все и так ясно из названия колонки. Указывайте числовое значение.
   FeatsTable имя таблицы, определяющей, какой фит и на каком уровне приобретает класс. Указываете имя 2DA-файла из 2DA.bif или директории \override. Если указать звездочки (4 штучки), то класс никаких фитов получать не будет.
   SavingThrowTable имя таблицы, определяющей спасброски в зависимости от уровня. Впечатывайте имя 2DA-файла из 2DA.bif или директории \override.
    SkillsTable
83 Kb
Не забудьте отредактировать
этот стандартный сплеш-скрин.
имя таблицы, определяющей, какие из скиллов доступны и являются классовыми.
   SkillPointBase число, от которого зависит количество единичек скиллов, получаемых при level up. Игра вычисляет их так: (SkillPointBase + Intellect Modifier)*4.
    SpellGainTable имя таблицы, которая определяет, какие заклинания появятся у класса с очередным уровнем. Пишем здесь имя 2DA-файла из 2DA.bif или директории \override. Можно также поставить звездочки, если персонаж не должен получать спеллы.
   PlayerClass может ли игрок выбирать данный класс при генерации персонажа (дело в том, что в игре присутствуют особые классы. Классы монстров, за которые нам разработчики не дают поиграть!). Если стоит 1, то можно, 0 — нельзя.
   SpellCaster может ли кастовать заклятья класс. 1 — да, 0 — нет.
   Str значение показывает, сколько очков попадет на силу для данного класса, если при распределении очков нажать на кнопку Recommended. Указывайте цифру.
   Dex аналогично вышесказанному, но для ловкости.
   Con — для телосложения.
   Int — для интеллекта.
   Wis — для мудрости.
   Cha — для харизмы.
   Только следите за тем, чтобы общая сумма значений в одной записи для столбцов Str, Dex, Con, Int, Wis, Cha не превышала 45!
   PrimaryAbil — главная характеристика для класса. Можете поставить STR (сила), DEX (ловкость), CON (телосложение), INT (интеллект), WIS (мудрость), CHA (харизма).
   Constant константа класса.
   Для начала попробуйте поиграть за элементаля или паука. А дальше создавайте свои классы.
   Давайте рассмотрим таблицы приобретаемых фитов в зависимости от уровня. Напомню, что они хранятся в cls_feat_*.2DA.
   Первый столбик — ID цифровое значение.
   Featlabel метка фита.
   FeatIndex цифровое значение — ID фита в feat.2DA.
    List если какой-то фит получается уже при генерации, то необходимо поставить здесь 0, в противном случае — 3.
    GrantedOnLevel на каком уровне приобретается фит. Указывайте цифру. Если персонаж получает фит еще при генерации, ставьте минус единицу.
    Поработаем над таблицами, определяющими спасброски в зависимости от уровня. Они лежат в файлах cls_savtrh_*.2DA.
    ID — цифровое значение.
   Level уровень.
   FortSave значение спасброска Fortitude.
    RefSave значение спасброска Reflex.
    WillSave — значение броска Will.
   Теперь настала очередь таблиц, определяющих наличие скиллов у класса. Они находятся в cls_skill_*.2DA.
    ID цифровое значение.
   SkillLabel метка скилла.
   SkilIndex ID скилла из файла skills.2DA.
    ClassSkill значение показывает, является ли классовым этот скилл. Если стоит 1, то да, 0 — нет.
    А теперь давайте загрузим один из важнейших игровых файлов — racialtypes.2DA, определяющий расы.
   ID цифровое значение.
   Label — внутриигровое имя расы.
   Abbrew — аббревиатура расы. Вводите сюда 2 буквы.
   Name — имя расы, которое видит игрок. Цифры — ID текста из dialog.tlk.
    NamePlural имя во множественном числе, которое видит игрок.
   Description описание расы.
100 Kb
Обратите внимание на новую
фоллаутовскую броню и
лазерный меч в инвентаре.

   StrAdjust насколько изменяется сила. Показатель может быть как положительным (характеристика увеличивается), так и отрицательным (характеристика уменьшается).
   DexAdjust — то же для ловкости.
   ConAdjust — для телосложения.
   IntAdjust — для интеллекта.
   WisAdjust — для мудрости.
   ChaAdjust для харизмы.
    Favored Favorite Class для этой расы. Указывайте ID класса из classes.2DA. Если поставить четыре звездочки, то класс может быть любым.
   FeatsTable таблица, определяющая, какие фиты имеет эта раса. Указывайте имя файла из 2DA.bif.
    Biography — биография. Впечатывайте ID текста из dialog.tlk.
    PlayerRace может ли игрок выбрать расу при создании своего виртуального воплощения. 1 — да, 0 — нет.
   Constant — константа.
   ToolsetDefaultClass класс, который выберет игра для расы, если нажать на кнопку Recommended.
   Таблицы, определяющие, какие фиты автоматически имеет раса, лежат в файлах race_feat_*.2DA. Устройство файлов чрезвычайно простое. Первая колонка — ID — цифровое значение. Вторая колонка — Label — имя фита внутриигровое. Третья колонка — FeatIndex — индекс фита из файла feat.2DA.
   Ну и наконец, давайте разберемся с файлом exptable.2DA. Этот файл описывает количество уровней, набираемых персонажем, и количество экспы, необходимое для очередного level up.
   Первый столбец, как обычно, это ID уровня.
   Level номер уровня.
   XP количество экспы, необходимое для получения данного уровня.
    Этот файл также важен. Наверное, вас не устроит, что в создаваемой вами RPG только 20 уровней, как в оригинальной игре NWN, или наоборот — это покажется слишком большим числом. Можете по-своему изменить значение экспы, необходимое для достижения соответствующего уровня.
    
   Кликни зомби по иконке

   Давайте загрузим программу Resource Hacker (вы не поверите, но и ее можно взять с компакта "Мании") или, если у вас есть, Restorator. В меню File\Open выбираем nwmain.exe. Справа в Tree выбираем Cursors и видим, что появились курсоры, используемые в NWN. Их, конечно, можно заменить на свои. То же самое можно сотворить и со стандартными иконками. В настоящей РПГ учитываются и такие мелочи, как курсоры и иконки, потому активируем Adobe Photoshop и перерисовываем все и вся. Эксперименты с Resource Hacker можно продолжить, загрузив в него файлы nwncofig.exe (конфигуратор игры) и nwntoolset.exe (редактор Aurora NWN Toolset). Вы сможете, например, перевести эти две программы на русский язык, а также заменить и курсоры, и картинки, и иконки.

   Мы укрылись в маленькой чаще на холме. Утро. Солнце показалось над горизонтом. Туман потихоньку рассеивается, обнажая ранее скрытые за белой пеленой пейзажи. Становится видно раскинувшееся внизу поле. Дует ветер. Трава колышется, словно волны на море. И вот из-за гряды появляются стройные ряды врага. Придется воспользоваться электронным биноклем. Первыми топают роботы. Позади следуют орки. И лишь в самом конце идут эльфы, меткие стрелки. Недаром их вооружили бластерами G228. Мне бы их уверенность. Кажется, что они всматриваются вдаль, пытаясь увидеть противника. Невдалеке от всех находится маг со своим зверинцем. Каких только нет с ним демонов — всех мастей. Хорошо, что меня нет рядом с ним. От этого бесьего отродья у меня мурашки по коже. Но они под контролем и будут драться на нашей стороне — это успокаивает. Не знаю, выживем ли мы в этой битве. Хорошо, что на мне адамантитовая броня, а на поясе висит новая модель светового меча. Страшно. Долой траурные мысли! Не из такой сечи выходили живыми.
Комментарии
Загрузка комментариев