Полное руководство по Export_Descr_Unit.Txt (далее EDU) для Rome и Medieval 2: Total War

Полное руководство по Export_Descr_Unit.Txt (EDU) для Rome: Total War и Medieval 2: Total War

 

Введение

 

Долгое время получить FATW сбалансированным и одновременно настолько же  реалистичным, насколько это позволяет движок игры, было моим горячим желанием. Его надо было буквально укрощать. Это означало на практике найти все характеристики юнитов, отработать формулы (чего я никогда не любил), решить вычисления статов, протестировать характеристики на предмет багов, подсчитать боевой эффект скелетов при разном масштабировании, скорости и анимации, а, в свою очередь, это означало - многократное проведение боев и огромное количество времени... Возможно ли было это вообще?

Ответ напрашивался: НЕТ

Тогда Xerex и Aradan работали над "Четвертой Эпохой" и вплотную занимались балансом юнитов. Работа продвигалась тяжело и заняла несколько месяцев, и мы надеемся, что публикация Aradanа "Полного руководства по EDU" (в дополнение  к "Полному руководству по EDB") сослужит огромную пользу для всех команд моддеров.

 

Рекомендую всем эту работу и прошу помощи в поиске любых ошибок и неточностей, выявленных здесь. Пожалуйста, держите обратную связь, таким образом мы сможем сделать этот документ универсальным ресурсом для всех edu-связанных дел в RTW/BI. Спасибо.

 

- Dol Guldur aka MasterOfNone aka Palantir

 

Краткая характеристика EDU

Этот файл содержит записи для всех юнитов в игре; предел - максимум 500 записей. Предела систематизации и расположения для юнитов нет, но вот формат, в котором закодирована каждая запись, конечно, строго определен. Здесь в качестве примера мы будем использовать оригинальную запись, разделяя ее на строки, а затем анализировать каждую из них индивидуально, для того, чтобы, когда нам нужно - вносить изменения.

Заметьте, что некоторые строки могут отсутствовать в зависимости от типа юнита.

 

type             unit_type

 

Наименование типа юнита, на которое также ссылаются export_descr_buildings.txt (т.е. файл, где указаны здания, где этот юнит нанимается), descr_strat.txt (определяющий стартовое положение армий на страткарте) и descr_battle.txt (где описываются армии исторических битв)

 

dictionary       unit_dictionary_tag

 

Ссылается на запись в export_units.txt, где заложены описания юнита, его название, которые будут выводиться на экран во время игры. Также ссылается на инфокартинки с изображениями юнита в папке UI.

 

category         unit_category

 

Внутренняя категория юнита в зависимости от его характера (ссылки на звуковые файлы и триггеры, заключенный в скобки дополнительный текст для категории в битвах рядом с записью класса). Также используется (вместе с другими факторами, включая класс) ИИ для принятия решения в обучении юнитов. Также используется  (иногда вместе с классом) в descr_formations_ai.txt и descr_formations.txt, для обозначения размещения юнита. В зависимости от этого юнит  может быть пехотным, кавалерийским, осадным орудием или судном. В кастомных битвах на экране выбора пехотные юниты будут идти первыми, затем - конница и осадные орудия.

class            unit_class

Ссылается на звуковые файлы и триггеры, заключенный в скобки дополнительный текст для категории в битвах (рядом с записью класса).  Также используется (вместе с другими факторами, включая класс) ИИ для принятия решения в обучении юнитов. Также используется  (иногда вместе с классом) в descr_formations_ai.txt и descr_formations.txt, для обозначения размещения юнита. В зависимости от этого юнит может быть легким, тяжелым, копейщиком , стрелковым или застрельщиком.  В кастомных битвах на экране выбора юниты располагаются в таком порядке: легкие, копейщики, тяжелые и стрелковые (отсортированные по их категориям).

voice_type       voice

Ссылается на тип «голоса» юнита в банке звуков

