Реакции
Прототипы реакций определяют рецепты с пропорциями реагентов, необходимых для запуска химической реакции. Ниже приведены значения конфигурации реакции в yaml:
type: Тип прототипа. Всегда должен быть reaction.
id: Уникальный идентификатор, используемый игрой для обозначения реакции. В PasacalCase
reactants: Список реагентов, необходимых для протекания реакции. Каждый реагент указывает свою пропорцию и является ли он катализатором. Смотрите пример ниже для получения дополнительной информации.
products: Список реагентов, создаваемых в результате реакции. Они будут добавлены в контейнер раствора, в котором происходит реакция, если есть место.
effects: Список эффектов и их свойств. Каждый эффект соответствует классу C#, реализующему IReactionEffect. Смотрите пример ниже для получения дополнительной информации.
- type: reaction
id: PotassiumExplosion
reactants:
Water:
amount: 1
Potassium:
amount: 1
effects: # Эффекты реакции
- !type:ExplosionReactionEffect
# Радиусы, используемые когда реагируют 1 калий + 1 вода (единичная реакция)
devastationRange: 0.05
heavyImpactRange: 0.1
lightImpactRange: 0.15
flashRange: 0.2
scaled: true # Масштабируется пропорционально количеству калия и воды
maxScale: 30 # Сила взрыва перестаёт масштабироваться при 30 калии + 30 воде
Вот ещё один пример. В нём есть катализатор и некоторые химические продукты, но нет эффекта реакции. Обратите внимание, что реагенты являются катализаторами, только если это указано напрямую, иначе они расходуются.
- type: reaction
id: PolytrinicAcid
reactants:
SulfuricAcid:
amount: 1
Chlorine:
amount: 1
catalyst: True # False, если не указано
Potassium:
amount: 1
products:
PolytrinicAcid: 3