Test_Separation_Flock
Server/NPC/Roles/_Core/Tests_Development/Test_Separation_Flock.json, 2.6 KB
Fields
| Field | Type |
|---|---|
Type | string |
Appearance | string |
FlockAllowedNPC | array[1] |
FlockCanLead | boolean |
FlockInfluenceRange | number |
ApplySeparation | boolean |
SeparationDistance | number |
SeparationMode | string |
MotionControllerList | array[1] |
TestType | string |
MaxHealth | object |
Parameters | object |
Instructions | array[2] |
NameTranslationKey | string |
Source
{
"Type": "Generic",
"Appearance": "Sheep",
"FlockAllowedNPC": [ "Test_Separation_Flock" ],
"FlockCanLead": true,
"FlockInfluenceRange": 4,
"ApplySeparation": true,
"SeparationDistance": 2,
"SeparationMode": "Push",
"MotionControllerList": [
{
"Type": "Walk",
"MaxWalkSpeed": 10,
"Gravity": 10,
"MaxFallSpeed": 8,
"Acceleration": 10
}
],
"TestType": "Normal",
"MaxHealth": { "Compute": "MaxHealth" },
"Parameters": {
"MaxHealth": {
"Value": 100,
"Description": "Max health for the NPC"
}
},
"Instructions": [
{
"Continue": true,
"Instructions": [
{
"Sensor": {
"Type": "And",
"Sensors": [
{
"Type": "FlockLeader"
},
{
"Type": "Self",
"Filters": [
{
"Type": "Flock",
"FlockStatus": "Member"
}
]
}
]
},
"BodyMotion": {
"Type": "Sequence",
"Looped": true,
"Motions": [
{
"Type": "Timer",
"Time": [ 2, 5 ],
"Motion": {
"Type": "WanderInCircle",
"Radius": 5,
"MaxHeadingChange": 135,
"RelativeSpeed": 1,
"Flock": true
}
},
{
"Type": "Timer",
"Time": [ 1, 2 ],
"Motion": {
"Type": "Nothing"
}
}
]
}
},
{
"Sensor": {
"Type": "Any"
},
"Tag": "idle",
"BodyMotion": {
"Reference": "Wander_Simple",
"Modify": { }
}
}
]
},
{
"Instructions": [
{
"Sensor": {
"Type": "And",
"Sensors": [
{
"Type": "FlockLeader"
},
{
"Type": "Self",
"Filters": [
{
"Type": "Flock",
"FlockStatus": "Leader"
}
]
}
]
},
"Actions": [
{
"Type": "Appearance",
"Appearance": "Cat"
}
]
}
]
}
],
"NameTranslationKey": "server.npcRoles.Test_Separation_Flock.name"
}