1143 lines
31 KiB
JSON
1143 lines
31 KiB
JSON
{
|
|
"AbilityMixins": [
|
|
{
|
|
"$type": "ActwithStateFrameMixin",
|
|
"ConfigList": [
|
|
{
|
|
"ActionList": [
|
|
{
|
|
"$type": "HandleAnimatorZoneTagsAction",
|
|
"AnimatorStateTags": [
|
|
"SpBilly_AttackNormal04_OnMotor"
|
|
],
|
|
"IsAdd": true,
|
|
"Target": "Self"
|
|
}
|
|
],
|
|
"AnimatorStateName": "Attack_Normal_04",
|
|
"ForceTriggerOnTransitionIn": true,
|
|
"ForceTriggerOnTransitionOut": false,
|
|
"Frame": 0,
|
|
"IsLoop": false,
|
|
"LayerIndex": 0
|
|
},
|
|
{
|
|
"ActionList": [
|
|
{
|
|
"$type": "ApplyModifier",
|
|
"ModifierName": "CriticalDamageRatioDeltaModifier",
|
|
"Predicates": [
|
|
{
|
|
"$type": "ByInOutBattleStatus",
|
|
"IsInBattle": true,
|
|
"Target": "Self"
|
|
}
|
|
],
|
|
"Target": "Self"
|
|
}
|
|
],
|
|
"AnimatorStateName": "Attack_Special_01_Start",
|
|
"ForceTriggerOnTransitionIn": true,
|
|
"ForceTriggerOnTransitionOut": false,
|
|
"Frame": 0,
|
|
"IsLoop": false,
|
|
"LayerIndex": 0
|
|
},
|
|
{
|
|
"ActionList": [
|
|
{
|
|
"$type": "DecreaseHPAction",
|
|
"Amount": 0,
|
|
"IgnoreInvincible": true,
|
|
"Percentage": "%AS_HpDecrease_Motor",
|
|
"Predicates": [
|
|
{
|
|
"$type": "ByNot",
|
|
"Predicates": [
|
|
{
|
|
"$type": "ByIsInZoneTags",
|
|
"Tags": [
|
|
"SpBilly_AttackNormal04_OnMotor"
|
|
],
|
|
"Target": "Self"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"Target": "Self"
|
|
}
|
|
],
|
|
"AnimatorStateName": "Attack_Special_01_Start",
|
|
"ForceTriggerOnTransitionIn": true,
|
|
"ForceTriggerOnTransitionOut": true,
|
|
"Frame": 1,
|
|
"IsLoop": false,
|
|
"LayerIndex": 0
|
|
},
|
|
{
|
|
"ActionList": [
|
|
{
|
|
"$type": "RemoveModifier",
|
|
"ModifierName": "GPSuccessAddHeatModifier",
|
|
"Target": "Self"
|
|
}
|
|
],
|
|
"AnimatorStateName": "Attack_Special_01_GPSuccess",
|
|
"ForceTriggerOnTransitionIn": false,
|
|
"ForceTriggerOnTransitionOut": true,
|
|
"Frame": 8,
|
|
"IsLoop": false,
|
|
"LayerIndex": 0
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "ActionsOnPropertyChangeMixin",
|
|
"DoInitialCheck": true,
|
|
"MpMixinMode": "MpTotallyLocal",
|
|
"PropertyActions": [
|
|
{
|
|
"CustomPropertyType": "SPBilly_Heat",
|
|
"InstantPropertyChangeActions": [
|
|
{
|
|
"$type": "BranchOperator",
|
|
"Conditions": [
|
|
{
|
|
"$type": "ByPlayerPropertyValue",
|
|
"CompareType": "GreaterEqual",
|
|
"CustomNumerator": "SPBilly_Heat",
|
|
"IsUsePercent": false,
|
|
"Numerator": "Custom",
|
|
"Target": "Self",
|
|
"Val1": 100
|
|
}
|
|
],
|
|
"FailureActions": [
|
|
{
|
|
"$type": "ModifyProperty",
|
|
"Amount": 0,
|
|
"CustomPropertyType": "BuffState",
|
|
"PropertyModifyFunction": "Replace",
|
|
"PropertyType": "Custom"
|
|
},
|
|
{
|
|
"$type": "SetAnimCtrlerParamAction",
|
|
"BoolVal": false,
|
|
"ParamName": "Bool_IsExSPEnhanced",
|
|
"ParamType": 2,
|
|
"Target": "Self"
|
|
}
|
|
],
|
|
"SuccessActions": [
|
|
{
|
|
"$type": "ModifyProperty",
|
|
"Amount": 1,
|
|
"CustomPropertyType": "BuffState",
|
|
"PropertyModifyFunction": "Replace",
|
|
"PropertyType": "Custom"
|
|
},
|
|
{
|
|
"$type": "SetAnimCtrlerParamAction",
|
|
"BoolVal": true,
|
|
"ParamName": "Bool_IsExSPEnhanced",
|
|
"ParamType": 2,
|
|
"Target": "Self"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"IsUsePercentage": false,
|
|
"PropertyType": "Custom"
|
|
},
|
|
{
|
|
"IsUsePercentage": true,
|
|
"PropertyType": "CurHP",
|
|
"RefPropertyType": "MaxHP",
|
|
"ValueRangeActions": [
|
|
{
|
|
"Val": "%AS_OnMotorHPThreshold",
|
|
"ValueToHighActions": [
|
|
{
|
|
"$type": "SetAnimCtrlerParamAction",
|
|
"BoolVal": true,
|
|
"ParamName": "Bool_ReadyMotor",
|
|
"ParamType": 2,
|
|
"Target": "Self"
|
|
},
|
|
{
|
|
"$type": "ApplyModifier",
|
|
"ModifierName": "ListenSwitchInSkillModifier",
|
|
"Target": "Self"
|
|
},
|
|
{
|
|
"$type": "RemoveModifier",
|
|
"ModifierName": "DamageTakeRatioModifier",
|
|
"Target": "Self"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"HighToValueActions": [
|
|
{
|
|
"$type": "SetAnimCtrlerParamAction",
|
|
"BoolVal": false,
|
|
"ParamName": "Bool_ReadyMotor",
|
|
"ParamType": 2,
|
|
"Target": "Self"
|
|
},
|
|
{
|
|
"$type": "RemoveModifier",
|
|
"ModifierName": "ListenSwitchInSkillModifier",
|
|
"Target": "Self"
|
|
},
|
|
{
|
|
"$type": "ApplyModifier",
|
|
"ModifierName": "DamageTakeRatioModifier",
|
|
"Target": "Self"
|
|
}
|
|
],
|
|
"Val": "%AS_OnMotorHPThreshold"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"PropertyChangeActions": [
|
|
{
|
|
"$type": "SetAbilitySpecialByExpression",
|
|
"DoRefresh": true,
|
|
"Expression": "((property(MaxHP))-(property(HpMax_Base)))*specials(AS_ConversionRate_HP)",
|
|
"ParamName": "SkipDefAttackDelta_HP",
|
|
"ValueType": "Float"
|
|
},
|
|
{
|
|
"$type": "SetAbilitySpecialByExpression",
|
|
"DoRefresh": true,
|
|
"Expression": "((property(Atk_Battle))-(property(Attack)))*specials(AS_ConversionRate_ATK)",
|
|
"ParamName": "SkipDefAttackDelta_ATK",
|
|
"ValueType": "Float"
|
|
},
|
|
{
|
|
"$type": "SetAbilitySpecialByExpression",
|
|
"DoRefresh": true,
|
|
"Expression": "(specials(SkipDefAttackDelta_ATK)+specials(SkipDefAttackDelta_HP))",
|
|
"ParamName": "SkipDefAttackDelta",
|
|
"ValueType": "Float"
|
|
},
|
|
{
|
|
"$type": "BranchOperator",
|
|
"Conditions": [
|
|
{
|
|
"$type": "ByPlayerPropertyValue",
|
|
"CompareType": "LessEqual",
|
|
"Denominator": "MaxHP",
|
|
"IsUsePercent": true,
|
|
"Numerator": "CurHP",
|
|
"Target": "Self",
|
|
"Val1": "%AS_OnMotorHPThreshold"
|
|
}
|
|
],
|
|
"FailureActions": [
|
|
{
|
|
"$type": "SetAnimCtrlerParamAction",
|
|
"BoolVal": true,
|
|
"ParamName": "Bool_ReadyMotor",
|
|
"ParamType": 2,
|
|
"Target": "Self"
|
|
}
|
|
],
|
|
"SuccessActions": [
|
|
{
|
|
"$type": "SetAnimCtrlerParamAction",
|
|
"BoolVal": false,
|
|
"ParamName": "Bool_ReadyMotor",
|
|
"ParamType": 2,
|
|
"Target": "Self"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"PropertyType": "MaxHP"
|
|
},
|
|
{
|
|
"PropertyChangeActions": [
|
|
{
|
|
"$type": "SetAbilitySpecialByExpression",
|
|
"DoRefresh": true,
|
|
"Expression": "((property(MaxHP))-(property(HpMax_Base)))*specials(AS_ConversionRate_HP)",
|
|
"ParamName": "SkipDefAttackDelta_HP",
|
|
"ValueType": "Float"
|
|
},
|
|
{
|
|
"$type": "SetAbilitySpecialByExpression",
|
|
"DoRefresh": true,
|
|
"Expression": "((property(Atk_Battle))-(property(Attack)))*specials(AS_ConversionRate_ATK)",
|
|
"ParamName": "SkipDefAttackDelta_ATK",
|
|
"ValueType": "Float"
|
|
},
|
|
{
|
|
"$type": "SetAbilitySpecialByExpression",
|
|
"DoRefresh": true,
|
|
"Expression": "(specials(SkipDefAttackDelta_ATK)+specials(SkipDefAttackDelta_HP))",
|
|
"ParamName": "SkipDefAttackDelta",
|
|
"ValueType": "Float"
|
|
},
|
|
{
|
|
"$type": "ApplyModifier",
|
|
"ModifierName": "AddedAttackModifier",
|
|
"Target": "Self"
|
|
}
|
|
],
|
|
"PropertyType": "Atk_Battle"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "AttachStateWithModifierMixin",
|
|
"ConfigList": [
|
|
{
|
|
"AnimatorStateName": "Attack_Normal_04",
|
|
"FrameCountLow": 0,
|
|
"IsLoop": false,
|
|
"LayerIndex": 0,
|
|
"MaxFrameCountHigh": true,
|
|
"MaxFrameCountLow": false,
|
|
"ModifierNameList": [
|
|
"RemoveAttackNormal04TagModifier"
|
|
]
|
|
},
|
|
{
|
|
"AnimatorStateName": "Attack_Special_01_Start",
|
|
"FrameCountLow": 0,
|
|
"IsLoop": false,
|
|
"LayerIndex": 0,
|
|
"MaxFrameCountHigh": true,
|
|
"MaxFrameCountLow": false,
|
|
"ModifierNameList": [
|
|
"RemoveAttackNormal04TagModifier"
|
|
]
|
|
},
|
|
{
|
|
"AnimatorStateName": "Attack_Special_01_GPSuccess",
|
|
"FrameCountHigh": 3,
|
|
"FrameCountLow": 0,
|
|
"IsLoop": false,
|
|
"LayerIndex": 0,
|
|
"MaxFrameCountHigh": false,
|
|
"MaxFrameCountLow": false,
|
|
"ModifierNameList": [
|
|
"RemoveAttackNormal04TagModifier"
|
|
]
|
|
},
|
|
{
|
|
"AnimatorStateName": "SwitchIn_Attack_Ex_Start",
|
|
"FrameCountHigh": 3,
|
|
"FrameCountLow": 0,
|
|
"IsLoop": false,
|
|
"LayerIndex": 0,
|
|
"MaxFrameCountHigh": false,
|
|
"MaxFrameCountLow": false,
|
|
"ModifierNameList": [
|
|
"RemoveAttackNormal04TagModifier"
|
|
]
|
|
}
|
|
],
|
|
"IsSeam": false
|
|
},
|
|
{
|
|
"$type": "ActwithStateFrameMixin",
|
|
"ConfigList": [
|
|
{
|
|
"ActionList": [
|
|
{
|
|
"$type": "RemoveModifier",
|
|
"ModifierName": "HitDetected_RecoverHP",
|
|
"Target": "Self"
|
|
},
|
|
{
|
|
"$type": "RemoveModifier",
|
|
"ModifierName": "CounterRecoverHPModifier",
|
|
"Target": "Self"
|
|
}
|
|
],
|
|
"AnimatorStateName": "Attack_Counter",
|
|
"ForceTriggerOnTransitionIn": false,
|
|
"ForceTriggerOnTransitionOut": true,
|
|
"Frame": 25,
|
|
"IsLoop": false,
|
|
"LayerIndex": 0
|
|
},
|
|
{
|
|
"ActionList": [
|
|
{
|
|
"$type": "SetAnimCtrlerParamAction",
|
|
"BoolVal": false,
|
|
"ParamName": "Bool_CounterToNormal04",
|
|
"ParamType": 2,
|
|
"Target": "Self"
|
|
}
|
|
],
|
|
"AnimatorStateName": "Attack_Counter",
|
|
"ForceTriggerOnTransitionIn": false,
|
|
"ForceTriggerOnTransitionOut": true,
|
|
"Frame": 0,
|
|
"IsLoop": false,
|
|
"LayerIndex": 0,
|
|
"MaxFrame": true
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"AbilityName": "SPBilly_UniqueSkill",
|
|
"AbilitySpecials": {
|
|
"AS_AddedHeatCount": {
|
|
"Value": 0.2,
|
|
"ValueType": "Float"
|
|
},
|
|
"AS_AddedHeat_GP": {
|
|
"Value": 10,
|
|
"ValueType": "Float"
|
|
},
|
|
"AS_AddedHeat_GPSuccess": {
|
|
"Value": 10,
|
|
"ValueType": "Float"
|
|
},
|
|
"AS_AddedHeat_Multiplier": {
|
|
"Value": 1,
|
|
"ValueType": "Float"
|
|
},
|
|
"AS_AddedHeat_QTE": {
|
|
"Value": 10,
|
|
"ValueType": "Float"
|
|
},
|
|
"AS_AddedHeat_Temp": {
|
|
"Value": 0,
|
|
"ValueType": "Float"
|
|
},
|
|
"AS_Branch_01_RecoverHP": {
|
|
"Value": 0,
|
|
"ValueType": "Float"
|
|
},
|
|
"AS_ConversionRate_ATK": {
|
|
"Value": 0.12
|
|
},
|
|
"AS_ConversionRate_HP": {
|
|
"Value": 0.12
|
|
},
|
|
"AS_Counter_RecoverHP": {
|
|
"Value": 0,
|
|
"ValueType": "Float"
|
|
},
|
|
"AS_CriticalDamageDelta": {
|
|
"Value": 0.25
|
|
},
|
|
"AS_CriticalDamageRatioBuffDuration": {
|
|
"Value": 30,
|
|
"ValueType": "Float"
|
|
},
|
|
"AS_DamageTakeRatio": {
|
|
"Value": -0.1,
|
|
"ValueType": "Float"
|
|
},
|
|
"AS_ExSpecial_02_RecoverHP": {
|
|
"Value": 0.25,
|
|
"ValueType": "Float"
|
|
},
|
|
"AS_ExSpecial_RecoverHP": {
|
|
"Value": 0.25,
|
|
"ValueType": "Float"
|
|
},
|
|
"AS_HeatRecover_ParryAid": {
|
|
"Value": 10,
|
|
"ValueType": "Float"
|
|
},
|
|
"AS_HeatRecover_PerfectEvade": {
|
|
"Value": 10,
|
|
"ValueType": "Float"
|
|
},
|
|
"AS_HpDecrease_Motor": {
|
|
"Value": 0.2,
|
|
"ValueType": "Float"
|
|
},
|
|
"AS_HpDecrease_Motor_Normal04": {
|
|
"Value": 0.1,
|
|
"ValueType": "Float"
|
|
},
|
|
"AS_Normal04_RecoverHP": {
|
|
"Value": 0.25,
|
|
"ValueType": "Float"
|
|
},
|
|
"AS_OnMotorHPThreshold": {
|
|
"Value": 0.1,
|
|
"ValueType": "Float"
|
|
},
|
|
"AS_RecoverHP_Multiplier": {
|
|
"Value": 1,
|
|
"ValueType": "Float"
|
|
},
|
|
"AS_RecoverHP_Temp": {
|
|
"Value": 0,
|
|
"ValueType": "Float"
|
|
},
|
|
"AS_RecoverRPCD": {
|
|
"Value": 180,
|
|
"ValueType": "Float"
|
|
},
|
|
"AS_RecoverRPCD_Cache": {
|
|
"Value": 0,
|
|
"ValueType": "Float"
|
|
},
|
|
"AS_RecoverRPCD_Real": {
|
|
"Value": 0,
|
|
"ValueType": "Float"
|
|
},
|
|
"AS_RecoverRP_Initial": {
|
|
"Value": 60,
|
|
"ValueType": "Float"
|
|
},
|
|
"AS_RecoverRP_Initial_Talent_01": {
|
|
"Value": 120,
|
|
"ValueType": "Float"
|
|
},
|
|
"AS_SwitchInSkillCD": {
|
|
"Value": 5,
|
|
"ValueType": "Float"
|
|
},
|
|
"SkipDefAttackDelta": {
|
|
"Value": 0
|
|
},
|
|
"SkipDefAttackDelta_ATK": {
|
|
"Value": 0
|
|
},
|
|
"SkipDefAttackDelta_HP": {
|
|
"Value": 0
|
|
}
|
|
},
|
|
"AbilityStacking": "Unique",
|
|
"DefaultModifier": {
|
|
"OnAdded": [
|
|
{
|
|
"$type": "ApplyModifier",
|
|
"ModifierName": "AddedAttackModifier",
|
|
"Target": "Self"
|
|
},
|
|
{
|
|
"$type": "BranchOperator",
|
|
"Conditions": [
|
|
{
|
|
"$type": "ByGameContextType",
|
|
"GameType": "StreamingGame",
|
|
"SubGameType": "All"
|
|
}
|
|
],
|
|
"FailureActions": [
|
|
{
|
|
"$type": "SetAbilitySpecialAction",
|
|
"ModifyFunction": "Replace",
|
|
"Param": 0,
|
|
"ParamName": "AS_RecoverRPCD_Real",
|
|
"ParamType": "Float"
|
|
}
|
|
],
|
|
"SuccessActions": [
|
|
{
|
|
"$type": "SetAbilitySpecialByExpression",
|
|
"Expression": "scenevar(AS_RecoverRPCD_Real)",
|
|
"ParamName": "AS_RecoverRPCD_Real",
|
|
"Target": "Self",
|
|
"ValueType": "Float"
|
|
},
|
|
{
|
|
"$type": "SetAbilitySpecialAction",
|
|
"ModifyFunction": "Replace",
|
|
"Param": "%AS_RecoverRPCD_Real",
|
|
"ParamName": "AS_RecoverRPCD_Cache",
|
|
"ParamType": "Float"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "BranchOperator",
|
|
"Conditions": [
|
|
{
|
|
"$type": "ByAbilitySpecial",
|
|
"CompareType": "LessEqual",
|
|
"Param": 0,
|
|
"ParamName": "AS_RecoverRPCD_Real",
|
|
"ParamType": "Float"
|
|
}
|
|
],
|
|
"FailureActions": [
|
|
{
|
|
"$type": "ApplyModifier",
|
|
"ModifierName": "SmoothDecreaseCDModifier",
|
|
"Target": "Self"
|
|
}
|
|
],
|
|
"SuccessActions": [
|
|
{
|
|
"$type": "BranchOperator",
|
|
"Conditions": [
|
|
{
|
|
"$type": "ByAvatarTalentIndex",
|
|
"TalentIndex": 1,
|
|
"Target": "Self"
|
|
}
|
|
],
|
|
"FailureActions": [
|
|
{
|
|
"$type": "RecoverRpAction",
|
|
"Amount": "%AS_RecoverRP_Initial",
|
|
"Target": "Caster"
|
|
}
|
|
],
|
|
"SuccessActions": [
|
|
{
|
|
"$type": "RecoverRpAction",
|
|
"Amount": "%AS_RecoverRP_Initial_Talent_01",
|
|
"Target": "Caster"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "SetAbilitySpecialAction",
|
|
"ModifyFunction": "Replace",
|
|
"Param": "%AS_RecoverRPCD",
|
|
"ParamName": "AS_RecoverRPCD_Real",
|
|
"ParamType": "Float"
|
|
},
|
|
{
|
|
"$type": "SetAbilitySpecialAction",
|
|
"ModifyFunction": "Replace",
|
|
"Param": "%AS_RecoverRPCD",
|
|
"ParamName": "AS_RecoverRPCD_Cache",
|
|
"ParamType": "Float"
|
|
},
|
|
{
|
|
"$type": "ApplyModifier",
|
|
"ModifierName": "SmoothDecreaseCDModifier",
|
|
"Target": "Self"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"OnAnimTransit": [
|
|
{
|
|
"$type": "DecreaseHPAction",
|
|
"Amount": 0,
|
|
"IgnoreInvincible": true,
|
|
"Percentage": "%AS_HpDecrease_Motor_Normal04",
|
|
"Predicates": [
|
|
{
|
|
"$type": "ByTransitionName",
|
|
"Target": "Self",
|
|
"TransitionName": "AttackSpecial_Normal04"
|
|
}
|
|
],
|
|
"Target": "Self"
|
|
},
|
|
{
|
|
"$type": "ApplyModifier",
|
|
"ModifierName": "CounterRecoverHPModifier",
|
|
"Predicates": [
|
|
{
|
|
"$type": "ByTransitionName",
|
|
"TransitionName": "AttackCounter"
|
|
}
|
|
],
|
|
"Target": "Self"
|
|
}
|
|
],
|
|
"OnBattleEnter": [
|
|
{
|
|
"$type": "ApplyModifier",
|
|
"ModifierName": "AddHeatModifier",
|
|
"Target": "Self"
|
|
}
|
|
],
|
|
"OnBattleExit": [
|
|
{
|
|
"$type": "RemoveModifier",
|
|
"ModifierName": "AddHeatModifier",
|
|
"Target": "Self"
|
|
}
|
|
],
|
|
"OnCustomEventReceived": [
|
|
{
|
|
"$type": "ModifyProperty",
|
|
"Amount": "%AS_AddedHeat_GP",
|
|
"CustomPropertyType": "SPBilly_Heat",
|
|
"Percentage": 0,
|
|
"Predicates": [
|
|
{
|
|
"$type": "ByCustomEvent",
|
|
"EventKey": "SPBilly_GP_Success"
|
|
}
|
|
],
|
|
"PropertyModifyFunction": "Add",
|
|
"PropertyType": "Custom"
|
|
}
|
|
],
|
|
"OnDodgeSuccess": [
|
|
{
|
|
"$type": "ApplyModifier",
|
|
"ModifierName": "DodgeHeatModifier"
|
|
}
|
|
],
|
|
"OnPatternAttackLanded": [
|
|
{
|
|
"$type": "SetAbilitySpecialByExpressionListAction",
|
|
"Expressions": [
|
|
{
|
|
"AbilitySpecialName": "AS_AddedHeat_Temp",
|
|
"Expression": "{0}*{1}"
|
|
}
|
|
],
|
|
"Params": [
|
|
{
|
|
"$type": "ExpressionParamAttackData",
|
|
"AttackDataType": "AttackPropertyCustom",
|
|
"AttackPropertyDataIndex": 0,
|
|
"ParamType": "AttackData"
|
|
},
|
|
{
|
|
"$type": "ExpressionParamAbilitySpecial",
|
|
"AbilitySpecialKey": "AS_AddedHeat_Multiplier",
|
|
"ParamType": "AbilitySpecial"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "BranchOperator",
|
|
"Conditions": [
|
|
{
|
|
"$type": "ByAbilitySpecial",
|
|
"CompareType": "Greater",
|
|
"Param": 0,
|
|
"ParamName": "AS_AddedHeat_Temp",
|
|
"ParamType": "Float",
|
|
"Target": "Self"
|
|
}
|
|
],
|
|
"SuccessActions": [
|
|
{
|
|
"$type": "ModifyProperty",
|
|
"Amount": "%AS_AddedHeat_Temp",
|
|
"CustomPropertyType": "SPBilly_Heat",
|
|
"Percentage": 0,
|
|
"PropertyModifyFunction": "Add",
|
|
"PropertyType": "Custom"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "BranchOperator",
|
|
"Conditions": [
|
|
{
|
|
"$type": "ByOr",
|
|
"Predicates": [
|
|
{
|
|
"$type": "ByAnimTagList",
|
|
"TagList": [
|
|
"AttackNormal",
|
|
"Normal"
|
|
],
|
|
"Target": "Self"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"SuccessActions": [
|
|
{
|
|
"$type": "SetAbilitySpecialByExpressionListAction",
|
|
"Expressions": [
|
|
{
|
|
"AbilitySpecialName": "AS_RecoverHP_Temp",
|
|
"Expression": "{0}*{1}"
|
|
}
|
|
],
|
|
"Params": [
|
|
{
|
|
"$type": "ExpressionParamAttackData",
|
|
"AttackDataType": "AttackPropertyCustom",
|
|
"AttackPropertyDataIndex": 1,
|
|
"ParamType": "AttackData"
|
|
},
|
|
{
|
|
"$type": "ExpressionParamAbilitySpecial",
|
|
"AbilitySpecialKey": "AS_RecoverHP_Multiplier",
|
|
"ParamType": "AbilitySpecial"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "BranchOperator",
|
|
"Conditions": [
|
|
{
|
|
"$type": "ByAbilitySpecial",
|
|
"CompareType": "Greater",
|
|
"Param": 0,
|
|
"ParamName": "AS_RecoverHP_Temp",
|
|
"ParamType": "Float",
|
|
"Target": "Self"
|
|
}
|
|
],
|
|
"SuccessActions": [
|
|
{
|
|
"$type": "RecoverHPAction",
|
|
"IgnoreRatio": false,
|
|
"Percentage": "%AS_RecoverHP_Temp",
|
|
"Target": "Self"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "ApplyModifier",
|
|
"ModifierName": "GPSuccessAddHeatModifier",
|
|
"Predicates": [
|
|
{
|
|
"$type": "ByAnimEventIDs",
|
|
"AnimEventIDs": [
|
|
"SPBilly_Attack_Special_01_GPSuccess_AttackProperty_01_01",
|
|
"SPBilly_Attack_Special_01_GPSuccess_AttackProperty_01_02",
|
|
"SPBilly_Attack_Special_01_GPSuccess_AttackProperty_01_03",
|
|
"SPBilly_Attack_Special_01_GPSuccess_AttackProperty_01_04"
|
|
],
|
|
"Target": "Self"
|
|
}
|
|
],
|
|
"Target": "Self"
|
|
}
|
|
],
|
|
"OnRemoved": [
|
|
{
|
|
"$type": "RemoveModifier",
|
|
"ModifierName": "AddedAttackModifier",
|
|
"Target": "Self"
|
|
}
|
|
],
|
|
"OnSkillStart": [
|
|
{
|
|
"$type": "ModifyProperty",
|
|
"Amount": "%AS_HeatRecover_ParryAid",
|
|
"CustomPropertyType": "SPBilly_Heat",
|
|
"Percentage": 0,
|
|
"Predicates": [
|
|
{
|
|
"$type": "ByFromSkillType",
|
|
"SkillType": "ParryAid",
|
|
"Target": "Self"
|
|
}
|
|
],
|
|
"PropertyModifyFunction": "Add",
|
|
"PropertyType": "Custom",
|
|
"Target": "Self"
|
|
},
|
|
{
|
|
"$type": "ModifyProperty",
|
|
"Amount": "%AS_AddedHeat_QTE",
|
|
"CustomPropertyType": "SPBilly_Heat",
|
|
"Percentage": 0,
|
|
"Predicates": [
|
|
{
|
|
"$type": "ByFromSkillID",
|
|
"SkillID": "SPBilly_QTE",
|
|
"Target": "Self"
|
|
}
|
|
],
|
|
"PropertyModifyFunction": "Add",
|
|
"PropertyType": "Custom",
|
|
"Target": "Self"
|
|
},
|
|
{
|
|
"$type": "RecoverHPAction",
|
|
"IgnoreRatio": false,
|
|
"Percentage": "%AS_ExSpecial_RecoverHP",
|
|
"Predicates": [
|
|
{
|
|
"$type": "ByFromSkillID",
|
|
"SkillID": "SPBilly_ExSp"
|
|
}
|
|
],
|
|
"Target": "Self"
|
|
},
|
|
{
|
|
"$type": "RecoverHPAction",
|
|
"IgnoreRatio": false,
|
|
"Percentage": "%AS_ExSpecial_02_RecoverHP",
|
|
"Predicates": [
|
|
{
|
|
"$type": "ByFromSkillID",
|
|
"SkillID": "SPBilly_ExSp_02"
|
|
}
|
|
],
|
|
"Target": "Self"
|
|
}
|
|
]
|
|
},
|
|
"Modifiers": {
|
|
"AddHeatModifier": {
|
|
"Duration": -1,
|
|
"ModifierStacking": "Unique",
|
|
"OnThinkInterval": [
|
|
{
|
|
"$type": "ModifyProperty",
|
|
"Amount": "%AS_AddedHeatCount",
|
|
"CustomPropertyType": "SPBilly_Heat",
|
|
"Percentage": 0,
|
|
"PropertyModifyFunction": "Add",
|
|
"PropertyType": "Custom"
|
|
}
|
|
],
|
|
"ThinkInterval": 0.1
|
|
},
|
|
"AddedAttackModifier": {
|
|
"Duration": -1,
|
|
"IgnoreTimeScale": false,
|
|
"ModifierStacking": "Replace",
|
|
"Properties": {
|
|
"Actor_SkipDefAttackDelta": "%SkipDefAttackDelta"
|
|
}
|
|
},
|
|
"CounterRecoverHPModifier": {
|
|
"Duration": -1,
|
|
"ModifierStacking": "Unique",
|
|
"OnHitOther": [
|
|
{
|
|
"$type": "ApplyModifier",
|
|
"ModifierName": "HitDetected_RecoverHP",
|
|
"Predicates": [
|
|
{
|
|
"$type": "ByAnimEventIDs",
|
|
"AnimEventIDs": [
|
|
"SPBilly_Attack_Counter_AttackProperty_01",
|
|
"SPBilly_Attack_Counter_AttackProperty_02",
|
|
"SPBilly_Attack_Counter_AttackProperty_03",
|
|
"SPBilly_Attack_Counter_AttackProperty_04"
|
|
],
|
|
"Target": "Self"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "SetAnimCtrlerParamAction",
|
|
"BoolVal": true,
|
|
"ParamName": "Bool_CounterToNormal04",
|
|
"ParamType": 2,
|
|
"Target": "Self"
|
|
}
|
|
]
|
|
},
|
|
"CriticalDamageRatioDeltaModifier": {
|
|
"Duration": "%AS_CriticalDamageRatioBuffDuration",
|
|
"ModifierStacking": "Replace",
|
|
"Properties": {
|
|
"Actor_CriticalDamageRatioDelta": "%AS_CriticalDamageDelta"
|
|
}
|
|
},
|
|
"DamageTakeRatioModifier": {
|
|
"Duration": -1,
|
|
"IgnoreTimeScale": false,
|
|
"ModifierStacking": "Unique",
|
|
"Properties": {
|
|
"Actor_DamageTakeRatio": "%AS_DamageTakeRatio"
|
|
}
|
|
},
|
|
"DodgeHeatModifier": {
|
|
"Duration": 0.5,
|
|
"ModifierStacking": "Unique",
|
|
"OnAdded": [
|
|
{
|
|
"$type": "ModifyProperty",
|
|
"Amount": "%AS_HeatRecover_PerfectEvade",
|
|
"CustomPropertyType": "SPBilly_Heat",
|
|
"Percentage": 0,
|
|
"PropertyModifyFunction": "Add",
|
|
"PropertyType": "Custom",
|
|
"Target": "Self"
|
|
}
|
|
]
|
|
},
|
|
"GPSuccessAddHeatModifier": {
|
|
"Duration": -1,
|
|
"ModifierStacking": "Unique",
|
|
"OnRemoved": [
|
|
{
|
|
"$type": "ModifyProperty",
|
|
"Amount": "%AS_AddedHeat_GPSuccess",
|
|
"CustomPropertyType": "SPBilly_Heat",
|
|
"Percentage": 0,
|
|
"PropertyModifyFunction": "Add",
|
|
"PropertyType": "Custom"
|
|
}
|
|
]
|
|
},
|
|
"HitDetected_RecoverHP": {
|
|
"Duration": -1,
|
|
"ModifierStacking": "Unique",
|
|
"OnRemoved": [
|
|
{
|
|
"$type": "RecoverHPAction",
|
|
"IgnoreRatio": false,
|
|
"Percentage": "%AS_Counter_RecoverHP",
|
|
"Target": "Self"
|
|
}
|
|
]
|
|
},
|
|
"ListenSwitchInSkillModifier": {
|
|
"Duration": -1,
|
|
"ModifierStacking": "Replace",
|
|
"OnAdded": [
|
|
{
|
|
"$type": "SetAnimCtrlerParamAction",
|
|
"BoolVal": true,
|
|
"ParamName": "Bool_SwitchInSkill",
|
|
"ParamType": 2,
|
|
"Predicates": [
|
|
{
|
|
"$type": "ByHasModifier",
|
|
"ModifierNameList": [
|
|
"SwitchInSkillCDModifier"
|
|
],
|
|
"OperatorType": "Not",
|
|
"Target": "Self"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"OnRemoved": [
|
|
{
|
|
"$type": "SetAnimCtrlerParamAction",
|
|
"BoolVal": false,
|
|
"ParamName": "Bool_SwitchInSkill",
|
|
"ParamType": 2
|
|
}
|
|
],
|
|
"OnSwitchTriggerInInstant": [
|
|
{
|
|
"$type": "BranchOperator",
|
|
"Conditions": [
|
|
{
|
|
"$type": "ByOr",
|
|
"Predicates": [
|
|
{
|
|
"$type": "ByAidAttackType",
|
|
"AidAttackType": "CommonAid"
|
|
},
|
|
{
|
|
"$type": "ByAidAttackType",
|
|
"AidAttackType": "BeHitAid"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "ByAvatarSwitchType",
|
|
"SwitchType": "AidAttack",
|
|
"Target": "Self"
|
|
},
|
|
{
|
|
"$type": "ByHasModifier",
|
|
"ModifierNameList": [
|
|
"SwitchInSkillCDModifier"
|
|
],
|
|
"OperatorType": "Not",
|
|
"Target": "Self"
|
|
}
|
|
],
|
|
"SuccessActions": [
|
|
{
|
|
"$type": "SetModifierDurationAction",
|
|
"ModifierName": "ListenSwitchInSkillModifier",
|
|
"ModifyType": "Replace",
|
|
"Target": "Self",
|
|
"Value": 0.1
|
|
},
|
|
{
|
|
"$type": "ApplyModifier",
|
|
"ModifierName": "SwitchInSkillCDModifier",
|
|
"Target": "Self"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"RemoveAttackNormal04TagModifier": {
|
|
"Duration": -1,
|
|
"ModifierStacking": "Unique",
|
|
"OnRemoved": [
|
|
{
|
|
"$type": "HandleAnimatorZoneTagsAction",
|
|
"AnimatorStateTags": [
|
|
"SpBilly_AttackNormal04_OnMotor"
|
|
],
|
|
"IsAdd": false,
|
|
"Target": "Self"
|
|
}
|
|
]
|
|
},
|
|
"SmoothDecreaseCDModifier": {
|
|
"Duration": "%AS_RecoverRPCD",
|
|
"ModifierMixins": [
|
|
{
|
|
"$type": "SmoothBlendAbilitySpecialMixin",
|
|
"AbilitySpecial": "AS_RecoverRPCD_Real",
|
|
"BlendCurve": "Linear",
|
|
"BlendTime": "%AS_RecoverRPCD_Cache",
|
|
"TargetValue": 0
|
|
}
|
|
],
|
|
"ModifierStacking": "Unique",
|
|
"OnThinkInterval": [
|
|
{
|
|
"$type": "RemoveModifier",
|
|
"ModifierName": "SmoothDecreaseCDModifier",
|
|
"Predicates": [
|
|
{
|
|
"$type": "ByAbilitySpecial",
|
|
"CompareType": "LessEqual",
|
|
"Param": 0,
|
|
"ParamName": "AS_RecoverRPCD_Real",
|
|
"ParamType": "Float"
|
|
}
|
|
],
|
|
"Target": "Self"
|
|
}
|
|
],
|
|
"ThinkInterval": 0.1
|
|
},
|
|
"SwitchInSkillCDModifier": {
|
|
"Duration": "%AS_SwitchInSkillCD",
|
|
"ModifierStacking": "Refresh",
|
|
"OnRemoved": [
|
|
{
|
|
"$type": "BranchOperator",
|
|
"Conditions": [
|
|
{
|
|
"$type": "ByPlayerPropertyValue",
|
|
"CompareType": "Greater",
|
|
"Denominator": "MaxHP",
|
|
"IsUsePercent": true,
|
|
"Numerator": "CurHP",
|
|
"Target": "Self",
|
|
"Val1": "%AS_OnMotorHPThreshold"
|
|
}
|
|
],
|
|
"SuccessActions": [
|
|
{
|
|
"$type": "SetAnimCtrlerParamAction",
|
|
"BoolVal": true,
|
|
"ParamName": "Bool_SwitchInSkill",
|
|
"ParamType": 2
|
|
},
|
|
{
|
|
"$type": "ApplyModifier",
|
|
"ModifierName": "ListenSwitchInSkillModifier",
|
|
"Target": "Self"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
} |