soldier          unit_model, soldiers, extras, mass (,radius,height)

 

Подробности о моделях юнитов.

  • [unit_model]: тип модели юнита, прописанный в descr_model_battle.txt. Заметьте, что масштаб скелета и анимация, с ним связанная, в файле DMB, значительно влияют на боевую эффективность и, таким образом, на ценность юнита. В основном это достигается тремя способами:
  • - масштаб модели юнита увеличивает его эффективность в бою, поскольку он становится больше. Есть способ уравновесить это (хотя не абсолютно безопасный). Это скрытый параметр высоты или роста  ('height'), находящийся в строчке soldier. (см. ниже)
  • - скорость анимации атаки скелета юнита также увеличивает его эффективность, поскольку он становится быстрее. Способ противостоять этому эффекту -  min_delay_between_attacks stat, который находится в строке stat_pri. (см. ниже)
  • - эффективность повышается также, когда скелетная анимация имеет большой диапазон (размах, длину?) удара. Способ противостоять этому через корректировку смертельности удара ([lethality]). (см. дополнительную информацию)
  • [soldiers]: количество солдат в юните среднего размера (при выборе среднего параметра настройки). Не может быть ниже, чем 6, или выше 60. В генеральских юнитах максимально - 31 боец.
  • [extras] : количество животных, присоединенных к юниту, определяемое в среднем значении параметра настройки размера юнита.
  • [mass]: условный вес юнита при столкновении и другими. Юниты с большим значением массы скорее опрокинут ряды врага и прорвут их, а также легче сдержат натиск воинов противника. Соотношение массы не фиксировано, то есть: солдат с массой 1 опрокинет врага с массой 0.1 гораздо легче, чем солдат с массой 10 солдата с массой 1. Для конных юнитов эта стата не имеет значения, поскольку  масса  конницы прописывается иначе (см. descr_mount.txt).
  • [radius] (может не отображаться): скрытый атрибут юнита. По умолчанию - 0.4. Это  область, окружающая каждого конкретного солдата, которую он "занимает". Движок ее воспринимает, хотя и не отображает визуально. Маленький радиус заставляет юнит сражаться эффективнее, то есть предполагается, что воины стоят ближе друг к другу, что движок воспринимает как перевес против врага аналогичной численности и класса.
  • [height] (может не отображаться): скрытый параметр высоты юнита. По умолчанию -  1.7. Условное значение "роста" солдат. Пока не известно точно, как работает этот параметр, но чем он выше - тем слабее юнит.

 

officer          officer_model(s)

Тип модели командира в юните, на который ссылается descr_model_battle.txt. В юните одновременно могут быть до трех таких типов (к примеру - капитан, барабанщик и знаменосец), а вот у слонов и колесниц - ни одного.

 

mount            mount

Тип верхового животного (если имеется), используемый юнитом. Статы конницы  находятся в descr_mount.txt папки data. Всадники обыкновенно получают  +8 против пехоты. При каждой атаке это значение варьируется случайным образом, включая и особые статы юнитов.

 

animal           animal

Тип животного (если имеется), используемый юнитом. Ссылается на descr_animals.txt. Может быть использована только одна линия животных, судов или осадных орудий в одно и то же время.

 

engine           engine

Тип осадного орудия  (если имеется), используемый юнитом. Ссылается на descr_engines.txt. Может быть использована только одна линия животных, судов или осадных орудий.

 

ship           ship

Тип судна (если имеется), используемый юнитом. Ссылается на descr_ship.txt. Может быть использована только одна линия животных, судов или осадных орудий в одно и то же время.

 

mount_effect     mount_effect(s)

Бонусы юнита против всадников (если имеются). Могут быть бонусы против лошадей, слонов, колесниц и верблюдов. Бонус может быть против всего класса всадников (напр. слоны), тогда он применяется против всех типов юнитов этого класса, или против только определенного типа (напр. мумаков). Чаще всего такие бонусы даются копейщикам. Но заметьте, что они - модификаторы нападения юнита и будут распространяться и на второй вид оружия тоже (если таковое существует), но на метательное это не распространяется. Максимальное количество эффектов, которые могут быть использованы в бою со всадниками - 3, остальные будут игнорироваться.

 

