ZenlessData/Data/TyrantPompey_P1_AttackDetect.json
2024-09-23 09:11:37 -03:00

209 lines
5.4 KiB
JSON

{
"AbilityMixins": [
{
"$type": "AttachZoneTagWithModifierMixin",
"ConfigList": [
{
"ModifierNameList": [
"DistanceCheckModifier"
],
"ZoneTag": "TyrantPompey_AttackAiming"
},
{
"ModifierNameList": [
"RaisedMovingModifier"
],
"ZoneTag": "TyrantPompey_P1_RaisedMoving"
}
]
}
],
"AbilityName": "TyrantPompey_P1_AttackDetect",
"AbilitySpecials": {
"AS_DistanceValue": {
"Value": 8
},
"AS_HasAngleRangeLimit": {
"Value": 0
},
"AS_IsRaiseAttack": {
"Value": 0
}
},
"AbilityStacking": "Unique",
"Modifiers": {
"DistanceCheckModifier": {
"Duration": -1,
"IgnoreTimeScale": false,
"ModifierStacking": "Unique",
"OnThinkInterval": [
{
"$type": "BranchOperator",
"Conditions": [
{
"$type": "ByDistance",
"CompareTarget": "SelfAttackTarget",
"CompareType": "LessEqual",
"Distance": "%AS_DistanceValue",
"Target": "Self"
},
{
"$type": "ByAbilitySpecial",
"CompareType": "Equal",
"Param": 0,
"ParamName": "AS_IsRaiseAttack"
},
{
"$type": "ByOr",
"Predicates": [
{
"$type": "ByAngleRange",
"AngleMax": 75,
"AngleMin": -75,
"CompareTarget": "SelfAttackTarget"
},
{
"$type": "ByAbilitySpecial",
"CompareType": "Equal",
"Param": 0,
"ParamName": "AS_HasAngleRangeLimit"
}
]
}
],
"SuccessActions": [
{
"$type": "SetAnimCtrlerParamAction",
"BoolVal": true,
"ParamName": "Trigger_PressAttackA",
"ParamType": 1,
"Target": "Self"
},
{
"$type": "SendBehaviorTreeEventAction",
"EventName": "isAttackSuccess"
}
]
},
{
"$type": "SetAnimCtrlerParamAction",
"BoolVal": true,
"ParamName": "Bool_Raised",
"ParamType": 2,
"Predicates": [
{
"$type": "ByAngleRange",
"AngleMax": 90,
"AngleMin": -90,
"CompareTarget": "SelfAttackTarget"
},
{
"$type": "ByAbilitySpecial",
"CompareType": "Equal",
"Param": 1,
"ParamName": "AS_IsRaiseAttack"
},
{
"$type": "ByDistance",
"CompareTarget": "SelfAttackTarget",
"CompareType": "LessEqual",
"Distance": "%AS_DistanceValue",
"Target": "Self"
}
],
"Target": "Self"
}
],
"ThinkInterval": 0.05
},
"RaisedMovingModifier": {
"Duration": -1,
"IgnoreTimeScale": false,
"ModifierStacking": "Unique",
"OnAdded": [
{
"$type": "ApplyModifier",
"ModifierName": "RaisedTimer"
}
],
"OnRemoved": [
{
"$type": "SetAbilitySpecialAction",
"ModifyFunction": "Replace",
"Param": 0,
"ParamName": "AS_IsRaiseAttack"
},
{
"$type": "RemoveModifier",
"ModifierName": "RaisedTimer"
}
],
"OnThinkInterval": [
{
"$type": "BranchOperator",
"Conditions": [
{
"$type": "ByOr",
"Predicates": [
{
"$type": "ByDistance",
"CompareTarget": "SelfAttackTarget",
"CompareType": "LessEqual",
"Distance": 6,
"Target": "Self"
},
{
"$type": "ByAngleRange",
"AngleMax": 180,
"AngleMin": 90,
"CompareTarget": "SelfAttackTarget"
},
{
"$type": "ByAngleRange",
"AngleMax": -90,
"AngleMin": -180,
"CompareTarget": "SelfAttackTarget"
}
]
}
],
"SuccessActions": [
{
"$type": "SetAnimCtrlerParamAction",
"BoolVal": false,
"ParamName": "Bool_Raised",
"ParamType": 2,
"Target": "Self"
},
{
"$type": "SendBehaviorTreeEventAction",
"EventName": "isAttackSuccess"
}
]
}
],
"ThinkInterval": 0.05
},
"RaisedTimer": {
"Duration": 3,
"ModifierStacking": "Unique",
"OnRemoved": [
{
"$type": "SetAnimCtrlerParamAction",
"BoolVal": false,
"ParamName": "Bool_Raised",
"ParamType": 2,
"Target": "Self"
},
{
"$type": "SendBehaviorTreeEventAction",
"EventName": "isAttackSuccess"
},
{
"$type": "RemoveModifier",
"ModifierName": "RaisedMovingModifier"
}
]
}
}
}