Reaction: различия между версиями

Материал из Dwarf Fortress Wiki
Перейти к навигацииПерейти к поиску
м (Замена текста — « - » на « — »)
Нет описания правки
 
(не показано 40 промежуточных версий 5 участников)
Строка 1: Строка 1:
 
{{Modding}}


'''Реакции''' — модульные, редактируемые формулы (рецепты), расходующие конкретные ингредиенты, или '''''реагенты''''', и использующие их для получения желаемого предмета.  Многие реакции жёстко закодированы — строительство [[bed|кроватей]] или создание [[glass|стекла]], например, — но некоторые из них свободно редактируются, и очень просто добавить дополнительные реакции.
'''Реакции''' — модульные, редактируемые формулы (рецепты), расходующие конкретные ингредиенты, или '''''реагенты''''', и использующие их для получения желаемого предмета.  Многие реакции жёстко закодированы — строительство [[bed|кроватей]] или создание [[glass|стекла]], например, — но некоторые из них свободно редактируются, и очень просто добавить дополнительные реакции.
{{заготовка}}
{{устарело}}
== Различия реакций между режимами ==
== Различия реакций между режимами ==
In [[Fortress mode]], reactions are linked to specific buildings, and must be added to a civilization's [[Entities|entity file]] to be usable by that civilization. This has the useful effect of limiting new items and materials (such as special [[wood]] or [[metal]]) to civilizations that have the requisite reaction -- so that if you give your custom civilization a reaction to produce star metal or some other custom material, only they will be able to use it.
В [[Fortress mode|Режиме Крепости]], реакции всегда задаются для конкретных строений, а так же обязательно должны быть упомянуты в [[Entities|entity-файле]] описания Цивилизации, для того, чтобы они могли быть использованы данной цивилизацией. Это полезно иметь ввиду, если вы захотите ограничить использование новых предметов и/или материалов (разрешить использовать только [[wood|древесину]], [[metal|металлы]] и т.п.) какими-либо цивилизациями -- вы сможете, например, дать возможность вашей новой цивилизации производить звёздный металл и тому подобное, что будет доступно только ей.


In [[Adventure mode]], reactions are freely available via x > create, and any adventurer character can make free use of them.  Reagents may be held in the hands or dropped on the ground, but cannot be used within a backpack or quiver. As of .10, there are several bugs with Adventure mode reactions, chief of which is the fact that you cannot select liquid reagents. <!-- reaction product tag works now, liquids and improvement quality dont -->
В [[Adventure mode|Режиме Приключения]], реакции свободно доступны к применению для любого героя через комбинацию {{key|X}} - Create. Реагенты для реакции должны находиться в руках или лежать под ногами, но не могут быть использованы, если находятся в {{tooltip|рюкзаке|backpack}} или {{tooltip|колчане|quiver}}. В версии [[Версия игры/0.31.10|0.31.10]] у реакций в Режиме Приключения существует несколько ошибок, главная из которых заключается в том, что вы не можете использовать жидкие реагенты.


Prior to version 31.10, a reaction could only result in an object of base [[quality]]. However, in .10 items produced via reactions have been observed to have quality modifiers. The way skill factors into them has yet is the same as for normal items{{version|0.31.21}}.
До версии 31.10 результатом реакции мог стать предмет с базовым уровнем [[quality|качества]]. Однако, уже в .10 версии у предметов созданных в результате реакций обнаружены модификаторы качества. На определение качества предмета влияет стандартный механизм уровня используемого навыка точно таким же образом, как и для обычных предметов {{version|0.31.21}}.


== Анатомия реакции ==
== Анатомия реакции ==


Reactions are found within reaction_x files (such as reaction_smelter or reaction_other). Generally speaking they adhere to the following structure:
Реакции должны находится в файлах с названием вида reaction_x (например reaction_smelter или reaction_other). Вообще говоря, все реакции имеют следующее строение:


   [REACTION:<identifier>]
   [REACTION:<identifier>]
Строка 23: Строка 23:
       [AUTOMATIC]
       [AUTOMATIC]
       [ADVENTURE_MODE_ENABLED]
       [ADVENTURE_MODE_ENABLED]