attributes       unit_attribute(s)

Атрибуты (характеристики юнита). Полный список:

  • sea_faring: единица может садиться на суда
  • hide_forest, hide_improved_forest, hide_long_grass, hide_anywhere: определяет, где юнит может скрыться: в лесу, густом лесу или траве. Если параметр отсутствует, это означает, что единица не в состоянии скрыться вообще. "hide_anywhere" включает все условия, а "hide_improved_forest", конечно же автоматически  включает и "hide_forest".
  • can_sap: юнит может рыть подкопы под стенами во время нападения на поселение.
  • frighten_foot, frighten_mounted: юнит пугает  определенные типы вражеских войск: пехоту, конницу. Комбинация обоих параметров означает, что юнит пугает всех, включая генералов.
  • can_run_amok: юнит может выйти из-под контроля, когда наездники теряют управление животными (обычно, когда высоки повреждения юнита, а мораль низкая, или использовано нападение с применением огня)
  • general_unit: юнит может использоваться в качестве телохранителя полководца (заметьте, что это также установит телохранителей и для нанятых генералов, то есть в одной фракции может получиться таких юнитов несколько, хотя первая инстанция всегда будет телохранителем члена семьи). Также отметим, что ИИ никогда не нанимает юниты с характеристикой general_unit.
  • general_unit_upgrade: юнит может использоваться как модернизированный телохранитель для генералов (в RTW после реформ Гая Мария). Юнит с этим признаком должна быть определен в файле после обычного general_unit.
  • cantabrian_circle: кантабрийский круг как спецспособность. Особых эффектов не имеет, кроме, разве что, от самого движения. Передвижения юнита по кругу снижает его точность, но также и снижает точность попадания по нему, а постоянный град стрел немного снижает мораль цели.
  • no_custom: единица не доступна в кастомных битвах.
  • command: юнит несет орла легиона (крест господень или другие символы), которые добавляют бонусы морали соседним отрядам, но не самому юниту.
  • mercenary_unit: наемный отряд, юнит, доступный для найма любой фракцией в определенных областях. Потери такого юнита невозможно восполнить после сражения. Также необходимо использовать текстуру 'merc' в строчке спрайта в DMB для всех фракций, который могут нанимать подобный юнит, и тэг 'Varies' (Стоимость изменяется)  вместо стоимости найма юнита на инфокартинке. В "Александре" у каждой фракции свой набор наемников (установлен в  descr_mercenaries.txt).
  • hardy, very_hardy: показатель выносливости юнита. Выносливость уменьшает скорость, с которой падает стойкость, также повышает способности к восстановлению.
  • warcry: боевой клич. Дает юниту премию нападения 10. Способность активируется 10 секунд, в течение которых юнит не может двигаться или совершать другие действия, и остается активной еще 30 секунд. Допустим юнит применил боевой клич. После этого он в течение 7 секунд добежал до противника и вступил в схватку, таким образом, бонус к его атаке будет рассчитываться еще на протяжении 23 секунд. Также боевой клич дает мгновенное повышение морали, очевидной в случае берсеркеров.
  • druid: заменяет 'chant' (скандирование, боевые песни) из RTW, дает соседним юнитам (но не самому отряду) бонус морали.
  • power_charge: мощный чардж. Увеличивает время, в течение которого юнит "чарджит" (атакует с разбега), теснит врага, до вступления непосредственно врукопашную
  • can_swim (BI только): умеет плавать, юнит может пересечь реку во время боя.
  • is_peasant (BI только): уменьшает наполовину эффект в поддержании общественного порядка. 120 солдат будет посчитано, как 60 и т.д.
  • can_horde (BI только): юнит может быть частью орды, толпы, когда создается каждый.
  • legionary_name (BI только): добавляет название легиона (основанного на области найма) и его порядковый номер. Элемент названия легиона жестко закодирован.

 

