Test_Motion_Charge
Server/NPC/Roles/_Core/Tests_Development/Test_Motion_Charge.json, 4.2 KB
Fields
| Field | Type |
|---|---|
Type | string |
Appearance | string |
MotionControllerList | array[1] |
MaxHealth | object |
Debug | string |
Parameters | object |
Instructions | array[11] |
NameTranslationKey | string |
Source
{
"Type": "Generic",
"Appearance": "Yeti",
"MotionControllerList": [
{
"Type": "Walk",
"MaxWalkSpeed": 10,
"RunThreshold": 0.5,
"RunThresholdRange": 0.1,
"Gravity": 10,
"MaxFallSpeed": 20,
"Acceleration": 10,
"MaxClimbHeight": 3,
"MaxDropHeight": 4,
"DescendFlatness": 1,
"DescendSpeedCompensation": 0.5
}
],
"MaxHealth": { "Compute": "MaxHealth" },
"Debug": "",
"Parameters": {
"MaxHealth": {
"Value": 100,
"Description": "Max health for the NPC"
}
},
"Instructions": [
{
"Continue": true,
"Sensor": {
"Type": "Mob",
"GetPlayers": true,
"GetNPCs": false,
"Range": 40
},
"BodyMotion": {
"Type": "Charge",
"IgnoredBlockSet": "Fence",
"ClearOnceOnStateChange": true,
"RelativeTurnSpeed": 1,
"LockedOnToleranceAngle": 15,
"LockedOnDurationRange": [1, 1],
"WindingUpDurationRange": [1, 1],
"PostChargeDurationRange": [1, 1],
"WindingUpUninterruptable": true,
"WindingUpRelativeTurnSpeed": 1,
"ChargeRelativeSpeed": 0,
"ChargeDistanceRange": [20, 25],
"ChargeAbsoluteSpeed": 20,
"ChargeAcceleration": 1000,
"IgnoredBlockSetTriggers": false,
"EntityStopsCharge": false,
"ClimbSlope": 2,
"DropSlope": 2,
"HorizontalSkipGapWidth": 1.2,
"BlockCollisionInteraction": "",
"NPCCollisionInteraction": "",
"PlayerCollisionInteraction": ""
}
},
{
"Sensor": {
"Type": "ChargeState",
"States": [ "LostTarget"]
},
"Actions": []
},
{
"Sensor": {
"Type": "ChargeState",
"Once": true,
"States": [ "Aiming"]
},
"Actions": [
{
"Type": "SpawnParticles",
"Offset": [ 0, 2.4, 0 ],
"ParticleSystem": "Question"
}
]
},
{
"Sensor": {
"Type": "ChargeState",
"Once": true,
"States": [ "LockedOn"]
},
"Actions": [
{
"Type": "SpawnParticles",
"Offset": [ 0, 2.4, 0 ],
"ParticleSystem": "Alerted"
}
]
},
{
"Sensor": {
"Type": "ChargeState",
"Once": true,
"States": [ "WindingUp"]
},
"Actions": [
{
"Type": "SpawnParticles",
"Offset": [ 0, 2.4, 0 ],
"ParticleSystem": "Hearts"
}
]
},
{
"Sensor": {
"Type": "ChargeState",
"Once": true,
"States": [ "Launch"]
},
"Actions": [
{
"Type": "SpawnParticles",
"Offset": [ 0, 2.4, 0 ],
"ParticleSystem": "Explosion_Medium"
}
]
},
{
"Continue": true,
"Sensor": {
"Type": "ChargeState",
"Once": true,
"States": [ "Charging"]
},
"Actions": [
{
"Type": "SpawnParticles",
"Offset": [ 0, 2.4, 0 ],
"ParticleSystem": "Angry"
}
]
},
{
"Sensor": {
"Type": "ChargeState",
"Once": true,
"States": [ "Obstructed"]
},
"Actions": [
{
"Type": "SpawnParticles",
"Offset": [ 0, 2.4, 0 ],
"ParticleSystem": "Sleepy"
}
]
},
{
"Sensor": {
"Type": "ChargeState",
"Once": true,
"States": [ "Finished"]
},
"Actions": [
{
"Type": "SpawnParticles",
"Offset": [ 0, 2.4, 0 ],
"ParticleSystem": "Hearts_Subtle"
}
]
},
{
"Continue": true,
"Sensor": {
"Type": "ChargeBlockCollisions"
},
"Actions": [
{
"Type": "BlockHitInteraction",
"Interaction": "Test_Charge_Destroy_Block"
}
]
},
{
"Continue": true,
"Sensor": {
"Type": "ChargeEntityCollisions",
"GetPlayers": true,
"GetNPCs": true,
"ExcludeOwnType": false
},
"Actions": [
{
"Type": "EntityHitInteraction",
"Interaction": "Test_Charge_Damage"
}
]
}
],
"NameTranslationKey": "npcRoles.Test_Motion_Charge.name"
}