HytaleDocs
NPC

Balancing

Asset path: Server/NPC/Balancing/*.json

This object has different properties depending on the value of the Type property.

All possible options are listed below:

CombatActionEvaluator

A balance asset which also configures a combat action evaluator.

CombatBalanceAsset with the following properties:

KeyTypeDescription
TypeConstant value: CombatActionEvaluator

This field controls the type, it must be set to the constant value "CombatActionEvaluator" to function as this type.

ParentString

When set this asset will inherit properties from the named asset.

When inheriting from another CombatBalanceAsset most properties will simply be copied from the parent asset to this asset. In the case where both child and parent provide a field the child field will simply replace the value provided by the parent, in the case of nested structures this will apply to the fields within the structure. In some cases the field may decide to act differently, for example: by merging the parent and child fields together.

EntityEffects(Nullable) Array of the type: Either String or EntityEffect

Reference to a EntityEffect asset

A list of entity effects to apply to the NPC at spawn time.

TargetMemoryDuration(Nullable) Either Number defaults to: 15.0 or String that matches the pattern: ^(-?Infinity|NaN)$

How long the target should remain in the NPCs list of potential targets after last being spotted

CombatActionEvaluator
CombatActionEvaluatorConfig

CombatActionEvaluatorConfig with the following properties:

KeyTypeDescription
AvailableActionsMap

A map of all available combat actions this NPC can take.

ActionSetsMap (1)

A mapping of all combat substate names to the basic attacks and abilities that should be used in them.

RunConditionsArray of the type: Either String or Condition

Reference to a Condition asset

The list of conditions that determine whether or not the combat action evaluator should run.

MinRunUtilityNumber defaults to: 0.8

The minimum utility score required to be returned from the RunConditions to trigger a new run of the combat action evaluator.

MinActionUtilityNumber defaults to: 0.1

The minimum utility score required for any individual combat action to be run.

PredictabilityRange(Nullable) Array of Number

A random range from which to pick the NPC's predictability factor.

The combat action evaluator complete with combat action definitions and conditions.

Tags(Nullable) Map of the following:
Map
KeyType
any StringArray of String

Tags are a general way to describe an asset that can be interpreted by other systems in a way they see fit.

For example you could tag something with a Material tag with the values Solid and Stone, And another single tag Ore.

Tags will be expanded into a single list of tags automatically. Using the above example with Material and Ore the end result would be the following list of tags: Ore, Material, Solid, Stone, Material=Solid and Material=Stone.

default case: Default

BalanceAsset with the following properties:

KeyTypeDescription
Type(Nullable) String

This field controls the type, it must be set to the constant value "Default" to function as this type.

ParentString

When set this asset will inherit properties from the named asset.

When inheriting from another BalanceAsset most properties will simply be copied from the parent asset to this asset. In the case where both child and parent provide a field the child field will simply replace the value provided by the parent, in the case of nested structures this will apply to the fields within the structure. In some cases the field may decide to act differently, for example: by merging the parent and child fields together.

EntityEffects(Nullable) Array of the type: Either String or EntityEffect

Reference to a EntityEffect asset

A list of entity effects to apply to the NPC at spawn time.

Tags(Nullable) Map of the following:
Map
KeyType
any StringArray of String

Tags are a general way to describe an asset that can be interpreted by other systems in a way they see fit.

For example you could tag something with a Material tag with the values Solid and Stone, And another single tag Ore.

Tags will be expanded into a single list of tags automatically. Using the above example with Material and Ore the end result would be the following list of tags: Ore, Material, Solid, Stone, Material=Solid and Material=Stone.

Notes:

Types referenced by this type

Map

Map of the following:

Map (1)

Map of the following:

KeyType
any String
ActionSet

ActionSet with the following properties:

KeyTypeDescription
BasicAttacks(Nullable) BasicAttacks

The basic attacks to be used in this combat substate.

ActionsArray of String

A list of available actions that should be used in this combat substate, mapped from AvailableActions.

On this page