formation        hor-cl-spacing, ver-cl-spacing, hor-ls-spacing, ver-ls-spacing, ranks, formation(s)

Подробности построений (формаций) юнитов по умолчанию:

  • [horizontal close spacing]: боковое расстояние между солдатами в плотном строю в метрах
  • [vertical close spacing]: расстояние между шеренгами солдат в плотном строю в метрах[horizontal loose spacing]: боковое расстояние между солдатами в разреженном строю в метрах
  • [vertical loose spacing]: расстояние между шеренгами солдат в разреженном строю в метрах
  • [ranks]: количество шеренг в юните по умолчанию (глубина построения)
  • [formation(s)]: Доступные построения (формации) для юнита. Может быть один или два варианта из следующих: square, прямоугольник (обычное); wedge, клин (бонус к атаке); phalanx, фаланга (стойкое по фронту, очень слабое с флангов и тыла); testudo, черепаха (слабое в рукопашной, но хорошее против стрел); horde, толпа, орда (хорошее против стрел, но слабое в рукопашной); schiltrom, стена копий (BI только - малоподвижное, но превосходное против кавалерии) и shield_wall, стена щитов (BI только - бонус к атаке по фронту, слабость с флангов и тыла). В более поздних версиях этой серии появилось также кольцо копий или ёж, которое позволяет юниту строится в круг, ощетинившись клинками, что лишает его подвижности, но дает бонусы к обороне со всех сторон. Заметьте, что определенные формирования используются только для определенных типов юнитов(так клин доступен только для конницы).

 

stat_health      hp, hp_extra

Количество хитпоинтов юнита (сколько ударов выдержит солдат, прежде чем погибнет):

[hp]: хитпоинты обычного солдата в юните. Максимальное значение 15, любое другое выше этой цифры все равно приравнивается к 15.

[hp_extra]: хитпоинты животных юнита. Заметьте, что для верховых юнитов отдельно хитпоинты для лошадей не назначаются. Максимальное значение 15, любое другое выше этой цифры все равно приравнивается к 15. Также следует отметить, что при расчете автобоя величина учитывается, даже если для неживотных при сражении в ручном режиме это игнорируется. См. ниже в Дополнительной Информации.

 

stat_pri         atk, chrg, msl_type, msl_rng, msl_ammo, wpn_type, wpn_tech, dmg_type, snd_type, min_delay, lethality

