EffectWML

Материал из Wesnoth Life Wiki
Перейти к: навигация, поиск

< Данная статья еще недопереведена! Английский оригинал можно прочесть тут >


Тег [effect]

Тег является дочерним для [object], и каждый его экземпляр представляет отдельную модификацию бойца. Для описания полной модификации можно комбинировать любое их количество. Встроенных средств по отмене эффектов в настоящее время не существует.


Всегда поддерживаются такие теги и атрибуты:

  • [filter]: StandardUnitFilter, определяющий бойца на которого распространится данный эффект.
  • unit_type: Тип бойца должен соответствовать значению (можно указать список).
    (версия 1.11 и выше) Ключ удален в пользу [effect][filter]type=.
  • unit_gender: Пол бойца должен соответствовать значению (можно указать список).
    (версия 1.11 и выше) Ключ удален в пользу [effect][filter]gender=.
  • times: Указывает, сколько раз должен выполниться данный эффект. По умолчанию once, но можно установить на per level - тогда число повторений будет равняться уровню бойца.
  • apply_to: Указывает, что именно должно измениться.


Остальные ключи зависят от значения apply_to, которое может быть одним из следующих:

  • new_attack: Добавляет бойцу новую атаку. Для описания используются все дочерние элементы тега [attack] (без самого тега).
  • remove_attacks: Удаляет все атаки, соответствующие заданному фильтру. Тег [filter] для него использовать не нужно.
  • attack: Изменяет соответствующие фильтру атаки. Тег [filter] здесь так же не нужен - просто разместите внутри [effect] ключи для поиска, а за ними ключи модификации:
    • set_name: Изменяет идентификатор атаки.
    • set_description: Изменяет отображаемое наименование атаки.
    • set_type: Изменяет тип повреждений атаки. Стандартные значение: blade, pierce, impact, fire, cold и arcane.
    • [set_specials]: Изменяет особенности атаки. Контейнер, аналогичный [specials].
      • mode: При значении append указанные особенности добавляются к текущим; при replace - заменяют их. По умолчанию: replace.
    • remove_specials: Удаляет перечисленные особенности. Значение должно быть указано в виде списка их идентификаторов. Ключ обрабатывается до [set_specials].
    • increase_damage: Увеличивает урон. Для уменьшения можно просто указать отрицательное значение; а для модификации в процентах от текущего - добавить к числу символ %.
    • increase_attacks: Увеличивает число ударов. Так же поддерживаются положительные, отрицательные или заданные в процентах значения.
    • attack_weight: Изменяет модификатор ценности для наступления (пояснение смотрите в UnitTypeWML).
    • defense_weight: Именяет модификатор ценности для обороны (пояснения смотрите в UnitTypeWML).
  • hitpoints: Модифицирует текущее и/или максимальное здоровье бойца.
    • increase: Увеличивает текущие ЗД на указанное значение.
    • heal_full: При установке в yes здоровье бойца полностью восстанавливается.
    • increase_total: Увеличивает максимальное ЗД на указанное число. Можно использовать как положительные, так и отрицательные значения. Также можно указывать в процентах от максимального, т.е. "-50%" отнимет у бойца половину здоровья.
    • violate_maximum: По умолчанию если после применения эффекта ЗД бойца превышает максимум, оно обрезается. Установка данному ключу значения yes отключает такое поведение.
  • movement: Изменяет единицы передвижения бойца.
    • increase: Максимальное число ходов увеличивается на указанное значение (положительное, отрицательное или заданное в процентах).
    • set: Максимальное число ходов устанавливается на указанное значение.
  • experience (версия 1.11 и выше): Изменяет текущий опыт бойца.
    • increase: Увеличивает ОП на указанное значение (положительное, отрицательное или заданное в процентах).
    • set: Устанавливает ОП указанное значение.
  • max_experience: Изменяет общее кол-во опыта, необходимого для повышения уровня.
    • increase: Увеличивает ОП на указанное значение (положительное, отрицательное или заданное в процентах).
  • loyal: Делает бойца лояльным (т.е. с нулевым содержанием). Нет дополнительных ключей.
  • movement_costs: Изменяет скорость передвижения бойца по различному ландшафту.
    • replace: Указывает, что новые значения должны заменять текущие. По умолчанию, значения складываются (можно задавать отрицательные).
    • [movement_costs]: Описывает модификацию скорости, см. UnitsWML.
  • defense: Изменяет защищенность бойца на различных территориях.
    • replace: Указывает, что новые значения должны заменять текущие. По умолчанию, значения складываются (можно задавать отрицательные).
    • [defense]: Описывает модификацию защиты, см. UnitsWML.
  • resistance: Изменяет сопротивляемость бойца различным типам повреждений.
    • replace: Указывает, что новые значения должны заменять текущие. По умолчанию, значения складываются (можно задавать отрицательные).
    • [resistance]: Описывает модификацию сопротивления, см. UnitsWML.
  • variation: Переключает бойца на одну из его вариаций.
    • name: Идентификатор вариации.
  • type: Меняет тип бойца.
    • name: Идентификатор типа.
  • status: Изменяет состояние бойца.
    • add: Список статусов для добавления. Beware, these may be reapplied later, such as when the unit is recalled or levels up; if in an event, you can use [store_unit] and [unstore_unit], modifying unit.status.name directly, to avoid this, or if you are creating the unit, you can just add it to the unit's [status] tag in the [unit] tag. These are listed in [status], SingleUnitWML.
    • remove: Список статусов для удаления.
  • zoc: Переключает зону контроля.
    • value: Новое значение для ЗК (логическое).
  • profile: Изменяет профиль бойца, см UnitTypeWML.
    • portrait: Изображение, используемое в диалогах.
    • small_portrait: new image to display in unit reports.
    • description: Текст подсказки, всплывающей при наведении курсора на тип бойца (в правой панели).
  • new_ability: Добавляет бойцу одну или несколько способностей.
    • [abilities]: Контейнер для тегов способностей.
  • remove_ability: Отнимает у бойца одну или несколько способностей. Abilities are not reference counted: added, added, removed = gone.
    • [abilities]: Контейнер для тегов способностей. По сути, нужно лишь id= внутри какого-то тега.
  • new_animation: contain animations that will be added to the unit, it can contain multiple animation blocks, and a single "id=" line. That Id should be unique for each effect block and is used by the engine to reuse WML parsing, making the loading faster.
  • image_mod: Изменяет функции обработки для всех фреймов бойца.
    • replace: Заменяет существующие функции на новые. Пример использования: replace="RC(magenta>red)"
    • add: Добавляет новые функции после всех существующих.
  • ellipse: Меняет отображаемую под бойцом метку комманды (это те цветные "круги", которые еще можно включать-выключать в настройках графики чекбоксом "Показывать цвета команд").
    • ellipse : Путь к комплекту изображений. Должен включать имя, но без суффиксов и расширения (только PNG, видимо). Например, файлы "ellipse-hero-bottom.png" и "ellipse-hero-selected-top.png" относятся к одному комплекту "ellipse-hero".
  • halo (версия 1.11 и выше): Change the image used for the unit's halo.
    • halo: the new image to use.
  • overlay (версия 1.11 и выше): Change the unit's overlays.
    • add: the specified overlay will be added to the unit's overlays. It can be a comma separated list with multiple overlays. Note: overlays added in this way cannot be removed by [remove_unit_overlay] until the effect's duration is over.
    • replace: all the unit's overlays will be removed and replaced with the specified one. Again, it can be a comma separated list. Note: overlays replaced in this way cannot be modified by [unit_overlay] or [remove_unit_overlay] until the effect's duration is over.


Смотрите также