Также как и в случае с FA, traits NFA определяют поведение и возможные действия с NFA в процессе игры. Характеристики определяются в при конфигурировании игры для класса NFA, при этом каждый экземпяр, созданный на основе этого класса будет наследовать все имеющиеся у класса черты.

Черта может содержать свойства, которые ссылаются на ресурсы и наделяют количественными характеристиками конкретную черту NFA.

Resource

Указывает, что данный NFA является ресурсом, требуемым для производства другого NFA.

Например, для прикручивания колеса к автомобилю требуется рабочий, который является ресурсом.

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

Продолжение примера про сборку автомобиля из статьи FA Characteristics. Для прикручивания колеса требуется потратить work power = 100 (что определено в NFA Class’а “Автомобиль”), рабочий использует work power со скоростью 10 в единицу времени. Значит чтобы прикрутить колесо (уничтожить NFA “Колесо” и перенести свойства колеса на NFA “Автомобиль”) требуется 10 единиц времени при блокировке одного NFA “Рабочий”.

Properties:

Production Property Указывает id атрибута который используется для производства целевого NFA.

Из примера выше, это id атрибута work power.

Production Rate Указывает с какой скоростью может расходоваться значение свойства Production Property.

Spending Property Определяет id атрибута, которое расходуется при производстве.

Например, рабочему для работы нужно есть пончики, 1 каждые 5 единиц времени.

Spending Rate Определяет, с какой скоростью расходуются затраты при производстве.

Затраты на производства происходят только когда NFA используется непосредственно в процессе производства.

Рабочий не тратит пончики, пока не занят работой.

<aside> ⚠️ Скорость производства NFA всегда определяется скоростью расхода ресурсов требуемых для его создания

</aside>

Producible

Указывает на то, что NFA может быть произведен при помощи каких-то ассетов.

В свойствах характеристики указывается, какие ресурсы, материалы и FA требуются для производства этого NFA.

Например, для производства башни нужно 100 единиц леса и рабочая сила. В этом случае для NFA класса “башня” в характеристике Producible указывается, что требуется FA лес = 100, и NFA с Production Property = “рабочая сила”. На основании этих данных механика создания NFA может определить, какие FA и NFA требуются для постройки и с какой скоростью будет произведено строительство.

Properties:

FA Перечень FA и их количество, требуемых для создания NFA

Materials Перечень классов NFA с характеристикой Material (которые будут уничтожены механикой строительства, а его key atributes будут перенесены в созданный NFA.

Locked Resources Перечень классов NFA, которые должны быть заблокированы на время создания NFA.

Например, пока строится авто, должна быть заблокирована платформа

Production Properties Перечень атрибутов производства и их требуемый объем.

Destroyable

Указывает на то, что NFA может быть удален только при помощи каких-то ассетов.

В свойствах характеристики указывается, какие ресурсы, материалы и FA требуются для уничтожения этого NFA.

Например, для уничтожения крепости нужно 20 золотых и военная мощь. В этом случае для NFA класса “крепость” в характеристике Destroyable указывается, что требуется FA золото = 20, и NFA с Production Property = “военная мощь”. На основании этих данных механика уничтожения NFA может определить, какие FA и NFA требуются для уничтожения и с какой скоростью будет произведено уничтожение.

Properties:

FA Перечень FA и их количество, требуемых для уничтожения NFA

Materials Перечень классов NFA с характеристикой Material, которые будут уничтожены механикой уничтожения.

Locked Resources Перечень классов NFA, которые должны быть заблокированы на время создания NFA.

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

Production Properties Перечень атрибутов производства и их требуемый объем для уничтожения текущей NFA

Material