Статы нападения юнита.

  • [attack]: оценка уровня атаки основного оружия юнита (если у юнит стрелковый или застрельщик, то именно метательное - его основное). На легком уровне сложности уровень атаки ИИ снижен до минус 4; средний уровень не предполагает ни преимуществ, ни штрафов; сложный дает ИИ бонус +4 атаки, а очень сложный  +7. Максимальная величина уровня атаки 63. Все, что выше этого значения будет также приравнено к 63.
  • [charge]: бонус чарджа основного оружия, который добавляется к значению атаки при нападении с разбега. Когда чардж прекращается и начинается рукопашная, его бонус перестает работать. Значения могут устанавливаться от 1 до 63. Все, что выше этого значения будет также приравнено к 63. Стрелковые юниты  обычно должны иметь его равным бонусу второго оружия, пусть эта информация на инфокартинке юнита не смущает игрока, поскольку в ближнем бою игра все равно для стрелков переключается именно на второй тип оружия.
  • [missile_type]: тип метательного оружия, используемый юнитом. Это один из видов, определенных в descr_projectile_new.txt.
  • [missile_range]: максимальный диапазон действия метательного оружия. Он определен для каждого типа оружия его угловой скоростью min_angle и max_angle. Любое превышение максимального значения будет считаться также, как максимальное. (см. descr_projectile_new.txt), минимальное значение 20 (дротики).
  • [missile_ammo]: количество боеприпасов. Минимальное значение 2 (0, конечно, тоже приемлемо).
  • [weapon_type]: тип оружия. Может быть: melee, thrown, missile или siege_missile (рукопашное, метательное, стрлы или осадное).
  • [weapon_tech]: технический тип оружия. Может быть: simple, other, blade, archery or siege (простое, другое, клинки, дальнего боя или осадное).
  • [damage_type]: тип повреждений, вероятно, не используется.
  • [sound_type]: Звук применения оружия. Может быть один из таких: none, knife, mace, club, axe, sword или spear (нет, нож, булава, дубина, топор, меч или копье (прописано в descr_sounds_weapons.txt).
  • [min_delay]: Минимальная задержка между атаками оружием, измеряющаяся в 1/10 секунды. Это - минимальное время, между началом анимации одной атаки  и началом следующей. Относится только к скелетам, сражающимся пешими.
  • [lethality]: процентный шанс солдата убить врага (т.е. с какой точностью его удар поражает цель). Чем выше смертельность удара, тем большая вероятность уничтожения противника и меньшая получить от него ответные удары. Это очень влияет на скоротечность схваток, так как более высокая смертельность означает и меньше пропущенных ударов одновременно с большими жертвами среди отрядов противника. При стрельбе этот параметр не используется.

 

stat_pri_attr    wpn_attributes

Характеристики основного оружия юнита. Полный список:

  • ap: Пробивание брони. При атаке принимается во внимание лишь половина значения доспехов противника (не уровень защиты или щит!). Результаты округляются.
  • bp: Пробивание тел. Стрела может пробить человека насквозь и поразить следующего.
  • prec: метательное оружие бросается до начала рукопашной, хотя юнит может и израсходовать весь боезаряд в режиме стрельбы по выбору, если игрок не нацелит егог специально на какой-нибудь отряд противника.
  • thrown: у стрел большой бонус против слонов и колесниц, так как они только становятся мощнее, чем больше хитпоинтов у цели. Кроме того, задержка между залпами уменьшена на 20 %. Используется лишь для стрелковых юнитов и только для стрелкового вооружения!
  • launching: Разрывные снаряды. Атака подбрасывает цель в воздух.
  • area: Атака по площади. От атаки пострадает область, а не только один солдат.
  • long_pike: Очень длинные копья. Используется только для фаланг, имеющих построение стена копий.
  • short_pike: Короткие копья. Короче, чем нормальные, могут использоваться как в соединении со строем стена копий, так и без него. Такой юнит, хоть и с копьями, считается все еще пехотой, не копейщиком! Дает бонус +8 против всадников, но из-за качеств построения (интервал, единство, и т.д) получает дополнительный минус 1 против всех. Также  short_pike не совместим с light_spear и spear, так что в соединении с ним spear/light_spear игнорируются. Дополнительно, short_pike требуется для юнитов, использующих стену копий, поскольку в этом построении без short_pike, солдаты будут крайне редко атаковать противника.
  • spear_bonus_x (ВI только): Бонус против кавалерии. 'x' может быть любым четным числом между 4 и 12 включительно. Должен сопровождаться атрибутом spear или light_spear, иначе не будет иметь эффекта. Это бонус против кавалерии, который складывается бонусами по умолчаниями этих двух атрибутов.
  • light_spear: Легкие копья. Дает бонус по умолчанию +8 к защите против конницы, и штраф-4 к защите против пехоты.
  • spear: Копейщики. Дает бонус по умолчанию +8 к атаке против конницы, и штрафа-4 к атаке против пехоты. Большая вероятность опрокидывания врага, чем у легких копейщиков. Единицы с таким атрибутом имеют тенденцию нарушать боевые порядки, что приводит к нежелательному результату, поэтому рекомендуется использовать этот атрибут вместе с такими параметрами, как short_pike, shield_wall, phalanx (короткие пики, стена щитов, стена копий) и т.д.

 

stat_sec         same as stat_pri

 

stat_sec_attr    same as stat_pri_attr

Характеристики второго (дополнительного) оружия юнита.

Параметры прописывается аналогично, как для основного.

Некоторые юниты, такие, как слоны, колесницы и орудия осады используют этот параметр для прописывания статов животных/орудий. Также следует отметить, что апгрейд первичного оружия отразится и на вторичном, независимо от уровня weapon_tech последнего. Кроме того, отряды со вторичным оружием будут использовать его для чарджа и лишь в ближнем бою снова переключатся на основное. В случае с копейщиками с длинными пиками, они наоборот в ближнем бою перейдут на второй вид оружия.

 

stat_pri_armour  armour, def_skill, shield, sound

Защитные статы юнита.

  • [armour] : Крепость доспехов. Принимается во внимание во всех случаях (атакует воин, защищается или находится под обстрелом). Максимальная величина 63, все, что выше этого значения, также рассматривается, как 63
  • [def_skill]: Уровень обороноспособности. Принимается во внимание только в рукопашной и только при нападении с фронта или справа. На защиту от стрел не влияет. Представляет собой умение солдата парировать удар или уклониться от него. Максимальная величина 63, все, что выше этого значения, также рассматривается, как 63
  • [shield]  Крепость щита, используемая при защите в ближнем бою и от стрелковых атак, но лишь при нападении с фронта или слева. Таким образом, в соединении с крепостью доспехов ([armour]) юнит имеет двойную защиту от стрел спереди, но весьма уязвим от них сзади. Максимальная величина 31, все, что выше этого значения, также рассматривается, как 31.
  • [sound]: Звук при поражении юнита. Может быть: flesh, leather, или metal (тело, кожа, или металл).

 

stat_sec_armour  same as stat_pri_armour(no shield)

Дополнительные статы брони. Прписываются так же, как и основные stat_pri_armour для животных или машин. Заметьте, что у скачущего всадника у лошади нет дополнительного уровня защиты. Также, если уровень обороноспособности установлен 0, то хитпоинт считается, как 1. И, конечно, никаких щитов быть не должно.

 

stat_heat        heat_penalty

Штрафы усталости, проявляемые в жарком климате. То есть, насколько быстро наступит усталость и насколько медленно восстановится нормальное состояние. Колеблется от-2 до 5, причем 5 считается самым большим штрафом для юнита. Это значит, что более жаркий климат (чем больше значение climate_heat на карте) места битвы, тем важней этот параметр. В умеренных климатах (низкий climate_heat карты), разницы практически никакой нет.

 

stat_ground      scrub_mdf, sand_mdf, forest_mdf, snow_mdf

Модификаторы боя, относящиеся к юниту, лишь когда он сражается на определенной почве. Положительные числа - бонусы, отрицательные - штрафы. Они колеблются в диапазоне от 8 до-8, изменяя уровень атаки.

  • [scrub_modifier]: Низкая растительность и кусты (попробуйте-ка определите, когда вы именно бьетесь на этой местности? :))
  • [sand_modifier]: Песок
  • [forest_modifier]: Лес
  • [snow_modifier]: Снег

 