* ''[[#Reaction identifier|identifier]]'': The internal ID of the reaction.
 
* ''[[#Reaction name|name]]'': The name of the reaction, visible to the player in the Fortress mode or Adventure mode menus.
* ''[[#Идентификатор реакции|identifier]]'': Внутренний идентификатор реакции.
* ''[[#Building|building]]'': The building ID that the reaction uses, and the relevant keyboard shortcut.
* ''[[#Название реакции|name]]'': Название реакции, которое отображается в Режиме Крепости или Режиме Приключения.
* ''[[#Reagents|...reagents...]]'': Zero or more reagents (ingredients) that are required to be in stock for the reaction to be possible.
* ''[[#Постройка|building]]'': Внутренний идентификатор постройки и горячая комбинация клавиш для её выбора (имеет смысл только для Режима Крепости).
* ''[[#Products|...products...]]'': Zero or more products that are created from the reaction.
* ''[[#Реагенты|...reagents...]]'': Ноль или более реагентов (ингредиентов), которые необходимо собрать, прежде чем реакция станет возможной.
* ''[[#fuel|fuel]]'': (optional) If present, the reaction requires charcoal, coke or a magma-powered workshop.
* ''[[#Продукты|...products...]]'': Ноль или более продуктов, которые возникают в результате реакции.
* ''[[#skill|skill]]'': (optional) The skill required and trained by the reaction.
* ''[[#fuel|fuel]]'': (не обязательно) Если присутствует, то реакция требует уголь, кокс или мастерскую, работающую на магме.
* ''[[#automatic|automatic]]'': (optional) If present, the reaction will automatically be enqueued whenever it can possibly be performed.
* ''[[#skill|skill]]'': (не обязательно) Навык, который необходим для реакции и тренируется в её ходе.
* ''[[#adventure mode|adventure mode]]'': (optional) If present, the reaction is used by the player in Adventure mode instead.
* ''[[#automatic|automatic]]'': (не обязательно) Если присутствует, то реакция стартует автоматически, как только выполнены все требования для её проведения.
* ''[[#adventure mode|adventure mode]]'': (не обязательно) Если присутствует, то реакция становится доступной герою в Режиме Приключения.


=== Идентификатор реакции ===
=== Идентификатор реакции ===


The reaction identifier may be anything, so long as it is unique within the raw data files. A good habit to get into is to append a short prefix or suffix to each name related to the name of your mod, to ensure nobody else is going to make an identical reaction and thereby mess up the game if their mod is run alongside yours.
Идентификатор реакции может быть любым, главное, чтобы он не совпадал с другими идентификаторами в raw файлах. Хорошим тоном является использование в идентификаторах ваших реакций однотипные приставки или окончания, образованные от названия вашего мода, чтобы гарантировать что никто более не создаст реакцию с таким же идентификатором и тем самым не сломает игру запустив свой мод совместно с вашим.


=== Название реакции ===
=== Название реакции ===


This can be anything at all, and is usually used to describe the reaction. '''Tan a hide''', for example, is the name of the default leather-producing reaction. Generally this should be written as a small descriptive verb phrase, with the first letter capitalised, for consistency with the existing reactions.
Может быть вообще каким угодно и обычно используется, чтобы описать реакцию. '''{{tt|Tan a hide|Выделка кожи}}''', к примеру, название встроенной реакции для производства кож. Название реакции желательно описывать короткой фразой, начинающейся с заглавной буквы, чтобы соответствовать названиям уже встроенных реакций.


=== Постройка ===
=== Постройка ===


     [BUILDING:<BUILDING NAME>:<BUILDING KEY>]
     [BUILDING:<BUILDING NAME>:<BUILDING KEY>]
* ''name'': The ID of the building where this reaction will appear in the tasks menu.
* ''name'': Внутренний идентификатор строений, в меню которого будет доступна реакция.
* ''key'': The keyboard shortcut used to queue up the reaction.
* ''key'': Комбинация горячих клавиш для выбора реакции.


The BUILDING NAME is the name of the building that will house this reaction, and the building key is the keyboard shortcut that will queue up the reaction. If two reactions have the same key, then one of them will be assigned a different key, the first alphabetically available at the building.
Вместо {{tt|BUILDING NAME|имя строения}} подставляется имя строения, в котором будет доступна реакция, а далее указывается горячая комбинация клавиш для добавления этой реакции в очередь заданий строения. Если две и более реакций имеют одинаковую комбинацию клавиш,  
то одной из них назначается другая клавиша (первая доступная в алфавитном порядке).


Valid buildings are KILN, SMELTER, TANNER, KITCHEN, QUERN, MILLSTONE, STILL, CRAFTSMAN, and any custom buildings.
Допустимы следующие имена строений: KILN, SMELTER, TANNER, KITCHEN, QUERN, MILLSTONE, STILL, CRAFTSMAN, и все остальные мастерские.


=== Реагенты ===
=== Реагенты ===
REAGENTs are a little bit complicated. They are the ingredients that the reaction will use. You can define as many as you like within a reaction.
Раздел {{tt|REAGENT|реагент}} устроен немного сложнее. Это ингредиенты, которые используются в реакции. Их можно задать столько, сколько хотите.


     [REAGENT:<name>:<quantity>:<item token>:<material token>][...modifiers...]
     [REAGENT:<name>:<quantity>:<item token>:<material token>][...modifiers...]
* ''[[#name|name]]'': The name of the reagent, local to the reaction.
* ''[[#Название|name]]'': Название реагента, используемого в реакции.
* ''[[#quantity|quantity]]'': The amount of the item that will be used in the reaction.
* ''[[#Количество|quantity]]'': Количество реагента, необходимое для реакции.
* ''[[#item_token|item token]]'': The type of the item you require.
* ''[[#Токен предмета|item token]]'': Требуемый тип предмета у реагента.
* ''[[#material_token|material token]]'': The material the item should be made of.
* ''[[#Токен материала|material token]]'': Требуемый материал, из которого должен быть изготовлен реагент.
* ''[[#Modifiers|...modifiers...]]'': Zero or more tokens which further clarify the acceptable types when the item type and material types are insufficient to distinguish them.
* ''[[#Модификаторы|...modifiers...]]'': Ноль или более маркеров, которые уточняют какие реагенты допустимы, когда простого указания типа предмета и материала для данного реагента не достаточно.
 


==== Название ====
==== Название ====
The name field is a small string used to identify the reagent within the reaction. The name is not visible to the player. It is local to the reaction and does not need to be unique across all of the reactions, so you can reuse the same names over and over, although each reagent within the same individual reaction must have a different name.
Это поле представляет собой небольшую строку, которая используется для идентификации реагента в реакции. Эту строку игрок никогда не увидит. Данное имя используется только в этой реакции и не должно быть уникальным для остальных реакций. Поэтому в разных реакциях вы можете спокойно использовать одни и те же имена. Главное, чтобы внутри одной реакции разные реагенты имели разные имена.


Most reactions are simply named '''A''', '''B''', and so forth in default reactions, although names such as '''TOOLSTONE''' or '''FLUX''' will also work equally well. The PRODUCT may make reference to this name &mdash; for instance, if a container '''B''' is specified as a reagent, PRODUCT_TO_CONTAINER:B specifies that container.
В большинстве реакций реагенты называются просто как '''A''', '''B''' и так далее. Хотя имена вида '''TOOLSTONE''' или '''FLUX''' тоже будут замечательно работать. В самой реакции есть раздел {{tt|PRODUCT|продукт}}, который может ссылаться на реагенты по их имени &mdash; например, если контейнер '''B''' указан как реагент, то продукт может содержать тег PRODUCT_TO_CONTAINER:B, который указывает, что данный продукт надо поместить в контейнер '''B'''.


==== Количество ====
==== Количество ====
The quantity differs between item types. Generally speaking, cloth, thread, powder and globs use numbers representing the size of material within one item, and everything else uses a static quantity. While REAGENT:A:'''''10''''':'''''THREAD''''':NONE:NONE:NONE thread is an extremely tiny portion of a random spool of thread, REAGENT:A:'''''10''''':'''''TOY''''':NONE:NONE:NONE is ten unique, solid toy items.
Количество у разных типов предметов измеряется в разных единицах. Проще говоря, {{tt|ткани|cloth}}, {{tt|нити|thread}}, {{tt|порошки|powder}} и {{tt|глобулы|globs}} измеряются в единицах, где один пункт представляет собой достаточно мелкую величину, а все остальное измеряется в статических величинах (в штуках и т.п.). Например REAGENT:A:'''''10''''':'''''THREAD''''':NONE:NONE:NONE описывает просто крошечную порцию произвольной нити, а REAGENT:A:'''''10''''':'''''TOY''''':NONE:NONE:NONE описывает десять штук разных игрушек.


Sometimes the quantity of product is directly connected with the quantity of reagent; it seems to be 150 / REAGENT <quantity> (rounding down) so that Reagent <quantity> of 3 gives 50 product and a <quantity> of 4 gives 37. (150/4=37.5) [List of item types this applies to? Bars, for instance.]
Иногда количество получаемого на выходе из реакции продукта напрямую зависит от количества используемых реагентов; похоже, что количество продукта вычисляется по формуле 150 / количество реагента (с округлением вниз). Т.е. если у вас количество реагента равно 3, то вы получите 50 единиц продукта, а если количество реагента 4, то вы получите 37 единиц продукта (150/4=37.5) [Тут неплохо было бы привести список типов предметов, для которых работает это правило, слитки например и т.п.]


==== Токен предмета ====
==== Токен предмета ====
Item tokens are of the form ITEM_TYPE:ITEM_SUBTYPE.
Токен предмета состоит из двух частей ITEM_TYPE:ITEM_SUBTYPE.


The item type is the sort of item you require; WEAPON, TOY or SKIN_TANNED, for example.  A [[item token|full list]] is available.
Тип предмета это просто указание разновидности предмета, которая вам необходима; {{tt|WEAPON|оружие}}, {{tt|TOY|игрушка}} или {{tt|SKIN_TANNED|выделанная шкура}} к примеру. Если нужна более детальная информация по типам, то её можно посмотреть в [[item token|полном списке]] предметов.


For reagents, the item token can also be set to ANY_RAW_MATERIAL:NONE (to permit POWDER_MISC, BAR, BOULDER, or GLOB{{verify}}) or ANY_CRAFT:NONE (to permit FIGURINE, AMULET, SCEPTER, CROWN, RING, EARRING, or BRACELET). These special values cannot be used in any other context.
В реагентах, кроме этих типов, допустимо так же указывать ANY_RAW_MATERIAL:NONE (разрешается использовать все виды {{tt|порошков|POWDER_MISC}}, {{tt|слитков|BAR}}, {{tt|камней|BOULDER}} или {{tt|глобул|GLOB}}{{verify}}) или ANY_CRAFT:NONE (разрешается использовать {{tt|фигурки|FIGURINE}}, {{tt|амулеты|AMULET}}, {{tt|скипетры|SCEPTER}}, {{tt|короны|CROWN}}, {{tt|кольца|RING}}, {{tt|серьги|EARRING}} или {{tt|браслеты|BRACELET}})


The item subtype is name of the exact item that you require. Examples are ITEM_WEAPON_SPEAR or ITEM_TOY_PUZZLEBOX. Some items, like quivers or backpacks, or chunks of stone or metal, only require the item token to be filled in, so if you're asking for those you should set the subtype to NONE. Subtypes are the entities defined within the local raw data files and their exact names can be referenced by looking at the corresponding file.
Подтип предмета позволяет уточнить, какой именно предмет вас интересует. Например {{tt|ITEM_WEAPON_SPEAR|копье}} или {{tt|ITEM_TOY_PUZZLEBOX|головоломка}}. Некоторые предметы, например {{tt|колчаны|quivers}}, {{tt|рюкзаки|backpacks}} или куски камня и металла требуют задания только типа предмета. В этом случае в подтипе предмета надо писать NONE. Сами подтипы описаны в raw-файлах и их точные названия можно уточнить, глядя на содержимое этих файлов.


For backwards compatibility, reagents can also accept "METAL_ORE:metal_id" in place of both the item and material tokens this is equivalent to using the reagent BOULDER:NONE:NONE:NONE with the modifier [METAL_ORE:metal_id] (see below).
Для обратной совместимости в типе/подтипе предмета реагента разрешается указывать "METAL_ORE:metal_id", что разом задаёт и тип и материал реагента такая запись эквивалентна более современной записи BOULDER:NONE:NONE:NONE с модификатором [METAL_ORE:metal_id] (более подробно об этом смотри ниже).


==== Токен материала ====
==== Токен материала ====
Material tokens come in several forms — see [[material token|here]] for a full list. For reagents, this will typically be INORGANIC:MATERIAL_ID, whereas products will typically use GET_MATERIAL_FROM_REAGENT:REAGENT_ID:REACTION_PRODUCT_ID.
Токен материала может задаваться несколькими способами - [[material token|здесь]] можно посмотреть на полный список. Для реагентов, как правило, используется INORGANIC:MATERIAL_ID, а для продуктов реакции GET_MATERIAL_FROM_REAGENT:REAGENT_ID:REACTION_PRODUCT_ID.


==== Модификаторы ====
==== Модификаторы ====
Reagents may also have extra tokens added on afterwards, placed just after the REAGENT tag.
Реагенты могут содержать достаточно много различных дополнительных токенов, которые должны располагаться сразу после тега REAGENT.


A list of them follows:
Ниже перечислены все модификаторы для реагентов:


{| {{prettytable}}
{| {{prettytable}}
|- bgcolor="#dddddd"
|- bgcolor="#dddddd"
! Token
! Токен
! Meaning
! Описание
|-
|-
| [REACTION_CLASS:X]
| [REACTION_CLASS:X]
| Detailed below the reaction anatomy section.
| Рассматривается в секции анатомия реакции ниже.
|-
|-
| [HAS_MATERIAL_REACTION_PRODUCT:X]
| [HAS_MATERIAL_REACTION_PRODUCT:X]
| Detailed below the reaction anatomy section.
| Рассматривается в секции анатомия реакции ниже.
|-
|-
| [CONTAINS:X]
| [CONTAINS:X]
| Reagent is a container that holds the specified reagent.
| Реагент является контейнером, содержащим другой реагент. Здесь X - имя реагента, заданное в описании реакции.
|-
|-
| [UNROTTEN]
| [UNROTTEN]
| Reagent must not be rotten, mainly for organic materials.
| Реагент не должен быть гнилым (касается органических материалов).
|-
|-
| [CONTAINS_LYE]
| [CONTAINS_LYE]
| If the reagent is a container, it must contain LYE. No longer used — instead, use one reagent for the LYE itself and another reagent with [CONTAINS:lye_reagent].
| Если реагент является контейнером, то он должен содержать {{tt|щёлок|LYE}}. Этот модификатор устарел и больше не используется - вместо этого добавьте два реагента, один из которых щёлок, а второй контейнер с токеном [CONTAINS:lye_reagent].
|-
|-
| [POTASHABLE]
| [POTASHABLE]
| Alias for [CONTAINS_LYE].
| Синоним для [CONTAINS_LYE].
|-
|-
| [NOT_WEB]
| [NOT_WEB]
| States that the reagent must have been collected (to distinguish silk thread from webs).
| Реагент, который должен быть в наличии (позволяет исключить шёлковые нити, получаемые из паутины).
|-
|-
| [WEB_ONLY]
| [WEB_ONLY]
| States that the reagent must be undisturbed (to distinguish silk thread from webs).
| Реагент, который не надо заранее готовить (отличительная черта для шёлковых нитей из паутины).
|-
|-
| [EMPTY]
| [EMPTY]
| If the reagent is a container, it must be empty.
| Если реагент контейнер, то он должен быть пустым.
|-
|-
| [NOT_CONTAIN_BARREL_ITEM]
| [NOT_CONTAIN_BARREL_ITEM]
| If the reagent is a Barrel, it must not contain an item that has to reside in a barrel. Barrel items appear to be lye and milk. Alcohol appears to be covered as part of [EMPTY]. A reaction which places an item in a barrel should probably have both tags.
| Если реагент - бочка, то он не должен содержать ничего, что обычно в них хранится. Этот тег касается, видимо, {{tt|щёлока|lye}} и {{tt|молока|milk}}. Чтобы в бочке отсутствовал алкоголь, нужен тег [EMPTY]. Если вам нужно что-то в бочку поместить, то, похоже, должны быть указаны оба тега.
|-
|-
| [BAG]
| [BAG]
| Reagent has to be a bag — that is, made of cloth or leather. Intended to be used with an item type of BOX:NONE, to prevent chests, coffers, and other containers from being used instead.
| Реагент должен быть мешком из ткани или кожи. Этот тег предназначен для использования совместно с тегом BOX:NONE, чтобы исключить сундуки и прочие контейнеры.
|-
|-
| [GLASS_MATERIAL]  
| [GLASS_MATERIAL]  
| Reagent material must have the [IS_GLASS] token. All 3 types of glass have this token hardcoded.
| Материал реагента должен содержать токен [IS_GLASS]. Во все три стандартных вида стекла этот токен зашит намертво.
|-
|-
| [BUILDMAT]
| [BUILDMAT]
| Reagent must be a building material (Stone, Wood, Blocks, Bars?).
| Реагент является строительным материалом (Камень, Дерево, Блоки, Слитки?).
|-
|-
| [FIRE_BUILD_SAFE]
| [FIRE_BUILD_SAFE]
| Reagent material's IGNITE_POINT must be set to "NONE".
| У материала, из которого состоит реагент, тег IGNITE_POINT имеет значение "NONE".
|-
|-
| [MAGMA_BUILD_SAFE]
| [MAGMA_BUILD_SAFE]
| Reagent must be magma-safe. Currently broken — behaves exactly the same as [FIRE_BUILD_SAFE].
| Реагент должен быть магмоустойчив. На данным момент забаговано и работает точно так же, как [FIRE_BUILD_SAFE].
|-
|-
| [CAN_USE_ARTIFACT]
| [CAN_USE_ARTIFACT]
| Reagent can be an Artifact. Using [PRESERVE_REAGENT] with this is strongly advised.
| Реагент может быть артефактом. Крайне настоятельно рекомендуется использовать совместно с тегом [PRESERVE_REAGENT].
|-
|-
| [WORTHLESS_STONE_ONLY]
| [WORTHLESS_STONE_ONLY]
| Reagent material must be non-economic.
| Материал, из которого изготовлен реагент должен считаться не экономически значимым (т.е. неценные руды и т.п.).
|-
|-
| [ANY_PLANT_MATERIAL]  
| [ANY_PLANT_MATERIAL]  
| Reagent material must be subordinate to a PLANT object.
| Материал реагента относится к {{tt|растительным|PLANT}} материалам.
|-
|-
| [ANY_SILK_MATERIAL]  
| [ANY_SILK_MATERIAL]  
| Reagent material must have the [SILK] token.
| Материал реагента должен содержать токен [SILK].
|-
|-
| [ANY_YARN_MATERIAL]  
| [ANY_YARN_MATERIAL]  
| Reagent material must have the [YARN] token.
| Материал реагента должен содержать токен [YARN].
|-
|-
| [ANY_SOAP_MATERIAL]
| [ANY_SOAP_MATERIAL]
| Reagent material must have the [SOAP] token.
| Материал реагента должен содержать токен [SOAP].
|-
|-
| [ANY_LEATHER_MATERIAL]
| [ANY_LEATHER_MATERIAL]
| Reagent material must have the [LEATHER] token.
| Материал реагента должен содержать токен [LEATHER].
|-
|-
| [ANY_BONE_MATERIAL]
| [ANY_BONE_MATERIAL]
| Reagent material must have the [BONE] token.
| Материал реагента должен содержать токен [BONE].
|-
|-
| [ANY_STRAND_TISSUE]
| [ANY_STRAND_TISSUE]
| Reagent is made of a tissue having [TISSUE_SHAPE:STRANDS], intended for matching hair and wool. Must be used with [USE_BODY_COMPONENT].
| Реагент состоит из слоя с тегом [TISSUE_SHAPE:STRANDS], определяющим волосяной и шерстяной покровы. Этот тег нужно использовать совместно с тегом [USE_BODY_COMPONENT].
|-
|-
| [ANY_SHELL_MATERIAL]
| [ANY_SHELL_MATERIAL]
| Reagent material must have the [SHELL] token.
| Материал реагента должен содержать токен [SHELL].
|-
|-
| [ANY_TOOTH_MATERIAL]
| [ANY_TOOTH_MATERIAL]
| Reagent material must have the [TOOTH] token.
| Материал реагента должен содержать токен [TOOTH].
|-
|-
| [ANY_HORN_MATERIAL]
| [ANY_HORN_MATERIAL]
| Reagent material must have the [HORN] token.
| Материал реагента должен содержать токен [HORN].
|-
|-
| [ANY_PEARL_MATERIAL]
| [ANY_PEARL_MATERIAL]
| Reagent material must have the [PEARL] token.
| Материал реагента должен содержать токен [PEARL].
|-
|-
| [USE_BODY_COMPONENT]
| [USE_BODY_COMPONENT]
| Reagent must be a body part.
| Реагент должен являться частью тела
|-
|-
| [NO_EDGE_ALLOWED]
| [NO_EDGE_ALLOWED]
| Reagent must not be sharpened (used for knapping).
| У реагента не должно быть острых кромок (используется для заточки).
|-
|-
| [NOT_ENGRAVED]
| [NOT_ENGRAVED]
| ? (May be used for memorial slabs?)
| ? (возможно используется для надгробных плит?)
|-
|-
| [NOT_IMPROVED]
| [NOT_IMPROVED]
| Reagent has not been decorated.
| Реагент не должен иметь декорирования.
|-
|-
| [DOES_NOT_ABSORB]
| [DOES_NOT_ABSORB]
| Reagent material must have [ABSORPTION:0]
| Материал реагента должен содержать тег [ABSORPTION:0]
|-
|-
| [FOOD_STORAGE_CONTAINER]
| [FOOD_STORAGE_CONTAINER]
| Reagent is either a BARREL or a TOOL with the FOOD_STORAGE use.
| Реагент либо {{tt|бочка|BARREL}}, либо {{tt|инструмент|TOOL}} с тегом FOOD_STORAGE.
|-
|-
| [HARD_ITEM_MATERIAL]
| [HARD_ITEM_MATERIAL]
| Material has the [ITEMS_HARD] token.{{verify}}
| Материал реагента должен содержать токен [ITEMS_HARD].{{verify}}
|-
|-
| [NOT_PRESSED]
| [NOT_PRESSED]
| Reagent must not be in the SOLID_PRESSED state.
| Реагент не должен находится в состоянии SOLID_PRESSED.
|-
|-
| [METAL_ORE:X]
| [METAL_ORE:X]
| Reagent material must be an ore of the specified metal.
| реагент должен представлять собой руду металла с определённым идентификатором.
|-
|-
| [MIN_DIMENSION:X]
| [MIN_DIMENSION:X]
Строка 210: Строка 213:
|-
|-
| [HAS_TOOL_USE:X]
| [HAS_TOOL_USE:X]
| Reagent must be a [[tool]] with the specific TOOL_USE value. The reagent's item type must be TOOL:NONE for this to make any sense.
| Реагент должен быть [[tool|инструментом]] с указанным значением у тега TOOL_USE. В это случае тип предмета у реагента должен иметь значение TOOL:NONE, данный маркер работал.
|-
|-
| [PRESERVE_REAGENT]
| [PRESERVE_REAGENT]
| Reagent is not destroyed, which is the normal effect, at the completion of the reaction. Typically used for containers.
| Реагент по окончанию реакции не разрушается, в отличие от стандартного поведения. Обычно используется для контейнеров.
|-
|-
| [DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
| [DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
| This will make the reagent mass not modify the product amount (useful for metal bars -> other objects)
| Не учитывать массу реагента при вычислении итогового продукта. Полезно при превращении слитков в другие предметы.
|}
|}


Generally speaking, if you set a field in a reagent to NONE, the reaction won't discriminate when it comes to that particular field. For example, if you require a BOULDER reagent but leave the material as NONE:NONE, it will grab any available BOULDER-type item regardless of material.
Вообще говоря, если вы где-либо у реагента напишите NONE, то реакция не будет делать различия между предметами по этому критерию. Например, если у реагента {{tt|BOULDER|булыжник}} указать материал, как NONE:NONE, то это позволит использовать в реакции всевозможные доступные камни вне зависимости от того, из какого материала они сделаны.


===Продукты===
=== Продукция ===
Products are the end product of the reaction. A reaction can have as many products as it likes.
Продукция это результат соответствующей ей реакции. В процессе реакции можно создать столько продуктов, сколько вам надо.


Products are almost identical to reagents, except that they do not need to be named, can't have fields undefined, and don't use the quantity field to determine the product size. Instead, the token PRODUCT_DIMENSION:X is tacked on after the PRODUCT token, determining the size of the product.
Продукты описываются практически точно так же, как и реагенты, за исключением того, что для них не надо придумывать внутреннее имя и не надо задавать количество для определения размера/количества продукта. Однако, можно указать дополнительный токен PRODUCT_DIMENSION:X, сразу после описания самого продукта, для указания конкретного количества продукции, которое вы хотите получить.


Products can be produced directly to a container using the [PRODUCT_TO_CONTAINER:<IDENTIFIER>] token, where the IDENTIFIER is the name of a reagent. This requires the reagent to have the PRESERVE_REAGENT token.
Продукт можно поместить в контейнер при помощи токена [PRODUCT_TO_CONTAINER:<IDENTIFIER>] где IDENTIFIER - внутренне имя реагента-контейнера. Такой реагент необходимо пометить токеном PRESERVE_REAGENT.


Restating this in the above style, we have:
С учётом этих отличий, в итоге, получаем следующий вид описания продукта:
   [PRODUCT:<probability>:<quantity>:<item token>:<material token>][...modifiers...][PRODUCT_DIMENSION:X][PRODUCT_TO_CONTAINER:<IDENTIFIER>]
   [PRODUCT:<probability>:<quantity>:<item token>:<material token>][...modifiers...][PRODUCT_DIMENSION:X][PRODUCT_TO_CONTAINER:<IDENTIFIER>]


====Вероятность====
====Вероятность====
The percentage chance the product will be produced when the reaction is completed.
Шанс получения продукции в процентах по окончании реакции.


====Количество====
====Количество====
Determines how many of the product will be produced.
Определяет как много продукции будет произведено.


====Токен предмета====
====Токен предмета====
The [[item token]] and subtype of the item you produce.
Это [[item token|тип]] и подтип предмета, который вы создаёте в результате реакции.


For products, this can also be set to CRAFTS:NONE to produce up to three random [[craft]] items. This value cannot be used in any other context.
Продукты реакции могут так же использовать сочетание CRAFTS:NONE для создания случайной [[craft|поделки]]. Нигде более такое сочетание использовать нельзя.


====Токен материала====
====Токен материала====
A [[material token]] describing what the product will be made of.
Токен [[material token]] указывает на материал, из которого будет изготовлен продукт.


====Модификаторы продукта====
==== Модификаторы продукта ====
Zero or more tokens which further clarify the acceptable types when the item type and material types are insufficient to distinguish them.
Ноль или больше токенов, которые позволяют конкретизировать тип предмета и материала, если стандартных средств недостаточно.


{| {{prettytable}}
{| {{prettytable}}
|- bgcolor="#dddddd"
|- bgcolor="#dddddd"
! Token
! Токен
! Meaning
! Описание
|-
|-
| [FORCE_EDGE]
| [FORCE_EDGE]
| Product is given a sharp edge. Used for knapping.
| Продукт обладает острыми кромками. Используется при {{tt|заточке|knapping}}.
|-
|-
| [PRODUCT_PASTE]
| [PRODUCT_PASTE]
| Product is created in the SOLID_PASTE state.
| Созданный продукт получает состояние SOLID_PASTE.
|-
|-
| [PRODUCT_PRESSED]
| [PRODUCT_PRESSED]
| Product is created in the SOLID_PRESSED state.
| Созданный продукт получает состояние SOLID_PRESSED.
|-
|-
| [PRODUCT_DIMENSION:<size>]
| [PRODUCT_DIMENSION:<size>]
| Specifies the size of the product. A size of 150 is typical for BAR, POWDER_MISC, LIQUID_MISC, and DRINK. A size of 15000 is typical for THREAD, and a size of 10000 is typical for CLOTH.
| Задает размер полученного продукта. Размер 150 является типичным для {{tt|слитков|BAR}}, {{tt|порошков|POWDER_MISC}}, {{tt|жидкостей|LIQUID_MISC}} и {{tt|выпивки|DRINK}}. Размер 15000 применяется для {{tt|нитей|THREAD}} и 10000 для {{tt|тканей|CLOTH}}.
|-
|-
| [PRODUCT_TO_CONTAINER:<id>]
| [PRODUCT_TO_CONTAINER:<id>]
| Places the product in a container; <id> must be the name of a reagent with the PRESERVE_REAGENT token and a container item type.
| Помещает продукт в контейнер; здесь <id> должно быть именем реагента с модификатором PRESERVE_REAGENT, который к тому же является контейнером.
 
|}
|}


===Улучшения===
=== Улучшения ===
Improvements are applied to existing reagents. A reaction can have as many improvements as it likes.
Улучшения применяются к существующим реагентам. В реакции может быть прописано сколько угодно улучшений.


Restating this in the above style, we have:
Само улучшение имеет следующий вид:
   [IMPROVEMENT:<probability>:<reagent name>:<improvement type>:<material token>]
   [IMPROVEMENT:<probability>:<reagent name>:<improvement type>:<material token>]


====Вероятность====
==== Вероятность ====
The percentage chance the improvement will be applied to the reagent when the reaction is completed.
Процент вероятности того, что данное улучшение будет применено к реагенту по окончанию реакции.


====Название реагента====
==== Название реагента ====
The name of the reagent that will be improved. In order to be meaningful, this reagent must have [PRESERVE_REAGENT].
Имя реагента, который подлежит улучшению. Очевидно, что такой реагент должен быть помечен тегом [PRESERVE_REAGENT], чтобы защитить реагент от уничтожения в ходе реакции.


====Тип улучшения====
====Тип улучшения====
The following improvement types can be used:
Допускаются следующие виды улучшений:
{| {{prettytable}}
{| {{prettytable}}
|- bgcolor="#dddddd"
|- bgcolor="#dddddd"
! Token
! Токен
! Meaning
! Описание
|-
|-
| COVERED
| COVERED
| Item is encrusted/studded/decorated with <material>.
| Предмет будет {{tt|инкрустирован|encrusted}}/{{tt|усеян|studded}}/{{tt|декорирован|decorated}} соответствующим <material>.
|-
|-
| GLAZED
| GLAZED
| Item is glazed with <material>.
| Предмет покрыт соответствующим <material>.
|-
|-
| RINGS_HANGING
| RINGS_HANGING
| Item is adorned with hanging rings of <material>.
| Украшен висящими кольцами из <material>.
|-
|-
| BANDS
| BANDS
| Item is encircled with bands of <material>.
| Покрыт полосами из <material>.
|-
|-
| SPIKES
| SPIKES
| Item menaces with spikes of <material>.
| Усеян шипами из <material>.
|}
|}


All other item improvement tokens (ART_IMAGE, ITEMSPECIFIC, THREAD, CLOTH, and SEWN_IMAGE) are ignored.
Все остальные виды улучшений (ART_IMAGE, ITEMSPECIFIC, THREAD, CLOTH и SEWN_IMAGE) игнорируются.


====Токен материала====
==== Токен материала ====
A [[material token]] describing what the decoration will be made of.
[[material token|Токен материала]] указывает на материал, из которого создаётся украшение.


===Другие токены===
=== Другие токены ===


===={{tt| fuel | топливо }}====
==== {{tt| fuel | топливо }} ====
The FUEL token means that the reaction requires coke or charcoal to be performed. If the reaction is performed at a Kiln or a Smelter, it can also be performed at a Magma Kiln or Magma Smelter without requiring fuel.
Наличие токена FUEL указывает на то, что для проведения реакции дополнительно требуется {{tt|каменный уголь|coke}} или {{tt|древесный уголь|charcoal}}. Если реакция приписана {{tt|Печи|Kiln}} или {{tt|Плавильне|Smelter}}, то она может быть выполнена БЕЗ требования топлива в {{ttr|Магма Печи|Magma Kiln }} или {{ttr|Магма Плавильне|Magma Smelter}}.


===={{tt| skill | навык }}====
==== {{tt| skill | навык }} ====
The SKILL token determines what [[Skill tokens|skill]] the reaction requires and what skill it trains. Multiple skills can be listed but only one will be used.
Токен SKILL указывает, какой [[Skill tokens|навык]] необходим для проведения реакции. В этом случае осуществление реакции будет тренировать этот навык. Можно указать несколько навыков, но применяться будет только один.


===={{tt| automatic | автоматический}}====
==== {{tt| automatic | автоматический}} ====
The AUTOMATIC token means that the reaction will be queued automatically if the reaction reagents are all present.
Токен AUTOMATIC означает, что операция будет добавлена в очередь мастерской автоматически, как только станут доступны все необходимые реагенты.


===={{tt| adventure mode enabled |разрешённый в режиме приключений}}====
==== {{tt| adventure mode enabled |разрешённый в режиме приключений}} ====
The ADVENTURE_MODE_ENABLED token means that this version of the reaction is not used by dwarves at home in a fortress, but rather the wanderers of Adventure Mode. When using this token, it will be allowed for adventurers of any race, without editing Entity files.
Токен ADVENTURE_MODE_ENABLED говорит, что данная реакция будет доступна не в Режиме Крепости, а в Режиме Приключения. Этот токен сделает данную реакцию доступной для любого героя, любой расы без какого-либо редактирования entity-файла.


==Материал продуктов реакции и классы реакций==
== Материал продуктов реакции и классы реакций ==


You can get a certain measure of control over very specific materials using reaction classes and material reaction products — the tokens look like this:
Вы можете получить более тонкий контроль над применяемыми материалами при помощи указания класса реакции и материала продукта реакции - токены для этого выглядят следующим образом:


   [REACTION_CLASS:FAT]
   [REACTION_CLASS:FAT]
   [HAS_MATERIAL_REACTION_PRODUCT:RENDER_MAT]
   [HAS_MATERIAL_REACTION_PRODUCT:RENDER_MAT]


Reaction classes represent different classes of material — basically, the material of the reagent must have a REACTION_CLASS the same as the one in the reaction.
=== REACTION_CLASS ===


Material reaction products are similar, but are generally used more for things like different kinds of creature materials than universal materials like stone.  This token is how skin can be tanned into leather, which are two separate materials — the skin material has leather as a MATERIAL_REACTION_PRODUCT.
Классы реакций позволяют создать различные классы материалов - проще говоря, они позволяют требовать реагенты с материалами у которых REACTION_CLASS такой же, как и у реакции.


In short, they require the material to have a token such as
* У материала должен быть прописан токен [REACTION_CLASS:FLUX]
* В реакции у реагента надо прописать дополнительный токен [REACTION_CLASS:FLUX]
 
В этом случае в качестве реагента подойдут только те предметы, у материала которых есть токен REACTION_CLASS со значением FLUX.
 
=== HAS_MATERIAL_REACTION_PRODUCT ===
 
Материал продукта реакции действует похожим образом, но предназначен для использования совместно с материалами существ, а не с универсальными материалами, наподобие камней. При помощи этого токена можно, например, описать, как {{ttr|кожа|skin}} превращается в {{tt|leather|выделанную кожу}}, которые состоят, вообще говоря, из разных материалов - в этом случае материал {{ttr|skin|кожа}} содержит указание на материал {{tt|выделанная кожа|leather}} в токене MATERIAL_REACTION_PRODUCT.
 
Короче, для этого требуется, чтобы материал имел токен следующего вида
   [MATERIAL_REACTION_PRODUCT:X:Y]
   [MATERIAL_REACTION_PRODUCT:X:Y]
...where X is the name of the reaction product that will be referred to in the reaction (RENDER_MAT, in the reaction class example, or TAN_MAT for leather) and Y is a [[material token]] indicating the material of the desired product (such as LOCAL_CREATURE_MAT:LEATHER]).
где X имя продукта реакции, который требуется для реакции (в примере выше это RENDER_MAT, а в случае с кожей, это TAN_MAT), а Y [[material token|токен материала]] с указанием материала целевого продукта (например [LOCAL_CREATURE_MAT:LEATHER]).
 
* У материала должен быть прописан токен [MATERIAL_REACTION_PRODUCT:RENDER_MAT:LOCAL_CREATURE_MAT:TALLOW]
* В реакции у реагента надо прописать дополнительный токен [HAS_MATERIAL_REACTION_PRODUCT:RENDER_MAT]
* В реакции у продукта надо указать материал продукта GET_MATERIAL_FROM_REAGENT:A:RENDER_MAT
 
В этом случае продукт получит материал не самого реагента, а тот материал, который указан в материала реагента (например сало вместо исходного жира).


==Реакции и генерация мира==
== Реакции и генерация мира ==


There are several things to keep in mind when you're adding reactions to a game that already exists.
Есть несколько моментов, которые следует иметь ввиду, когда вы пытаетесь добавить реакции в уже созданную игру:


* Most entity changes require a regen, but adding PERMITTED_REACTION tokens for reactions that existed at the time of world generation to the entity file in the save directory do not.
* Большинство изменений, затрагивающий entity-файл требуют генерации нового мира, однако этого можно не делать, если вы добавляете токен PERMITTED_REACTION для реакции, которая УЖЕ существовала на момент генерации мира (достаточно изменить файл в папке с сохранённой игрой).
* Adding reactions to the raws in a save directory requires you to regen the world.
* Добавление новой реакции в папку с сохранённой игрой потребует генерации нового мира.
* You can alter an existing reaction in any way you like without regenning the world, so long as you don't alter the reaction identifier.
* Сами реакции вы можете редактировать сколько угодно без перегенерации мира ровно до тех пор, пока не изменяются идентификаторы реакций.


==Полный список токенов==
==Полный список токенов==
For the sake of convenience and readability this is a complete compilation of the previously listed reaction tokens in alphabetical order
 
Для полного удобства и читабельности представлена полная таблица токенов реакций в алфавитном порядке:


{| {{prettytable}}
{| {{prettytable}}
Строка 359: Строка 377:
| ADVENTURE_MODE_ENABLED
| ADVENTURE_MODE_ENABLED
|
|
| this version of the reaction is not used by dwarves at home in a fortress, but rather the wanderers of Adventure Mode. When using this token, it will be allowed for adventurers of any race, without editing Entity files
| Эта реакция не будет доступна дварфам, но ей можно воспользоваться в [[Adventure mode|режиме приключенца]]. Использование этого токена разрешает рецепт приключенцам всех рас, если не изменять [[Entity token|Entity файлы]].


|-
|-
| ANY_BONE_MATERIAL
| ANY_BONE_MATERIAL
|
|
| Reagent material must have the [BONE] token.
| Материал реагента обязан иметь токен [BONE] (т.е. реагент должен быть [[Bone|костью]]).


|-
|-
| ANY_HORN_MATERIAL
| ANY_HORN_MATERIAL
|
|
| Reagent material must have the [HORN] token.
| Материал реагента обязан иметь токен [HORN] (т.е. реагент должен быть [[Horn|рогом или копытом]]).


|-
|-
| ANY_LEATHER_MATERIAL
| ANY_LEATHER_MATERIAL
|
|
| Reagent material must have the [LEATHER] token.
| Материал реагента обязан иметь токен [LEATHER] (т.е. реагент должен быть [[Leather|кожей]]).


|-
|-
| ANY_PEARL_MATERIAL
| ANY_PEARL_MATERIAL
|
|
| Reagent material must have the [PEARL] token.
| Материал реагента обязан иметь токен [PEARL] (т.е реагент должен быть [[Pearl|жемчугом]]).


|-
|-
| ANY_PLANT_MATERIAL  
| ANY_PLANT_MATERIAL  
|
|
| Reagent material must be subordinate to a PLANT object.
| Материл реагента должен относиться с [[List of crops|растению]].


|-
|-
| ANY_SHELL_MATERIAL
| ANY_SHELL_MATERIAL
|
|
| Reagent material must have the [SHELL] token.
| Материал реагента обязан иметь токен [SHELL] (реагент — [[Shell|панцирь]]).


|-
|-
| ANY_SILK_MATERIAL
| ANY_SILK_MATERIAL
|
|
| Reagent material must have the [SILK] token.
| Материал реагента обязан иметь токен [SILK] (реагент — [[Silk|Шёлк]]).


|-
|-
| ANY_SOAP_MATERIAL
| ANY_SOAP_MATERIAL
|
|
| Reagent material must have the [SOAP] token.
| Материал реагента обязан иметь токен [SOAP] ([[Soap|мыло]]).


|-
|-
| ANY_STRAND_TISSUE
| ANY_STRAND_TISSUE
|
|
| Reagent is made of a tissue having [TISSUE_SHAPE:STRANDS], intended for matching hair and wool. Must be used with [USE_BODY_COMPONENT].
| Реагент сделан из ткани, содержащей токен [TISSUE_SHAPE:STRANDS], предназначенные для волос или [[Wool|шерсти]] (и [[Борода|бороды]]{{verify}}). Должен использоваться вместе с токеном [USE_BODY_COMPONENT].


|-
|-
| ANY_TOOTH_MATERIAL
| ANY_TOOTH_MATERIAL
|
|
| Reagent material must have the [TOOTH] token.
| Материал реагента обязан иметь токен [TOOTH].


|-
|-
| ANY_YARN_MATERIAL  
| ANY_YARN_MATERIAL  
|
|
| Reagent material must have the [YARN] token.
| Материал реагента обязан иметь токен [YARN] ([[Yarn|шерсть]].


|-
|-
| AUTOMATIC
| AUTOMATIC
|
|
| the reaction will be queued automatically if the reaction reagents are all present.
| Реакция автоматически встанет в очередь, если все реагенты доступны.


|-
|-
| BAG
| BAG
|
|
| Reagent has to be a bag. Intended to be used with an item type of BOX, to prevent chests, coffers, and other containers from being used instead.
| Реагент должен быть мешком. Предназначен для использования с предметом типа BOX, чтобы предотвратить использование сундуков или подобных [[Container|контейнеров]] вместо них.


|-
|-
| BUILDING
| BUILDING
|  
|  
* Building name
* Название постройки
* in-building reaction hotkey
* Горячая клавиша для этой реакции
| Sets the building that the reaction will be performed in, and the button used to queue the reaction once that building's menu is accessed in-game
| Задаёт, что реакция будет проходить в определённой [[Building|постройке]] и горячую клавишу для добавления этой реакции в очередь.


|-
|-
| BUILDMAT
| BUILDMAT
|
|
| Reagent is able to be used to build structures (Stone, Wood, Blocks, Bars?).
| Реагент может быть использован для строительства ([[Stone|камень]], [[Wood|древесина]], [[Blocks|блоки]], [[Bars|слитки]]{{verify}}).


|-
|-
| CAN_USE_ARTIFACT
| CAN_USE_ARTIFACT
|
|
| Reagent can be an Artifact.  Using [PRESERVE_REAGENT] with this is strongly advised.
| Реагент может быть [[Artifact|артефактом]]Использование [PRESERVE_REAGENT] вместе с этим токеном настоятельно рекомендуется.


|-
|-
| CONTAINS
| CONTAINS
| required content
| Требуемое содержимое
| Reagent is a container that holds the specified reagent.
| Реагент-контейнер должен содержать определённый реагент в себе.


|-
|-
| CONTAINS_LYE
| CONTAINS_LYE
|
|
| If the reagent is a container, it must contain LYE. No longer used instead, use one reagent for the LYE itself and another reagent with [CONTAINS:lye_reagent].
| Если реагент — контейнер, он должен содержать [[Lye|щёлок]]. В текущих версиях не используется вместо этого используется один ингредиент как щёлок и второй с токеном [CONTAINS:lye_reagent].


|-
|-
| DOES_NOT_ABSORB
| DOES_NOT_ABSORB
|
|
| Reagent material must have [ABSORPTION:0]
| Материал реагента должен иметь токен [ABSORPTION:0]


|-
|-
| DOES_NOT_DETERMINE_PRODUCT_AMOUNT
| DOES_NOT_DETERMINE_PRODUCT_AMOUNT
|
|
| Setting this dis-allows the quantity of a reagent (probably first in the list) to determine the output quantity. Used where the input is a stack, e.g. liquids in a barrel.
| Устанавливает количество продуктов реакции, исходя из количества реагентов (возможно, первого в списке{{verify}}). Используется для реакций, где продукты производятся по нескольку сразу, как жидкости в бочках.


|-
|-
| EMPTY
| EMPTY
|
|
| If the reagent is a container, it must be empty.
| Если реагент — контейнер, то он должен быть пустым.


|-
|-
| FIRE_BUILD_SAFE
| FIRE_BUILD_SAFE
|
|
| Reagent must be considered fire safe ie. not wood, and not coal.
| Реагент должен быть устойчив к огню т.е. не [[Wood|древесина]] и не [[Coal|уголь]]


|-
|-
| FORCE_EDGE
| FORCE_EDGE
|
|
| Product is given a sharp edge. Used for knapping.
| Продукт становится заточенным (появляются [[Edge|острые края]]). Используется для затачивания.


|-
|-
| FUEL
| FUEL
|
|
| Requires that the reaction either use up a unit of coal or charcoal or else be performed at a magma workshop
| Реакция требует единицу [[Coal|угля]] или древесного угля или должна проходить в магма-мастерской.


|-
|-
| GLASS_MATERIAL
| GLASS_MATERIAL
|
|
| Reagent material has [IS_GLASS].
| Материал реагента должен иметь токен [IS_GLASS] ([[Glass|стекло]]).


|-
|-
| HAS_MATERIAL_REACTION_PRODUCT
| HAS_MATERIAL_REACTION_PRODUCT
| required reaction product
| Требуемый продукт реакции
|  
| ?


|-
|-
| HAS_TOOL_USE
| HAS_TOOL_USE
| Tool-use token
| Tool-use token
| Reagent must be a [[tool]] with the specific TOOL_USE value. The reagent's item type must be TOOL:NONE for this to make any sense.
| Реагент должен быть [[Tool|инструментом]] с определённым значением TOOL_USE. Если поставить необходимость в реагенте с токеном TOOL:NONE не даст результата{{verify}}.


|-
|-
| IMPROVEMENT
| IMPROVEMENT
|
|
* Probability
* Вероятность
* Reagent Name
* Название реагента
* Improvement type
* Тип украшения
* Material Token
* Токен материала
| Improvement types include BANDS, COVERED, GLAZED, RINGS_HANGING, and SPIKES
| Типы украшения включают BANDS, COVERED, GLAZED, RINGS_HANGING и SPIKES.


|-
|-
| MAGMA_BUILD_SAFE
| MAGMA_BUILD_SAFE
|
|
| Currently broken behaves exactly the same as FIRE_BUILD_SAFE.
| В настоящее время работает некорректно имеет тот же эффект, что и FIRE_BUILD_SAFE.


|-
|-
| METAL_ORE
| METAL_ORE
|
|
* Inorganic material
* Металл
| Reagent material must be an ore of the specified metal
| Материал реагента должен быть рудой, содержащей определённый металл.


|-
|-
Строка 525: Строка 543:
|-
|-
| NAME
| NAME
| name
| Название
| defines the name used by the reaction in-game
| Устанавливает название для реакции, отображаемое в игре.


|-
|-
| NO_EDGE_ALLOWED
| NO_EDGE_ALLOWED
|
|
| Reagent must not be sharpened (used for knapping).
| Реагент не должен иметь острых краёв (используется для заточки).


|-
|-
| NOT_CONTAIN_BARREL_ITEM
| NOT_CONTAIN_BARREL_ITEM
|
|
| If the reagent is a Barrel, it must not contain an item that has to reside in a barrel. Barrel items appear to be lye and milk. Alcohol appears to be covered as part of [EMPTY]. A reaction which places an item in a barrel should probably have both tags.
| Если реагент — [[Barrel|бочка]], она должна быть пустой. В бочках обычно хранится [[Milk|молоко]] или [[Lye|щёлок]]. Алкоголь считается как [EMPTY]{{verify}}. Реакции, в которых предмет кладётся в бочку, должны содержать оба тега.


|-
|-
| NOT_ENGRAVED
| NOT_ENGRAVED
|
|
| Reagent must not be engraved?
| Реагент не должен быть гравирован{{verify}}.


|-
|-
| NOT_IMPROVED
| NOT_IMPROVED
|
|
| Reagent has not been decorated.
| Реагент не должен быть украшен.


|-
|-
| NOT_PRESSED
| NOT_PRESSED
|
|
| Reagent must not be in the SOLID_PRESSED state.
| Реагент не должен быть в состоянии SOLID_PRESSED.


|-
|-
| NOT_WEB
| NOT_WEB
|
|
| Reagent must be "collected" — used with THREAD:NONE to exclude webs.
| Реагент должен быть "собран" — используется вместе с THREAD:NONE чтобы исключить [[Web|паутину]].


|-
|-
| POTASHABLE
| POTASHABLE
|
|
| Alias for CONTAINS_LYE.
| То же, что CONTAINS_LYE{{verify}}.


|-
|-
| PRESERVE_REAGENT
| PRESERVE_REAGENT
|
|
| Reagent is not destroyed, which is the normal effect, at the completion of the reaction. Typically used for containers.
| Реагент не будет уничтожен по завершению реакции, это нормальный эффект. Обычно используется для контейнеров.


|-
|-
| PRODUCT
| PRODUCT
|
|
*Probability
*Веройтность
*Quantity
*Количество
*Item Token
*Токен предмета
*Material Token
*Токен материала
| Defines one of the products to be outputted by the reaction
| Определяет один из продуктов, получаемых в результате реакции.


|-
|-
| PRODUCT_DIMENSION
| PRODUCT_DIMENSION
| size
| Размер
| Specifies the size of the product. A size of 150 is typical for BAR, POWDER_MISC, LIQUID_MISC, and DRINK. A size of 15000 is typical for THREAD, and a size of 10000 is typical for CLOTH.
| Указывает размер продукта. Размер 150 типичен для [[Bar|слитков]], порошков, жидкостей, и [[Alcohol|напитков]]. Размером 15000 обладают [[Thread|нитей]], а размер 10000 годится для [[Cloth|одежды]].


|-
|-
| PRODUCT_PASTE
| PRODUCT_PASTE
|
|
| Product is created in the SOLID_PASTE state.
| Продукт создаётся в состоянии SOLID_PASTE.


|-
|-
| PRODUCT_PRESSED
| PRODUCT_PRESSED
|
|
| Product is created in the SOLID_PRESSED state.
| Продукт создаётся в состоянии SOLID_PRESSED.


|-
|-
| PRODUCT_TO_CONTAINER
| PRODUCT_TO_CONTAINER
| Reagent ID
| ID реагента
| Places the product in a container; <id> must be the name of a reagent with the PRESERVE_REAGENT token and a container item type.
| Помещает продукт В контейнер; ID должен быть названием реагента с токеном PRESERVE_REAGENT и типом предмета "контейнер".


|-
|-
| REACTION
| REACTION
| Identifier
| Идентификатор
| defines a new reaction
| Задаёт новую реакцию


|-
|-
| REACTION_CLASS
| REACTION_CLASS
|
|
|  
| ?


|-
|-
|REAGENT
|REAGENT
|
|
* name/id
* Название/ID
* quantity
* Количество
* item token (and subtoken)
* [[Item token|токен предмета]] (и подтокен)
* material token (and subtoken)
* [[Material token|токен материала]] (и подтокен)
| Requires a given reagent as an input for a reaction
| Задаёт реагент для реакции.


|-
|-
| SKILL
| SKILL
| Skill Token
| Токен навыка
| Skill used by the reaction
| [[Навыки|Навык]], используемый для проведения реакции.


|-
|-
| UNROTTEN
| UNROTTEN
|
|
| Reagent must not be rotten, mainly for organic materials.
| Реагент не должен быть гнилым. Используется для органических материалов.


|-
|-
| USE_BODY_COMPONENT
| USE_BODY_COMPONENT
|
|
| Reagent material must come off a creature's body.
| Реагент должен быть частью тела существа.


|-
|-
| WEB_ONLY
| WEB_ONLY
|
|
| Reagent must be "undisturbed" — used with THREAD:NONE to gather webs.
| Реагент должен быть "undisturbed" — используется вместе с THREAD:NONE для обозначения паутины.


|-
|-
| WORTHLESS_STONE_ONLY
| WORTHLESS_STONE_ONLY
|
|
| Reagent is not made of an economic stone.
| Реагент не сделан из экономического камня.


|}
|}

Текущая версия от 23:06, 11 февраля 2022

Реакции — модульные, редактируемые формулы (рецепты), расходующие конкретные ингредиенты, или реагенты, и использующие их для получения желаемого предмета. Многие реакции жёстко закодированы — строительство кроватей или создание стекла, например, — но некоторые из них свободно редактируются, и очень просто добавить дополнительные реакции.

Renewal-icon.png Данная статья устарела по строению и/или содержанию. Постарайтесь привести её к актуальному виду.

Различия реакций между режимами

В Режиме Крепости, реакции всегда задаются для конкретных строений, а так же обязательно должны быть упомянуты в entity-файле описания Цивилизации, для того, чтобы они могли быть использованы данной цивилизацией. Это полезно иметь ввиду, если вы захотите ограничить использование новых предметов и/или материалов (разрешить использовать только древесину, металлы и т.п.) какими-либо цивилизациями -- вы сможете, например, дать возможность вашей новой цивилизации производить звёздный металл и тому подобное, что будет доступно только ей.

В Режиме Приключения, реакции свободно доступны к применению для любого героя через комбинацию X - Create. Реагенты для реакции должны находиться в руках или лежать под ногами, но не могут быть использованы, если находятся в рюкзаке или колчане. В версии 0.31.10 у реакций в Режиме Приключения существует несколько ошибок, главная из которых заключается в том, что вы не можете использовать жидкие реагенты.

До версии 31.10 результатом реакции мог стать предмет с базовым уровнем качества. Однако, уже в .10 версии у предметов созданных в результате реакций обнаружены модификаторы качества. На определение качества предмета влияет стандартный механизм уровня используемого навыка точно таким же образом, как и для обычных предметов v0.31.21.

Анатомия реакции

Реакции должны находится в файлах с названием вида reaction_x (например reaction_smelter или reaction_other). Вообще говоря, все реакции имеют следующее строение:

  [REACTION:<identifier>]
     [NAME:<name>]
     [BUILDING:<BUILDING NAME>:<BUILDING KEY>]
     [REAGENT:A:150:BAR:NONE:POTASH:NONE]
     [PRODUCT:100:1:BAR:NONE:PEARLASH:NONE][PRODUCT_DIMENSION:150]
     [FUEL] 
     [SKILL:<SKILL TOKEN>]
     [AUTOMATIC]
     [ADVENTURE_MODE_ENABLED]
  • identifier: Внутренний идентификатор реакции.
  • name: Название реакции, которое отображается в Режиме Крепости или Режиме Приключения.
  • building: Внутренний идентификатор постройки и горячая комбинация клавиш для её выбора (имеет смысл только для Режима Крепости).
  • ...reagents...: Ноль или более реагентов (ингредиентов), которые необходимо собрать, прежде чем реакция станет возможной.
  • ...products...: Ноль или более продуктов, которые возникают в результате реакции.
  • fuel: (не обязательно) Если присутствует, то реакция требует уголь, кокс или мастерскую, работающую на магме.
  • skill: (не обязательно) Навык, который необходим для реакции и тренируется в её ходе.
  • automatic: (не обязательно) Если присутствует, то реакция стартует автоматически, как только выполнены все требования для её проведения.
  • adventure mode: (не обязательно) Если присутствует, то реакция становится доступной герою в Режиме Приключения.

Идентификатор реакции

Идентификатор реакции может быть любым, главное, чтобы он не совпадал с другими идентификаторами в raw файлах. Хорошим тоном является использование в идентификаторах ваших реакций однотипные приставки или окончания, образованные от названия вашего мода, чтобы гарантировать что никто более не создаст реакцию с таким же идентификатором и тем самым не сломает игру запустив свой мод совместно с вашим.

Название реакции

Может быть вообще каким угодно и обычно используется, чтобы описать реакцию. Tan a hide, к примеру, название встроенной реакции для производства кож. Название реакции желательно описывать короткой фразой, начинающейся с заглавной буквы, чтобы соответствовать названиям уже встроенных реакций.

Постройка

   [BUILDING:<BUILDING NAME>:<BUILDING KEY>]
  • name: Внутренний идентификатор строений, в меню которого будет доступна реакция.
  • key: Комбинация горячих клавиш для выбора реакции.

Вместо BUILDING NAME подставляется имя строения, в котором будет доступна реакция, а далее указывается горячая комбинация клавиш для добавления этой реакции в очередь заданий строения. Если две и более реакций имеют одинаковую комбинацию клавиш, то одной из них назначается другая клавиша (первая доступная в алфавитном порядке).

Допустимы следующие имена строений: KILN, SMELTER, TANNER, KITCHEN, QUERN, MILLSTONE, STILL, CRAFTSMAN, и все остальные мастерские.

Реагенты

Раздел REAGENT устроен немного сложнее. Это ингредиенты, которые используются в реакции. Их можно задать столько, сколько хотите.

   [REAGENT:<name>:<quantity>:<item token>:<material token>][...modifiers...]
  • name: Название реагента, используемого в реакции.
  • quantity: Количество реагента, необходимое для реакции.
  • item token: Требуемый тип предмета у реагента.
  • material token: Требуемый материал, из которого должен быть изготовлен реагент.
  • ...modifiers...: Ноль или более маркеров, которые уточняют какие реагенты допустимы, когда простого указания типа предмета и материала для данного реагента не достаточно.


Название

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

В большинстве реакций реагенты называются просто как A, B и так далее. Хотя имена вида TOOLSTONE или FLUX тоже будут замечательно работать. В самой реакции есть раздел PRODUCT, который может ссылаться на реагенты по их имени — например, если контейнер B указан как реагент, то продукт может содержать тег PRODUCT_TO_CONTAINER:B, который указывает, что данный продукт надо поместить в контейнер B.

Количество

Количество у разных типов предметов измеряется в разных единицах. Проще говоря, ткани, нити, порошки и глобулы измеряются в единицах, где один пункт представляет собой достаточно мелкую величину, а все остальное измеряется в статических величинах (в штуках и т.п.). Например REAGENT:A:10:THREAD:NONE:NONE:NONE описывает просто крошечную порцию произвольной нити, а REAGENT:A:10:TOY:NONE:NONE:NONE описывает десять штук разных игрушек.

Иногда количество получаемого на выходе из реакции продукта напрямую зависит от количества используемых реагентов; похоже, что количество продукта вычисляется по формуле 150 / количество реагента (с округлением вниз). Т.е. если у вас количество реагента равно 3, то вы получите 50 единиц продукта, а если количество реагента 4, то вы получите 37 единиц продукта (150/4=37.5) [Тут неплохо было бы привести список типов предметов, для которых работает это правило, слитки например и т.п.]

Токен предмета

Токен предмета состоит из двух частей ITEM_TYPE:ITEM_SUBTYPE.

Тип предмета это просто указание разновидности предмета, которая вам необходима; WEAPON, TOY или SKIN_TANNED к примеру. Если нужна более детальная информация по типам, то её можно посмотреть в полном списке предметов.

В реагентах, кроме этих типов, допустимо так же указывать ANY_RAW_MATERIAL:NONE (разрешается использовать все виды порошков, слитков, камней или глобулТребует проверки) или ANY_CRAFT:NONE (разрешается использовать фигурки, амулеты, скипетры, короны, кольца, серьги или браслеты)

Подтип предмета позволяет уточнить, какой именно предмет вас интересует. Например ITEM_WEAPON_SPEAR или ITEM_TOY_PUZZLEBOX. Некоторые предметы, например колчаны, рюкзаки или куски камня и металла требуют задания только типа предмета. В этом случае в подтипе предмета надо писать NONE. Сами подтипы описаны в raw-файлах и их точные названия можно уточнить, глядя на содержимое этих файлов.

Для обратной совместимости в типе/подтипе предмета реагента разрешается указывать "METAL_ORE:metal_id", что разом задаёт и тип и материал реагента — такая запись эквивалентна более современной записи BOULDER:NONE:NONE:NONE с модификатором [METAL_ORE:metal_id] (более подробно об этом смотри ниже).

Токен материала

Токен материала может задаваться несколькими способами - здесь можно посмотреть на полный список. Для реагентов, как правило, используется INORGANIC:MATERIAL_ID, а для продуктов реакции GET_MATERIAL_FROM_REAGENT:REAGENT_ID:REACTION_PRODUCT_ID.

Модификаторы

Реагенты могут содержать достаточно много различных дополнительных токенов, которые должны располагаться сразу после тега REAGENT.

Ниже перечислены все модификаторы для реагентов:

Токен Описание
[REACTION_CLASS:X] Рассматривается в секции анатомия реакции ниже.
[HAS_MATERIAL_REACTION_PRODUCT:X] Рассматривается в секции анатомия реакции ниже.
[CONTAINS:X] Реагент является контейнером, содержащим другой реагент. Здесь X - имя реагента, заданное в описании реакции.
[UNROTTEN] Реагент не должен быть гнилым (касается органических материалов).
[CONTAINS_LYE] Если реагент является контейнером, то он должен содержать щёлок. Этот модификатор устарел и больше не используется - вместо этого добавьте два реагента, один из которых щёлок, а второй контейнер с токеном [CONTAINS:lye_reagent].
[POTASHABLE] Синоним для [CONTAINS_LYE].
[NOT_WEB] Реагент, который должен быть в наличии (позволяет исключить шёлковые нити, получаемые из паутины).
[WEB_ONLY] Реагент, который не надо заранее готовить (отличительная черта для шёлковых нитей из паутины).
[EMPTY] Если реагент контейнер, то он должен быть пустым.
[NOT_CONTAIN_BARREL_ITEM] Если реагент - бочка, то он не должен содержать ничего, что обычно в них хранится. Этот тег касается, видимо, щёлока и молока. Чтобы в бочке отсутствовал алкоголь, нужен тег [EMPTY]. Если вам нужно что-то в бочку поместить, то, похоже, должны быть указаны оба тега.
[BAG] Реагент должен быть мешком из ткани или кожи. Этот тег предназначен для использования совместно с тегом BOX:NONE, чтобы исключить сундуки и прочие контейнеры.
[GLASS_MATERIAL] Материал реагента должен содержать токен [IS_GLASS]. Во все три стандартных вида стекла этот токен зашит намертво.
[BUILDMAT] Реагент является строительным материалом (Камень, Дерево, Блоки, Слитки?).
[FIRE_BUILD_SAFE] У материала, из которого состоит реагент, тег IGNITE_POINT имеет значение "NONE".
[MAGMA_BUILD_SAFE] Реагент должен быть магмоустойчив. На данным момент забаговано и работает точно так же, как [FIRE_BUILD_SAFE].
[CAN_USE_ARTIFACT] Реагент может быть артефактом. Крайне настоятельно рекомендуется использовать совместно с тегом [PRESERVE_REAGENT].
[WORTHLESS_STONE_ONLY] Материал, из которого изготовлен реагент должен считаться не экономически значимым (т.е. неценные руды и т.п.).
[ANY_PLANT_MATERIAL] Материал реагента относится к растительным материалам.
[ANY_SILK_MATERIAL] Материал реагента должен содержать токен [SILK].
[ANY_YARN_MATERIAL] Материал реагента должен содержать токен [YARN].
[ANY_SOAP_MATERIAL] Материал реагента должен содержать токен [SOAP].
[ANY_LEATHER_MATERIAL] Материал реагента должен содержать токен [LEATHER].
[ANY_BONE_MATERIAL] Материал реагента должен содержать токен [BONE].
[ANY_STRAND_TISSUE] Реагент состоит из слоя с тегом [TISSUE_SHAPE:STRANDS], определяющим волосяной и шерстяной покровы. Этот тег нужно использовать совместно с тегом [USE_BODY_COMPONENT].
[ANY_SHELL_MATERIAL] Материал реагента должен содержать токен [SHELL].
[ANY_TOOTH_MATERIAL] Материал реагента должен содержать токен [TOOTH].
[ANY_HORN_MATERIAL] Материал реагента должен содержать токен [HORN].
[ANY_PEARL_MATERIAL] Материал реагента должен содержать токен [PEARL].
[USE_BODY_COMPONENT] Реагент должен являться частью тела
[NO_EDGE_ALLOWED] У реагента не должно быть острых кромок (используется для заточки).
[NOT_ENGRAVED] ? (возможно используется для надгробных плит?)
[NOT_IMPROVED] Реагент не должен иметь декорирования.
[DOES_NOT_ABSORB] Материал реагента должен содержать тег [ABSORPTION:0]
[FOOD_STORAGE_CONTAINER] Реагент либо бочка, либо инструмент с тегом FOOD_STORAGE.
[HARD_ITEM_MATERIAL] Материал реагента должен содержать токен [ITEMS_HARD].Требует проверки
[NOT_PRESSED] Реагент не должен находится в состоянии SOLID_PRESSED.
[METAL_ORE:X] реагент должен представлять собой руду металла с определённым идентификатором.
[MIN_DIMENSION:X] ?
[HAS_TOOL_USE:X] Реагент должен быть инструментом с указанным значением у тега TOOL_USE. В это случае тип предмета у реагента должен иметь значение TOOL:NONE, данный маркер работал.
[PRESERVE_REAGENT] Реагент по окончанию реакции не разрушается, в отличие от стандартного поведения. Обычно используется для контейнеров.
[DOES_NOT_DETERMINE_PRODUCT_AMOUNT] Не учитывать массу реагента при вычислении итогового продукта. Полезно при превращении слитков в другие предметы.

Вообще говоря, если вы где-либо у реагента напишите NONE, то реакция не будет делать различия между предметами по этому критерию. Например, если у реагента BOULDER указать материал, как NONE:NONE, то это позволит использовать в реакции всевозможные доступные камни вне зависимости от того, из какого материала они сделаны.

Продукция

Продукция это результат соответствующей ей реакции. В процессе реакции можно создать столько продуктов, сколько вам надо.

Продукты описываются практически точно так же, как и реагенты, за исключением того, что для них не надо придумывать внутреннее имя и не надо задавать количество для определения размера/количества продукта. Однако, можно указать дополнительный токен PRODUCT_DIMENSION:X, сразу после описания самого продукта, для указания конкретного количества продукции, которое вы хотите получить.

Продукт можно поместить в контейнер при помощи токена [PRODUCT_TO_CONTAINER:<IDENTIFIER>] где IDENTIFIER - внутренне имя реагента-контейнера. Такой реагент необходимо пометить токеном PRESERVE_REAGENT.

С учётом этих отличий, в итоге, получаем следующий вид описания продукта:

  [PRODUCT:<probability>:<quantity>:<item token>:<material token>][...modifiers...][PRODUCT_DIMENSION:X][PRODUCT_TO_CONTAINER:<IDENTIFIER>]

Вероятность

Шанс получения продукции в процентах по окончании реакции.

Количество

Определяет как много продукции будет произведено.

Токен предмета

Это тип и подтип предмета, который вы создаёте в результате реакции.

Продукты реакции могут так же использовать сочетание CRAFTS:NONE для создания случайной поделки. Нигде более такое сочетание использовать нельзя.

Токен материала

Токен material token указывает на материал, из которого будет изготовлен продукт.

Модификаторы продукта

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

Токен Описание
[FORCE_EDGE] Продукт обладает острыми кромками. Используется при заточке.
[PRODUCT_PASTE] Созданный продукт получает состояние SOLID_PASTE.
[PRODUCT_PRESSED] Созданный продукт получает состояние SOLID_PRESSED.
[PRODUCT_DIMENSION:<size>] Задает размер полученного продукта. Размер 150 является типичным для слитков, порошков, жидкостей и выпивки. Размер 15000 применяется для нитей и 10000 для тканей.
[PRODUCT_TO_CONTAINER:<id>] Помещает продукт в контейнер; здесь <id> должно быть именем реагента с модификатором PRESERVE_REAGENT, который к тому же является контейнером.

Улучшения

Улучшения применяются к существующим реагентам. В реакции может быть прописано сколько угодно улучшений.

Само улучшение имеет следующий вид:

  [IMPROVEMENT:<probability>:<reagent name>:<improvement type>:<material token>]

Вероятность

Процент вероятности того, что данное улучшение будет применено к реагенту по окончанию реакции.

Название реагента

Имя реагента, который подлежит улучшению. Очевидно, что такой реагент должен быть помечен тегом [PRESERVE_REAGENT], чтобы защитить реагент от уничтожения в ходе реакции.

Тип улучшения

Допускаются следующие виды улучшений:

Токен Описание
COVERED Предмет будет инкрустирован/усеян/декорирован соответствующим <material>.
GLAZED Предмет покрыт соответствующим <material>.
RINGS_HANGING Украшен висящими кольцами из <material>.
BANDS Покрыт полосами из <material>.
SPIKES Усеян шипами из <material>.

Все остальные виды улучшений (ART_IMAGE, ITEMSPECIFIC, THREAD, CLOTH и SEWN_IMAGE) игнорируются.

Токен материала

Токен материала указывает на материал, из которого создаётся украшение.

Другие токены

fuel

Наличие токена FUEL указывает на то, что для проведения реакции дополнительно требуется каменный уголь или древесный уголь. Если реакция приписана Печи или Плавильне, то она может быть выполнена БЕЗ требования топлива в Magma Kiln или Magma Smelter.

skill

Токен SKILL указывает, какой навык необходим для проведения реакции. В этом случае осуществление реакции будет тренировать этот навык. Можно указать несколько навыков, но применяться будет только один.

automatic

Токен AUTOMATIC означает, что операция будет добавлена в очередь мастерской автоматически, как только станут доступны все необходимые реагенты.

adventure mode enabled

Токен ADVENTURE_MODE_ENABLED говорит, что данная реакция будет доступна не в Режиме Крепости, а в Режиме Приключения. Этот токен сделает данную реакцию доступной для любого героя, любой расы без какого-либо редактирования entity-файла.

Материал продуктов реакции и классы реакций

Вы можете получить более тонкий контроль над применяемыми материалами при помощи указания класса реакции и материала продукта реакции - токены для этого выглядят следующим образом:

  [REACTION_CLASS:FAT]
  [HAS_MATERIAL_REACTION_PRODUCT:RENDER_MAT]

REACTION_CLASS

Классы реакций позволяют создать различные классы материалов - проще говоря, они позволяют требовать реагенты с материалами у которых REACTION_CLASS такой же, как и у реакции.

  • У материала должен быть прописан токен [REACTION_CLASS:FLUX]
  • В реакции у реагента надо прописать дополнительный токен [REACTION_CLASS:FLUX]

В этом случае в качестве реагента подойдут только те предметы, у материала которых есть токен REACTION_CLASS со значением FLUX.

HAS_MATERIAL_REACTION_PRODUCT

Материал продукта реакции действует похожим образом, но предназначен для использования совместно с материалами существ, а не с универсальными материалами, наподобие камней. При помощи этого токена можно, например, описать, как skin превращается в leather, которые состоят, вообще говоря, из разных материалов - в этом случае материал кожа содержит указание на материал выделанная кожа в токене MATERIAL_REACTION_PRODUCT.

Короче, для этого требуется, чтобы материал имел токен следующего вида

  [MATERIAL_REACTION_PRODUCT:X:Y]

где X имя продукта реакции, который требуется для реакции (в примере выше это RENDER_MAT, а в случае с кожей, это TAN_MAT), а Y токен материала с указанием материала целевого продукта (например [LOCAL_CREATURE_MAT:LEATHER]).

  • У материала должен быть прописан токен [MATERIAL_REACTION_PRODUCT:RENDER_MAT:LOCAL_CREATURE_MAT:TALLOW]
  • В реакции у реагента надо прописать дополнительный токен [HAS_MATERIAL_REACTION_PRODUCT:RENDER_MAT]
  • В реакции у продукта надо указать материал продукта GET_MATERIAL_FROM_REAGENT:A:RENDER_MAT

В этом случае продукт получит материал не самого реагента, а тот материал, который указан в материала реагента (например сало вместо исходного жира).

Реакции и генерация мира

Есть несколько моментов, которые следует иметь ввиду, когда вы пытаетесь добавить реакции в уже созданную игру:

  • Большинство изменений, затрагивающий entity-файл требуют генерации нового мира, однако этого можно не делать, если вы добавляете токен PERMITTED_REACTION для реакции, которая УЖЕ существовала на момент генерации мира (достаточно изменить файл в папке с сохранённой игрой).
  • Добавление новой реакции в папку с сохранённой игрой потребует генерации нового мира.
  • Сами реакции вы можете редактировать сколько угодно без перегенерации мира ровно до тех пор, пока не изменяются идентификаторы реакций.

Полный список токенов

Для полного удобства и читабельности представлена полная таблица токенов реакций в алфавитном порядке:

Token Arguments Description
ADVENTURE_MODE_ENABLED Эта реакция не будет доступна дварфам, но ей можно воспользоваться в режиме приключенца. Использование этого токена разрешает рецепт приключенцам всех рас, если не изменять Entity файлы.
ANY_BONE_MATERIAL Материал реагента обязан иметь токен [BONE] (т.е. реагент должен быть костью).
ANY_HORN_MATERIAL Материал реагента обязан иметь токен [HORN] (т.е. реагент должен быть рогом или копытом).
ANY_LEATHER_MATERIAL Материал реагента обязан иметь токен [LEATHER] (т.е. реагент должен быть кожей).
ANY_PEARL_MATERIAL Материал реагента обязан иметь токен [PEARL] (т.е реагент должен быть жемчугом).
ANY_PLANT_MATERIAL Материл реагента должен относиться с растению.
ANY_SHELL_MATERIAL Материал реагента обязан иметь токен [SHELL] (реагент — панцирь).
ANY_SILK_MATERIAL Материал реагента обязан иметь токен [SILK] (реагент — Шёлк).
ANY_SOAP_MATERIAL Материал реагента обязан иметь токен [SOAP] (мыло).
ANY_STRAND_TISSUE Реагент сделан из ткани, содержащей токен [TISSUE_SHAPE:STRANDS], предназначенные для волос или шерстибородыТребует проверки). Должен использоваться вместе с токеном [USE_BODY_COMPONENT].
ANY_TOOTH_MATERIAL Материал реагента обязан иметь токен [TOOTH].
ANY_YARN_MATERIAL Материал реагента обязан иметь токен [YARN] (шерсть.
AUTOMATIC Реакция автоматически встанет в очередь, если все реагенты доступны.
BAG Реагент должен быть мешком. Предназначен для использования с предметом типа BOX, чтобы предотвратить использование сундуков или подобных контейнеров вместо них.
BUILDING
  • Название постройки
  • Горячая клавиша для этой реакции
Задаёт, что реакция будет проходить в определённой постройке и горячую клавишу для добавления этой реакции в очередь.
BUILDMAT Реагент может быть использован для строительства (камень, древесина, блоки, слиткиТребует проверки).
CAN_USE_ARTIFACT Реагент может быть артефактом. Использование [PRESERVE_REAGENT] вместе с этим токеном настоятельно рекомендуется.
CONTAINS Требуемое содержимое Реагент-контейнер должен содержать определённый реагент в себе.
CONTAINS_LYE Если реагент — контейнер, он должен содержать щёлок. В текущих версиях не используется — вместо этого используется один ингредиент как щёлок и второй с токеном [CONTAINS:lye_reagent].
DOES_NOT_ABSORB Материал реагента должен иметь токен [ABSORPTION:0]
DOES_NOT_DETERMINE_PRODUCT_AMOUNT Устанавливает количество продуктов реакции, исходя из количества реагентов (возможно, первого в спискеТребует проверки). Используется для реакций, где продукты производятся по нескольку сразу, как жидкости в бочках.
EMPTY Если реагент — контейнер, то он должен быть пустым.
FIRE_BUILD_SAFE Реагент должен быть устойчив к огню — т.е. не древесина и не уголь
FORCE_EDGE Продукт становится заточенным (появляются острые края). Используется для затачивания.
FUEL Реакция требует единицу угля или древесного угля или должна проходить в магма-мастерской.
GLASS_MATERIAL Материал реагента должен иметь токен [IS_GLASS] (стекло).
HAS_MATERIAL_REACTION_PRODUCT Требуемый продукт реакции ?
HAS_TOOL_USE Tool-use token Реагент должен быть инструментом с определённым значением TOOL_USE. Если поставить необходимость в реагенте с токеном TOOL:NONE не даст результатаТребует проверки.
IMPROVEMENT
  • Вероятность
  • Название реагента
  • Тип украшения
  • Токен материала
Типы украшения включают BANDS, COVERED, GLAZED, RINGS_HANGING и SPIKES.
MAGMA_BUILD_SAFE В настоящее время работает некорректно — имеет тот же эффект, что и FIRE_BUILD_SAFE.
METAL_ORE
  • Металл
Материал реагента должен быть рудой, содержащей определённый металл.
MIN_DIMENSION ?
NAME Название Устанавливает название для реакции, отображаемое в игре.
NO_EDGE_ALLOWED Реагент не должен иметь острых краёв (используется для заточки).
NOT_CONTAIN_BARREL_ITEM Если реагент — бочка, она должна быть пустой. В бочках обычно хранится молоко или щёлок. Алкоголь считается как [EMPTY]Требует проверки. Реакции, в которых предмет кладётся в бочку, должны содержать оба тега.
NOT_ENGRAVED Реагент не должен быть гравированТребует проверки.
NOT_IMPROVED Реагент не должен быть украшен.
NOT_PRESSED Реагент не должен быть в состоянии SOLID_PRESSED.
NOT_WEB Реагент должен быть "собран" — используется вместе с THREAD:NONE чтобы исключить паутину.
POTASHABLE То же, что CONTAINS_LYEТребует проверки.
PRESERVE_REAGENT Реагент не будет уничтожен по завершению реакции, это нормальный эффект. Обычно используется для контейнеров.
PRODUCT
  • Веройтность
  • Количество
  • Токен предмета
  • Токен материала
Определяет один из продуктов, получаемых в результате реакции.
PRODUCT_DIMENSION Размер Указывает размер продукта. Размер 150 типичен для слитков, порошков, жидкостей, и напитков. Размером 15000 обладают нитей, а размер 10000 годится для одежды.
PRODUCT_PASTE Продукт создаётся в состоянии SOLID_PASTE.
PRODUCT_PRESSED Продукт создаётся в состоянии SOLID_PRESSED.
PRODUCT_TO_CONTAINER ID реагента Помещает продукт В контейнер; ID должен быть названием реагента с токеном PRESERVE_REAGENT и типом предмета "контейнер".
REACTION Идентификатор Задаёт новую реакцию
REACTION_CLASS ?
REAGENT Задаёт реагент для реакции.
SKILL Токен навыка Навык, используемый для проведения реакции.
UNROTTEN Реагент не должен быть гнилым. Используется для органических материалов.
USE_BODY_COMPONENT Реагент должен быть частью тела существа.
WEB_ONLY Реагент должен быть "undisturbed" — используется вместе с THREAD:NONE для обозначения паутины.
WORTHLESS_STONE_ONLY Реагент не сделан из экономического камня.