В каждой миссии перед вами ставятся задачи, список которых можно посмотреть, нажав клавишу O (по умолчанию). За выполнение этих задач начисляются скилл поинты (очки умений), с помощью которых вы можете изучать различные навыки и заклинания. Помимо обязательных квестов встречаются и необязательные (секретные). Выполняйте их, чтобы заработать дополнительные очки.
Боевые умения (Combat Skills)
Магические умения (Magic Skills)
Разные умения (Miscellaneous Skills)
Боевые умения
Ближний бой (Melee Combat)
Стрельба (Archery)
Уровень 1 Стоимость: 1 скилл поинт Позволяет вам прицеливаться из лука, приближая цель.
Уровень 2 Стоимость: 2 скилл поинта Дарует вашей руке твердость, отчего прицел не будет дрожать, и выстрелы станут точнее.
Уровень 3 Стоимость: 4 скилл поинта Позволяет вам быстрее доставать стрелы из колчана.
Сила (Strength)
Уровень 1 Стоимость: 6 скилл поинтов +2% к шансу нанести двойной урон Сильным ударом.
Уровень 2 Стоимость: 8 скилл поинтов +4% к шансу нанести двойной урон Сильным ударом.
Адреналин (Adrenaline)
Стоимость: 12 скилл поинтов Удваивает запас адреналина и позволяет наносить два Фатальных удара подряд.
Ночное видение (Dark Vision)
Стоимость: имеется с начала игры Позволяет видеть в темноте, при этом экран становится синим. Действует 30 секунд, потом выключается (можно выключить вручную). Расход маны: не требуется
Огненная стрела (Flame Arrow)
Огненная ловушка (Fire Trap)
Стоимость: 2 скилл поинта Создает магическую ловушку, невидимую для врагов. Ловушка срабатывает, когда к ней подходит противник, и взрывается большим фаерболлом, поражая всех, кто в непосредственной близости (включая вас). Расход маны: 15
Заморозка (Freeze)
Фаерболл (Fireball)
Удар молнии (Lightning Bolt)
Стоимость: 7 скилл поинтов Выпускает молнию, поражающую цель электрическим разрядом. Рикошетит от стен. Если противник стоит в воде, молния наносит повышенный урон. Эффект адреналина: цепная молния, которая последовательно поражает нескольких врагов, стоящих рядом. Расход маны: 8
Инферно (Inferno)
Телекинез (Telekinesis)
Стоимость: 1 скилл поинт Позволяет брать и перемещать предметы на расстоянии. Чем больше у вас маны, тем более тяжелые предметы вы сможете перемещать. Без этого спелла вы не сможете открыть некоторые тайники, требующие поднятия статуй, которые вручную поднять невозможно. Этим заклинанием можно открывать двери, которые находятся далеко от вас. Удобно также притягивать издалека и прятать трупы врагов, убитых на расстоянии, чтобы никто ничего не заметил. Эффект адреналина: позволит вам поднимать живых существ и массивные объекты. Расход маны: от 4 и более в зависимости от тяжести предмета.
Лечение (Heal)
Стоимость: 3 скилл поинта Заживляет раны и восстанавливает здоровье. Расход маны: 10 на восстановление 15 HP
Чары (Charm)
Стоимость: 3 скилл поинта Зачаровывает вражеское существо и на 25 секунд делает вашим союзником, заставляя сражаться на вашей стороне. Если враг один, то он будет просто слоняться вокруг, не обращая на вас внимания. Действие заклинания заканчивается, если вы атакуете зачарованного противника. Расход маны: 15
Убежище (Sanctuary)
Стоимость: 7 скилл поинтов Создает магический щит, который на 15 секунд делает вас неприкосновенным для вражеских атак. Временный режим Бога, проще говоря. Можете использовать это заклинание, чтобы безболезненно спрыгнуть с большой высоты (но не в бездонную пропасть). Имейте в виду, Убежище не защищает вас от яда, только останавливает уменьшение HP на время действия спелла. Расход маны: 25
Ослабление (Weaken)
Стоимость: 10 скилл поинтов На 15 секунд ослабляет противника, в результате чего тот начинает вести себя так, как если бы его тяжело ранили. Эффект адреналина: уменьшает врага, после чего его можно раздавить ногой как таракана. Расход маны: 15
Запас сил (Stamina)
Стоимость: 1 скилл поинт Этот навык позволяет вам бегать дальше, находиться под водой дольше и делать больше пинков подряд.
Выносливость (Endurance)
Уровень 1 Стоимость: 4 скилл поинта Повышает максимальное количество здоровья до 60.
Уровень 2 Стоимость: 7 скилл поинтов Повышает максимальное количество здоровья до 70.
Уровень 3 Стоимость: 10 скилл поинтов Повышает максимальное количество здоровья до 80.
Живучесть (Vitality)
Стоимость: 12 скилл поинтов Регенерация здоровья. Восстанавливает 1 HP за 5 секунд. Если при этом надеть кольцо регенерации, скорость восстановления возрастет вдвое.
Сопротивление ядам (Poison Resistance)
Притяжение магии (Magic Affinity)
Уровень 1 Стоимость: 2 скилл поинта Максимальное количество маны повышается до 40.
Уровень 2 Стоимость: 5 скилл поинтов Максимальное количество маны повышается до 70.
Уровень 3 Стоимость: 10 скилл поинтов Максимальное количество маны повышается до 100.
Регенерация маны (Mana Regeneration)
Бдительность (Alertness)
Стоимость: 1 скилл поинт Стоя на месте, вы сможете увидеть секретные объекты (они будут подсвечиваться синим цветом).
Стелс (Stealth)
Уровень 1 Стоимость: 2 скилл поинта При медленной ходьбе или передвижении на корточках ваши шаги становятся полностью неслышимыми для противников.
Уровень 3 Стоимость: 10 скилл поинтов Позволяет прятаться в тенях и становиться практически невидимым. Шкала скрытности подскажет вам, насколько вы видимы. Вы также можете обчищать карманы (красть ключи у противников, которые вас еще не заметили).
Взломщик (Burglar)
Стоимость: 8 скилл поинтов Позволяет взламывать замки с помощью отмычек. Стоя на месте, вы сможете увидеть ловушки (они будут подсвечиваться красным цветом).
Конечно, назвать Dark Messiah of Might and Magic чистокровной RPG было бы непростительной ошибкой, ибо перед нами все-таки зрелищный экшен с небольшими вкраплениями RPG. Вкрапления эти заключаются в том, что иногда некие высшие силы выдают энное количество очков опыта, которые вы сами распределяете по умениям и навыкам, таким образом создавая персонажа вашей мечты.
Если вы изберете путь воина, то прежде всего готовьтесь много кликать, быстро и ловко бегать и на всю катушку использовать окружающую обстановку, чтобы как можно эффективнее избавляться от противника. В целом, воин — очень сбалансированный класс, отлично подходящий как новичкам, так и ветеранам. Кроме того, если упорно развиваться по пути воина, то через некоторые время можно выучить несколько зверских суперударов, после чего ближний бой станет совсем уж легким.
Как ни странно, но вор в игре самый сильный. Развивая навыки скрытного перемещения и изучая подлые удары в спину, вы при должном умении станете просто непобедимым. Конечно, вор не может использовать хорошую защиту и орудует только парой кинжалов, но зато умеет бесшумно подкрадываться к врагам (словно Сэм Фишер) и наносить смертельные удары в спину. Плюс ко всему, в открытом бою этот класс тоже опасен. Ловкий герой перемещается стремительно, а удары наносит со скоростью газонокосилки. В итоге разделаться даже с толпой врагов не составит никакого труда.
Играть магом в Dark Messiah of Might and Magic сложнее всего. Волшебник обладает нехилым арсеналом самых разных средств уничтожения и может зажаривать врагов на медленном огне, замораживать, превращать в тараканов, а потом жестоко давить. Кроме того, маг, словно заправский джедай, умеет хватать злодеев и швырять их об стены, а также брать по контроль разум супостатов, после чего веселая гоп-кампания начинает убивать друг дружку. На самом деле маг — чертовский сильный персонаж, но играть им надо очень умело, не подпускать врагов на расстояние удара мечом, и очень быстро нажимать горячие клавиши заклятий.
Конечно, никто не заставляет вылеплять только «чистых» персонажей — магов, воинов или воров. Вы можете вполне успешно поэкспериментировать, создав, к примеру, вора-мага, или воина-вора-мага и получить вполне себе жизнеспособного героя, но, как доказывает практика, куда интереснее играть все-таки героем узкой специализации, ибо только в этом случае он будет получать бонусные приемы, свойственные тому или иному классу.
Умный мессия. Создаем гениальных противников в Dark Messiah of Might and Magic
Dark Messiah of Might and Magic хороша прежде всего реалистичной физикой и динамичными сражениями. Что может быть приятнее, чем смотреть, как враг после смачного пинка под филейную часть с визгом устремляется в пропасть или в костер? Однако больно уж легко враги попадаются в ловушки, да и в пропасти порой падают чуть ли не по своей инициативе. Игроку опытному расправиться даже с целой ротой нежити (тем более что способов для этого превеликое множество) не составляет особого труда.
Противники в игре не то чтобы совсем уж глупые, но ощущение, что в момент рождения их метко приложили пыльным мешком по теменной области, не покидает на протяжении всей игры. Врагам не хватает внезапности в действиях и хотя бы минимальной изобретательности. Так что сегодня мы будем создавать умных врагов.
Рубим наотмашь
Игра базируется на движке Source, том самом, на котором сделан Half-Life 2. Поэтому неудивительно, что в обеих играх главные игровые настройки прописаны в одних и тех же конфигурационных файлах (тех, что с расширением cfg). Первым делом мы обратимся к тем, которые лежат в папке \scripts, а точнее — к mm_game_settings.txt. Здесь вы найдете основные параметры геймплея, в том числе и характеристики AI в одноименном разделе. Для тех, кто не вскрывал с нами HL2, сообщаем, что имя блока стоит сразу перед его содержимым, а само содержимое заключено в фигурные скобки. Отправляйтесь в названный раздел и приступайте к правке.
Первые два параметра в этом блоке — NPCFieldOfViewRatioWhenStealth и NPCRangeOfViewRatioWhenStealth — задают широту поля зрения игровых персонажей. Пусть вас не смущает присутствие в имени показателей сокращения NPC — в файлах игр на движке Source так обозначается не только мирное население, но и враги главного героя. Чтобы противники стали более зоркими, пропишите этим характеристикам, соответственно, значения 0.6 и 0.8.
Чуть ниже расположились две настройки, определяющие максимальное расстояние, на котором враги могут услышать крики друг друга (чтобы в случае необходимости прибыть на помощь своим товарищам). Call4helpdist относится к обычной обстановке, ouchcall4helpdist — к предсмертным воплям монстров. Исправьте значение первой на 800, второй — на 900. Ваши противники после этого не только станут лучше слышать, но и научатся издавать пронзительный предсмертный крик, на который сбегаются твари чуть ли не со всей округи.
Следующие четыре атрибута определяют, насколько быстро враги реагируют на сигналы, поступающие по различным, скажем так, путям. За слуховой путь отвечает параметр delayhear и DelayNoHearInSearch (второй атрибут работает, когда противник находится в режиме поиска), за зрительный — delaysee и delaysee_stealth (в последнем случае подразумевается, что игрок подкрадывается к оппоненту). Первому показателю в этом списке задайте значение 0, второму — 1, четвертому — 4. Ваши соперники станут мгновенно реагировать на происходящее. Никакой заторможенности в их реакции нет теперь и в помине.
Что касается показателей TimeToRevertToAlertLevelQuietWhenInAlertLevelAwared и TimeToRevertToAlertLevelAwaredWhenInAlertLevelVeryAwared, то их значения следует повысить, соответственно, до 15 и 10. Первый задает время (здесь и далее — в секундах), которое враг, поднявший тревогу, ждет, прежде чем дать отбой (если, конечно, не приметит в этот период ничего подозрительного). Второй — время, которое ваш крайне обеспокоенный неприятель выжидает в режиме усиленной тревоги, прежде чем, немного успокоившись, перейти к обычной. Сделанные преобразования позволят слегка улучшить противникам память, дабы они не забывали об опасности слишком быстро.
Враги в нашем моде атакуют более решительно и неожиданно.
Еще одна характеристика из текущего раздела — SquadAwarnessDist — задает расстояние, на котором ваши враги могут передавать друг другу информацию о местонахождении игрока. Рекомендуем увеличить до 600, тогда твари будут лучше взаимодействовать между собой и грамотно кооперироваться.
Атрибуты HelpWhenCaughtByTelekinesisMinTime и HelpWhenCaughtByTelekinesisMaxTime определяют минимальную и максимальную задержку перед тем, как существо успеет крикнуть «На помощь!», едва попав под действие телекинеза. Первому советуем поставить значение 2, второму — 5.
Нелишним будет понизить число, соответствующее настройке mul_damages_Npc_Not_alerted (множитель урона для еще не поднявшего тревогу персонажа), до 2. После этого неприятели всегда будут готовы к вашей атаке. Одной лишь внезапностью теперь мало кого возьмешь.
Параметрам SearchRadius и SearchRadiusAfterAttack, задающим радиус области патрулирования монстра (во втором случае, подвергшегося нападению), лучше выставить значения 700 и 150 соответственно. Это изменение немного расширит маршрут передвижения ваших оппонентов.
Еще ниже вы обнаружите характеристику MaxCall4HelpNPCAgainstPlayer, обозначающую максимальное число воплей, которое издаст враг, заметив игрока. Действительно, почему большинство противников просят о помощи только три раза? Они, что, потом язык проглатывают? Давайте поднимем прописанное здесь число с 3 до 5-6.
Не менее важна характеристика PlayerParryTimeToBreakIt. Она влияет на тактику ведения боевых действий. Работает следующим образом. Пока игрок блокирует удары (зажав правую кнопку мыши), враг в течение заданного характеристикой времени использует атаку, которая блок не пробивает. Если же вы слишком долго прятались за блоком, то ваш оппонент попытается мощным ударом сокрушить защиту либо перехитрить вас, используя обманные движения. Лучше всего понизить значение данного атрибута до 3, чтобы вас перестали атаковать одними и теми же ударами в начале атаки, а меняли бы тактику уже после трех ударов.
Остановимся на трех атрибутах, задающих увертливость монстров: DodgeDelay — минимальное время между уклонениями от ваших атак, PreventiveDodgeDelay — минимальная задержка между эффективными уходами от ударов, PreventiveDodgeChance — шанс вместо обычного уклонения совершить максимально эффективное. Чтобы противники чаще выполняли этот нехитрый, но очень полезный в бою прием, понизьте значения первых двух параметров до 10-12, а значение третьего повысьте до 0.3-0.5. Тогда у врагов будет больше свободы для маневров, а следовательно — их поведение во время битвы станет непредсказуемым.
Управление сложностью
Комментарием Dynamic difficulty открывается группа из двенадцати атрибутов, непосредственно влияющих на сложность игры. Вот за что отвечают первые три параметра:
DifficultyEasyNpcDmgMul — множитель ущерба, причиняемого игроком врагам и NPC на легком уровне сложности.
DifficultyEasyPlayerDmgMul — множитель урона, наносимого игроку его врагами и NPC на легком уровне сложности.
DifficultyEasyDifficultyMul — общеигровая сложность на легком уровне. Только учтите, что чем меньше значение этого атрибута, тем выше сложность.
Далее следуют еще шесть сходных показателей. Три из них, в имени которых на месте слова Easy стоит Hard, описывают среднюю сложность игры. Еще три, в названии которых вместо слова Easy фигурирует HardCore, относятся к высокой сложности.
Чуть ниже вы найдете еще три параметра, определяющие сложность боев: DifficultyCombatEasy — на легком уровне, DifficultyCombatAverage — на среднем, DifficultyCombatHard — на высоком.
Описанная выше группа атрибутов позволяет вам грамотно распределить сложность, понизив или повысив трудность прохождения игры. Если вы уже опытный геймер, которому вполне по плечу игра даже на наивысшей сложности, логично будет слегка повысить значения большинства характеристик. Попробуйте, скажем, увеличить значения настроек DifficultyHardCoreNpcDmgMul, DifficultyHardCorePlayerDmgMul, DifficultyHardCoreDifficultyMul и DifficultyCombatHard до 0.5-0.6, 1.6-1.7, 0.5-0.6 и 0.6-0.7 соответственно. Ставьте в игре наивысшую сложность и готовьтесь к серьезным испытаниям. Новички же могут, наоборот, чуть облегчить себе жизнь.
Монстры бывают разные.
Пока мы работали лишь с общими характеристиками AI. Разумеется, у каждого вида монстров имеется свой набор параметров. Такие атрибуты вы найдете в файлах с расширением qct, рассортированных по следующим подкаталогам (каждый из них посвящен конкретной разновидности нежити и имеет внутри себя лишь один файл) директории \mm\models\npc: \bone_dragon (костяной дракон), \cyclope_undead (циклоп), \deathknight (рыцарь смерти), \ghoul (вампир), \goblin (гоблин), \lich (лич), \lich_king (король личей), \menelag (колдун Менелаг), \necroguard (некромант-охранник), \necromancer_lord (лорд некромантов), \orc_chief (орк-предводитель), \undead (мертвяки). В любом из файлов вы встретите следующие настройки:
difficulty — уровень противника (значение характеристики варьируется в промежутке от 0 до 1). Проявляется главным образом в манере поведения врага во время боя. Чем выше число, тем чаще враг атакует.
strength — сила противника.
life_regen — скорость регенерации. У воинов, не наделенных этой ценной способностью, здесь стоит ноль.
AttackCoolMinTime — минимальный временной промежуток между двумя атаками со стороны монстра, если до этого он находился в спокойном состоянии. Уменьшите значение этого и следующего показателя (скажем, в полтора раза), и монстр станет вести бой в более быстром темпе.
AttackBersekerMinTime — минимальный интервал между двумя атаками в исполнении противника, обезумевшего от ярости.
AttackBersekerMaxTime — максимальный интервал.
cowardice — трусость (в процентах). При высоком значении атрибута противник будет всячески избегать битвы с игроком, если тот вооружен. Многие враги оказываются распоследними трусами — об этом свидетельствует указанное здесь число 100. Чтобы как-то повлиять на ситуацию, достаточно понизить значение атрибута до отметки 50-75. Трусам нет места в нашей модификации!
arrow_impal — данный атрибут определяет, может ли Сареф проткнуть монстра стрелой (1 — да, 0 — нет).
charmable — определяет, действует ли на персонажа заклинание «Чары» (Charm), временно превращающее вражину в союзника.
Одолеть циклопа и раньше-то было непросто, а теперь практически невозможно. Но есть у него и ахиллесова пята. Надо только ее найти.
maxsightdistancequiet — максимальная дальность взгляда твари в спокойном состоянии.
maxsightdistancealerted — то же самое для поднявшего тревогу врага.
fieldofviewquiet — угол обзора для спокойного состояния.
fieldofviewalerted — угол обзора для тревожного состояния.
TimeKnockedDownByPhysics — время, на протяжении которого враг находится в нокдауне после сильного удара любым предметом. Стандартное значение для этого параметра — 3, это дает главному герою довольно много времени на добивание жертвы. А вот если вы пропишите значение 2, от вас потребуется очень быстрая реакция — времени на раздумья после точного попадания у вас не будет вовсе.
max_jump_rise — высота прыжка.
max_jump_drop — максимальная высота, с которой может безболезненно падать монстр.
max_jump_dist — длина прыжка.
mana_drainable — здесь определяется, может ли игрок красть ману у данного персонажа (1 — да, 0 — нет).
ChanceToFreeze — шанс заморозить врага с помощью заклинания «Заморозка». Минимальное значение (при нем врага невозможно заморозить) — 0, максимальное — 1.
Изменяя значения данных параметров, вы можете влиять на силу и способности своих недругов. Совсем несложно управлять скоростно-боевыми характеристиками врагов, их живучестью и даже такими качествами, как ловкость, увертливость, зоркость и агрессивность. Умелые игроки могут преспокойно повышать значения соответствующих настроек.
В разделе ai вы найдете атрибуты, относящиеся к NPC. С их помощью вы можете изменить их поведение.
Spontaneousalerted_min_time — минимальное время, в течение которого взволнованный персонаж (то есть участвующий в данный момент в сражении или находящийся в режиме поиска), будь то NPC или ваш враг, болтает с дружественным по отношению к нему героем.
Spontaneousspeech_min_time — минимальное время, в течение которого разглагольствует персонаж, находящийся в обычном состоянии.
Spontaneousspeech_max_time — максимальное время, которое персонаж способен говорить.
Spontaneousspeech_max_dist — максимальная дистанция, на которой NPC (или ваш недруг) способен заводить беседу со своим товарищем (в том числе с вами, если речь идет о мирных гражданах).
Эти четыре характеристики управляют разговорчивостью жителей игрового мира. В оригинале они, прямо скажем, немногословны. Если вы хотите исправить эту ситуацию, поднимите значения всех этих показателей. Можно сделать так, чтобы персонажи практически не закрывали рот, став настоящими демагогами. Правда, их речи в любом случае не будут отличаться особой изысканностью, а вот осмысленностью — вполне.
NbFriendPlayerAttackBeforHateHim — число атак, после которых нейтральный или дружественный персонаж начинает относиться к главному герою негативно. Изначально в игре все персонажи становятся врагами после первого же удара.
Сареф
В отдельный блок — player — в файле mm_game_settings.txt вынесены параметры игрока. Не исключено, что вследствие всех вышеприведенных преобразований игра окажется для вас непомерно трудной. В этом случае логично немного усилить главного героя, Сарефа. Повысить его характеристики можно, подправляя следующие показатели:
poison_resistance — защищенность от яда.
kick_damage — урон от пинка. Если вы как следует проапгрейдили неприятелей, нелишним будет увеличить и стоящее здесь значение до 3-5.
stamina_kick_npc — расход энергии (stamina), когда игрок дает пинка противнику.
stamina_kick_all — расход энергии, когда Сареф пинает предмет обстановки. Если усиливать пинок, логично также слегка повысить затраты энергии на него. Параметру stamina_kick_npc нужно задать значение в промежутке между 4 и 6, а stamina_kick_all — между 2 и 3.
PlayerTakeDist — максимальное расстояние, с которого Сареф может брать предмет в руки.
PlayerTelekinesisDist — то же самое для заклинания телекинеза.
CloseArrowDist — максимальная дистанция, до которой считается, что выстрел произведен с близкого расстояния (то есть включается действие следующего атрибута), а следовательно, он более опасен для жертвы.
CloseArrowDmgScale — множитель урона для выстрела с короткой дистанции. Изначально здесь стоит единица, то есть выстрел вблизи полностью идентичен выстрелу с большего расстояния. Однако это, согласитесь, не совсем правильно. Лучше поставить сюда число в районе 1.2-1.5.
Стоит подправить всего пару характеристик, и враги начнут пробивать блок со второго удара.
. Сами же при этом будут умело укрываться за клинками. Достать их будет крайне сложно.
Работа над модом окончена. В нашем дополнении монстры дерутся и двигаются очень быстро, лучше слышат, лучше видят друг друга и надвигающуюся опасность. Умные, крепкие, быстрые, бесстрашные, непредсказуемые в бою, в меру изобретательные, ловкие и увертливые, они способны доставить серьезную конкуренцию даже самому искусному геймеру.
Кроме того, множество дополнительных параметров позволит вам подобрать себе соперников, наиболее точно соответствующих уровню вашего мастерства и игровому стажу. Не забудьте и об NPC. Пара несложных преобразований — и вот они уже способны выдавать длиннейшие тирады. После всех этих изменений обитателей игрового мира будет просто не узнать.