stat_mental      morale,discipline,training

Менталитет юнита.

  • [morale]: мораль. Показатель, насколько быстро отряд падет духом и бежит с поля боя. Чем больше величина, тем меньше вероятность, что юнит побежит. Заметим, что бонусы морали от зданий в режиме кампании забагованы и не работают (наверное только Рима касается). Следующие тэги используются для обозначения силы духа: 1-2-> 'Плохая мораль', 8-11-> 'Хорошая мораль', 12 +-> 'Превосходная мораль'
  • [discipline]: уровень дисциплины отряда, который определяет количество потерянной морали, при шокирующих обстоятельствах (гибель генерала, фланговая атака, и т.д). По уровню дисциплины отряд может быть low, normal, disciplined, пылкий или berserker (недисциплинированным, нормальным, дисциплинированным, пылким или неистовым). Дисциплинированные единицы медленнее теряют мораль. Неистовые и пылкие могут атаковать без приказа, а неистовые еще, очевидно, впадать в бешенство.
  • [training] :  уровень обучения юнита, оказывающий эффект на формацию (построение). Может быть untrained, trained or highly_trained (нетренированным, обученным или профессиональным). У нетренированных единиц будут самые беспорядочные построения.

 

stat_charge_dist charge_distance

Определяет дистанцию юнита до цели, на которой начинается чардж (если у юнита есть соответствующая анимация).

 

stat_fire_delay  fire_delay

Дополнительная задержка, между анимацией залпов отряда. В ванили это 0. По сведениям Darth'а, установление значения-50000 или 5000 в зависимости от типа юнита улучшает качество боя и решает баг ноги-стрелы (?), но они  пока не подтверждены. Тестирование показало, что любая величина, кроме 0, нарушает способность кавалерии к чарджу, поскольку всадники не всегда опускают свои копья, даже если чардж проводится правильно.

 

stat_food        ?, another_?

Не используется

 

stat_cost        turns,recruit,upkeep,wpn_upg,arm_upg,cb_cost

Статы найма юнитов.

  • [turns] :  Число туров, за которое обучается отряд. Масимальное значение 244, любое выше - будет игнорироваться
  • [recruit] :  Стоимость обучения отряда. Также затрагивает стоимость переобучения.
  • [upkeep] : Стоимость содержание отряда за тур.
  • [weapon_upgrade]: Стоимость модернизирования оружия (и в кампании и в кастомных битвах). Затрагивает также стоимость переобучения.
  • [armour_upgrade]: Стоимость модернизирования брони (и в кампании и в кастомных битвах). Затрагивает также стоимость переобучения.
  • [custom_battle_cost]: Стоимостьвключения отряда в вашу армию в кастомной битве.

 

ownership        faction(s)

Фракции, могущие нанимать юнит в кастомных битвах (если отсутствует атрибут no_custom), и в кампании (соответственно линейке найма, прописанной в export_descr_buildings.txt). Также учитывает возможность подкупа юнитов определенными фракциями.

 

Используемые формулы

 

Chance_to_kill (melee) - шанс убить противника в рукопашной:

 

DLF * const1 * lethality * 1.1 ^ ( ATK - DEF + MDF )

 

Chance_to_kill (missile) - шанс убить противника при стрелковой атаке: [расчет верен не на все 100%, но весьма приближен]

 

const2 * (ATK - DEF - RNG/10 + MDF + DLF*10)

 

ATK - атака (в том числе стрелковая), DEF - сумма всех применяемых защит, включая броню, умение защиты и щит, MDF - сумма всех применимых премий и штрафов, RNG  - дальность стрельбы.

 

DLF - множитель уровня сложности. 0.7 для легкого уровня, 1 - для среднего, 1.5 - для сложного и 2 - для очень сложного. Таким образом при легком уровне ИИ имеет штраф, при тяжелом и очень тяжелом - бонусы, при среднем - его уровень атаки и защиты равен игроку.

 

Дополнительная информация

 

Баланс типов скелетов

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

Так скелет fs_slow_swordsman (медленная анимация меченосца) с 0.5 смертельностью будет равен в сражении скелету fs_fast_dagger (быстрая анимация воина с кинжалом) со смертностью 0.57 (если учесть, что все остальные параметры равны, а min_delay (минимальная задержка) установлена тем выше, чем длиннее анимация атаки ; 25, кажется, достаточно).

fs_slow_swordsman / fs_swordsman / fs_semi_fast_swordsman / fs_fast_swordsman (различные вариации скелетов мечников): смертельность = 0.5

fs_slow_2handed / fs_2handed (вариации двуручников): смертельность = 0.41

fs_slow_spearman / fs_spearman / fs_semi_fast_spearman / fs_fast_spearman (вариации копейщиков): смертность = 0.41

fs_dagger / fs_semi_fast_dagger / fs_fast_dagger (вариации воинов с кинжалами): смертельость = 0.57

fs_2handed_berserker (масштаб 1.1) (берсеркер с двуручником): смертность = 0.38

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

 

Баланс автобоя

При включении функции автобоя ИИ при расчете результатов опирается на показатели здоровья, т.е. хитпоинты. Второе значение stat_health (показателя здоровья) может использоваться, чтобы улучшить баланс автобоя. Определенные юниты, такие, как колесницы, в ваниле не имеют преимущества, в то время, как другие, вроде конницы и стрелков, усилены. Есть несколько простых решений, как назначить второе значение (sec hp ), и тем самым добиться лучшего баланса:

  • Юниты животных остаются, как есть.
  • Всем другим юнитам дать по 5 sec hps (вторичных, дополнительных хитпоинтов).
  • Юниты с 2 или больее хитпоинтов (prim hps ) получают-1 вторичный за каждое значение, превышающее единицу. Т.е., если у юнита 2 основных хитпоинта, назначьте ему-1 вторичный.
  • Стрелки с низким и средним уровнем атаки (low-medium ) получают+1 вторичных хитпоинтов.
  • Стрелки со средним и высоким уровнем атаки (medium-high ) получают+2 вторичных хитпоинтов.
  • Всадники с низким и средним уровнем чарджа получают +1 вторичных хитпоинтов.
  • Всадники со средним и высоким уровнем чарджа получают +2 вторичных хитпоинтов.

 

Морские сражения

В морских битвах многие параметры кораблей, прописанные в EDU вообще игнорируются. Те, которые реально имеют значение, это:

  • Количество экипажа
  • Первичные хитпоинты
  • Первичный уровень атаки
  • Первичный уровень защиты

Так же, как и у сухопутных юнитов, наибольшее значение в параметрах защиты имеет броня, затем уровень защиты, а затем - щит.

 

Создание юнитов с одним бойцом

Вся слава за это открытие принадлежит Bardo из команды LotR:TW

Здесь описан способ создания отряда с единственным воином. Это может быть полезно для создания героев, монстров или уникальных персонажей, не обремененных "телохранителями". Итак, краткое руководство:

1. Создайте юнит типа слона (то есть использующий одиночную модель всадника в descr_model_battle.txt)

2. Создайте маленькую, невидимую модель, которая будет использована в качестве  'солдат' и разместите ее 'в модели всадника', в descr_mount.txt.

3. Пропишите только 2 всадника в descr_mount.txt

4. Сделайте юнит из 20 солдат и 1 одного всадника  в строке 'soldier' EDU

5. Назначьте параметр "general_unit" отряду

6. Создайте и пропишите трейт (характеристику) одиночных персонажей, который сильно уменьшит их Командование и Личную Безопасность. (-50)

 

Этот способ работает только в кампаниях, но не в кастомных битвах. Количество солдат, отображаемое на иконке юнита в режиме страткарты будет изменяться в зависимости от игровых настроек размера отряда, но в режиме боя у юнита будет виден только один всадник (единственный уникальный солдат, чьи спутники будут невидимы). Недостатки состоят в том, что эти персонажи будут уязвимы для убийц, вести себя в бою будут, как слоны, а после загрузки сейва юнит будет полностью восстановлен (вновь станет иметь 2 или 4, в зависимости от размера солдата).

 

Автор - Aradan

Перевод - Python

 

Все права на данный текст принадлежат порталу CiЧъ Total WarS (c)

Добавить комментарий

Ссылки в комментариях не работают. Надоела капча - зарегистрируйся.

Защитный код
Обновить