656 lines
20 KiB
JSON
656 lines
20 KiB
JSON
{
|
|
"AbilityMixins": [
|
|
{
|
|
"$type": "AttachStateWithModifierMixin",
|
|
"ConfigList": [
|
|
{
|
|
"AnimatorStateName": "Attack_Card_S_01_Start",
|
|
"FrameCountHigh": 0,
|
|
"FrameCountLow": 0,
|
|
"IsLoop": false,
|
|
"LayerIndex": 0,
|
|
"MaxFrameCountHigh": true,
|
|
"MaxFrameCountLow": false,
|
|
"ModifierNameList": [
|
|
"CalculateModifier"
|
|
]
|
|
},
|
|
{
|
|
"AnimatorStateName": "Attack_Card_S_01_Loop",
|
|
"FrameCountHigh": 0,
|
|
"FrameCountLow": 0,
|
|
"IsLoop": true,
|
|
"LayerIndex": 0,
|
|
"MaxFrameCountHigh": true,
|
|
"MaxFrameCountLow": false,
|
|
"ModifierNameList": [
|
|
"CalculateModifier"
|
|
]
|
|
},
|
|
{
|
|
"AnimatorStateName": "Attack_Card_S_01_End",
|
|
"FrameCountHigh": 5,
|
|
"FrameCountLow": 0,
|
|
"IsLoop": false,
|
|
"LayerIndex": 0,
|
|
"MaxFrameCountHigh": false,
|
|
"MaxFrameCountLow": false,
|
|
"ModifierNameList": [
|
|
"CalculateModifier"
|
|
]
|
|
},
|
|
{
|
|
"AnimatorStateName": "Attack_Branch_02_Singing_Attack_Hold",
|
|
"FrameCountHigh": 0,
|
|
"FrameCountLow": 0,
|
|
"IsLoop": false,
|
|
"LayerIndex": 0,
|
|
"MaxFrameCountHigh": true,
|
|
"MaxFrameCountLow": false,
|
|
"ModifierNameList": [
|
|
"RemoveChargeTimes"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "ActwithStateFrameMixin",
|
|
"ConfigList": [
|
|
{
|
|
"ActionList": [
|
|
{
|
|
"$type": "SetAbilitySpecialByExpression",
|
|
"DoRefresh": true,
|
|
"Expression": "specials(AS_AddedDamageRatio)*property(ChargeTimesFollow)",
|
|
"ParamName": "AS_AddedDamageRatio_Final_Local",
|
|
"Target": "Self",
|
|
"ValueType": "Float"
|
|
}
|
|
],
|
|
"AnimatorStateName": "Attack_Card_S_01_Start",
|
|
"ForceTriggerOnTransitionIn": true,
|
|
"ForceTriggerOnTransitionOut": false,
|
|
"Frame": 0,
|
|
"IsLoop": false,
|
|
"LayerIndex": 0
|
|
},
|
|
{
|
|
"ActionList": [
|
|
{
|
|
"$type": "SetAbilitySpecialByExpression",
|
|
"DoRefresh": true,
|
|
"Expression": "specials(AS_AddedDamageRatio)*property(ChargeTimesFollow)",
|
|
"ParamName": "AS_AddedDamageRatio_Final_Local",
|
|
"Target": "Self",
|
|
"ValueType": "Float"
|
|
}
|
|
],
|
|
"AnimatorStateName": "Attack_Branch_02_Singing_Attack_Hold",
|
|
"ForceTriggerOnTransitionIn": true,
|
|
"ForceTriggerOnTransitionOut": false,
|
|
"Frame": 0,
|
|
"IsLoop": false,
|
|
"LayerIndex": 0
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "ActionsOnPropertyChangeMixin",
|
|
"DoInitialCheck": false,
|
|
"PropertyActions": [
|
|
{
|
|
"InstantPropertyChangeActions": [
|
|
{
|
|
"$type": "SetAbilitySpecialByExpression",
|
|
"DoRefresh": true,
|
|
"Expression": "specials(SP_Delta_Pool)+(-1*specials(SP_Delta_Cache))",
|
|
"ParamName": "SP_Delta_Pool",
|
|
"Predicates": [
|
|
{
|
|
"$type": "ByAbilitySpecial",
|
|
"CompareType": "Less",
|
|
"Param": 0,
|
|
"ParamName": "SP_Delta_Cache",
|
|
"ParamType": "Float"
|
|
}
|
|
],
|
|
"Target": "Self",
|
|
"ValueType": "Float"
|
|
},
|
|
{
|
|
"$type": "BranchOperator",
|
|
"Conditions": [
|
|
{
|
|
"$type": "ByAbilitySpecial",
|
|
"CompareType": "GreaterEqual",
|
|
"Param": 25,
|
|
"ParamName": "SP_Delta_Pool",
|
|
"ParamType": "Float",
|
|
"Target": "Caster"
|
|
}
|
|
],
|
|
"SuccessActions": [
|
|
{
|
|
"$type": "ModifyProperty",
|
|
"Amount": 1,
|
|
"CustomPropertyType": "ChargeTimesFollow",
|
|
"IsUsePercentage": false,
|
|
"Percentage": 0,
|
|
"Predicates": [
|
|
{
|
|
"$type": "ByPlayerPropertyValue",
|
|
"CompareType": "Less",
|
|
"CustomDenominator": "ChargeTimesFollowMax",
|
|
"CustomNumerator": "ChargeTimesFollow",
|
|
"Denominator": "Custom",
|
|
"IsUsePercent": false,
|
|
"Numerator": "Custom",
|
|
"Target": "Caster",
|
|
"Val1": 3
|
|
}
|
|
],
|
|
"PropertyModifyFunction": "Add",
|
|
"PropertyType": "Custom",
|
|
"Target": "Caster"
|
|
},
|
|
{
|
|
"$type": "ModifyProperty",
|
|
"Amount": 1,
|
|
"CustomPropertyType": "ChargeTimesFollow",
|
|
"IsUsePercentage": false,
|
|
"Percentage": 0,
|
|
"Predicates": [
|
|
{
|
|
"$type": "ByPlayerPropertyValue",
|
|
"CompareType": "Less",
|
|
"CustomDenominator": "ChargeTimesFollowMax",
|
|
"CustomNumerator": "ChargeTimesFollow",
|
|
"Denominator": "Custom",
|
|
"IsUsePercent": false,
|
|
"Numerator": "Custom",
|
|
"Target": "Caster",
|
|
"Val1": 3
|
|
},
|
|
{
|
|
"$type": "ByAbilitySpecial",
|
|
"CompareType": "GreaterEqual",
|
|
"Param": 50,
|
|
"ParamName": "SP_Delta_Pool",
|
|
"ParamType": "Float",
|
|
"Target": "Caster"
|
|
}
|
|
],
|
|
"PropertyModifyFunction": "Add",
|
|
"PropertyType": "Custom",
|
|
"Target": "Caster"
|
|
},
|
|
{
|
|
"$type": "ModifyProperty",
|
|
"Amount": 1,
|
|
"CustomPropertyType": "ChargeTimesFollow",
|
|
"IsUsePercentage": false,
|
|
"Percentage": 0,
|
|
"Predicates": [
|
|
{
|
|
"$type": "ByPlayerPropertyValue",
|
|
"CompareType": "Less",
|
|
"CustomDenominator": "ChargeTimesFollowMax",
|
|
"CustomNumerator": "ChargeTimesFollow",
|
|
"Denominator": "Custom",
|
|
"IsUsePercent": false,
|
|
"Numerator": "Custom",
|
|
"Target": "Caster",
|
|
"Val1": 3
|
|
},
|
|
{
|
|
"$type": "ByAbilitySpecial",
|
|
"CompareType": "GreaterEqual",
|
|
"Param": 75,
|
|
"ParamName": "SP_Delta_Pool",
|
|
"ParamType": "Float",
|
|
"Target": "Caster"
|
|
}
|
|
],
|
|
"PropertyModifyFunction": "Add",
|
|
"PropertyType": "Custom",
|
|
"Target": "Caster"
|
|
},
|
|
{
|
|
"$type": "SetAbilitySpecialByExpression",
|
|
"DoRefresh": true,
|
|
"Expression": "specials(AS_AddedDamageRatio)*property(ChargeTimesFollow)",
|
|
"ParamName": "AS_AddedDamageRatio_Final",
|
|
"Target": "Self",
|
|
"ValueType": "Float"
|
|
},
|
|
{
|
|
"$type": "SetAbilitySpecialAction",
|
|
"DoRefresh": true,
|
|
"ModifyFunction": "Mod",
|
|
"Param": "%AS_DecreaseSP",
|
|
"ParamName": "SP_Delta_Pool",
|
|
"ParamType": "Float",
|
|
"Target": "Self"
|
|
},
|
|
{
|
|
"$type": "SetAnimCtrlerParamAction",
|
|
"BoolVal": true,
|
|
"ParamName": "Bool_Card_FullCharge",
|
|
"ParamType": 2,
|
|
"Predicates": [
|
|
{
|
|
"$type": "ByPlayerPropertyValue",
|
|
"CompareType": "GreaterEqual",
|
|
"CustomDenominator": "ChargeTimesFollowMax",
|
|
"CustomNumerator": "ChargeTimesFollow",
|
|
"Denominator": "Custom",
|
|
"IsUsePercent": false,
|
|
"Numerator": "Custom",
|
|
"Target": "Caster",
|
|
"Val1": 3
|
|
}
|
|
],
|
|
"Target": "Self"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"IsSaveToSpecial": true,
|
|
"IsUsePercentage": false,
|
|
"NameSaveToSpecial": "SP_Delta_Cache",
|
|
"PropertyType": "CurSP"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "ActionsOnPropertyChangeMixin",
|
|
"PropertyActions": [
|
|
{
|
|
"IsUsePercentage": false,
|
|
"PropertyType": "CurSP",
|
|
"ReferMaxPropertyType": "MaxSP",
|
|
"ValueRangeActions": [
|
|
{
|
|
"LowToValueActions": [
|
|
{
|
|
"$type": "SetAbilitySpecialAction",
|
|
"DoRefresh": true,
|
|
"ModifyFunction": "Replace",
|
|
"Param": 1,
|
|
"ParamName": "AS_ShouldBuffDamage",
|
|
"ParamType": "Integer",
|
|
"Target": "Self"
|
|
}
|
|
],
|
|
"Val": 25
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"AbilityName": "Astra_Card_ChargeTimes",
|
|
"AbilitySpecials": {
|
|
"AS_AddedDamageRatio": {
|
|
"Value": 0,
|
|
"ValueType": "Float"
|
|
},
|
|
"AS_AddedDamageRatio_Final": {
|
|
"Value": 0,
|
|
"ValueType": "Float"
|
|
},
|
|
"AS_AddedDamageRatio_Final_Local": {
|
|
"Value": 0,
|
|
"ValueType": "Float"
|
|
},
|
|
"AS_DecreaseSP": {
|
|
"Value": 25,
|
|
"ValueType": "Float"
|
|
},
|
|
"AS_RecoverSP_PerStack": {
|
|
"Value": 0,
|
|
"ValueType": "Float"
|
|
},
|
|
"AS_ShouldBuffDamage": {
|
|
"Value": 0,
|
|
"ValueType": "Float"
|
|
},
|
|
"SP_Delta_Cache": {
|
|
"Value": 0,
|
|
"ValueType": "Float"
|
|
},
|
|
"SP_Delta_Pool": {
|
|
"Value": 0,
|
|
"ValueType": "Float"
|
|
}
|
|
},
|
|
"AbilityStacking": "Unique",
|
|
"DefaultModifier": {
|
|
"OnCustomEventReceived": [
|
|
{
|
|
"$type": "BranchOperator",
|
|
"Conditions": [
|
|
{
|
|
"$type": "ByPlayerPropertyValue",
|
|
"CompareType": "GreaterEqual",
|
|
"CustomDenominator": "ChargeTimesFollowMax",
|
|
"CustomNumerator": "ChargeTimesFollow",
|
|
"Denominator": "Custom",
|
|
"IsUsePercent": false,
|
|
"Numerator": "Custom",
|
|
"Target": "Caster",
|
|
"Val1": 1
|
|
}
|
|
],
|
|
"Predicates": [
|
|
{
|
|
"$type": "ByCustomEvent",
|
|
"EventKey": "Astra_Card_S_01_DecreaseCharge"
|
|
}
|
|
],
|
|
"SuccessActions": [
|
|
{
|
|
"$type": "ModifyProperty",
|
|
"Amount": -1,
|
|
"CustomPropertyType": "ChargeTimesFollow",
|
|
"IsUsePercentage": false,
|
|
"Percentage": 0,
|
|
"PropertyModifyFunction": "Add",
|
|
"PropertyType": "Custom",
|
|
"Target": "Caster"
|
|
},
|
|
{
|
|
"$type": "RecoverSPAction",
|
|
"Amount": "%AS_RecoverSP_PerStack",
|
|
"Target": "Caster"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "SetAnimCtrlerParamAction",
|
|
"BoolVal": false,
|
|
"ParamName": "Bool_Card_FullCharge",
|
|
"ParamType": 2,
|
|
"Predicates": [
|
|
{
|
|
"$type": "ByCustomEvent",
|
|
"EventKey": "Astra_Card_S_01_DecreaseCharge"
|
|
},
|
|
{
|
|
"$type": "ByPlayerPropertyValue",
|
|
"CompareType": "Less",
|
|
"CustomDenominator": "ChargeTimesFollowMax",
|
|
"CustomNumerator": "ChargeTimesFollow",
|
|
"Denominator": "Custom",
|
|
"IsUsePercent": false,
|
|
"Numerator": "Custom",
|
|
"Target": "Caster",
|
|
"Val1": 3
|
|
}
|
|
],
|
|
"Target": "Self"
|
|
},
|
|
{
|
|
"$type": "SetAbilitySpecialAction",
|
|
"DoRefresh": true,
|
|
"ModifyFunction": "Replace",
|
|
"Param": 0,
|
|
"ParamName": "AS_ShouldBuffDamage",
|
|
"ParamType": "Integer",
|
|
"Predicates": [
|
|
{
|
|
"$type": "ByCustomEvent",
|
|
"EventKey": "Astra_Card_S_02_NotEnoughSP"
|
|
}
|
|
],
|
|
"Target": "Self"
|
|
}
|
|
],
|
|
"OnHitOther": [
|
|
{
|
|
"$type": "ModifyAttackDataAction",
|
|
"Predicates": [
|
|
{
|
|
"$type": "ByOr",
|
|
"Predicates": [
|
|
{
|
|
"$type": "ByAnimTagList",
|
|
"TagList": [
|
|
"AttackSpecial",
|
|
"ThunderAttack"
|
|
],
|
|
"Target": "Self"
|
|
},
|
|
{
|
|
"$type": "ByAnimEventIDs",
|
|
"AnimEventIDs": [
|
|
"Astra_Attack_Branch_SingAttack_Combo_AttackProperty_01",
|
|
"Astra_Attack_Branch_SingAttack_Combo_AttackProperty_02",
|
|
"Astra_Attack_Branch_SingAttack_Perfect_AttackProperty_01",
|
|
"Astra_Attack_Branch_SingAttack_Perfect_AttackProperty_02",
|
|
"Astra_Attack_Branch_SingAttack_Single_AttackProperty_01"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "ByAbilitySpecial",
|
|
"CompareType": "Equal",
|
|
"Param": 1,
|
|
"ParamName": "AS_ShouldBuffDamage",
|
|
"ParamType": "Integer",
|
|
"Target": "Caster"
|
|
}
|
|
],
|
|
"PropertyKey": "Actor_AddedDamageRatio",
|
|
"PropertyValue": "%AS_AddedDamageRatio_Final",
|
|
"Target": "Self"
|
|
},
|
|
{
|
|
"$type": "ModifyAttackDataAction",
|
|
"Predicates": [
|
|
{
|
|
"$type": "ByAnimEventIDs",
|
|
"AnimEventIDs": [
|
|
"Astra_Attack_Card_S_01_AttackProperty_01",
|
|
"Astra_Attack_Card_S_01_AttackProperty_01_ExSP",
|
|
"Astra_Attack_Card_S_01_AttackProperty_02",
|
|
"Astra_Attack_Branch_SingAttack_Hold_AttackProperty_01"
|
|
]
|
|
}
|
|
],
|
|
"PropertyKey": "Actor_AddedDamageRatio",
|
|
"PropertyValue": "%AS_AddedDamageRatio_Final_Local",
|
|
"Target": "Self"
|
|
}
|
|
],
|
|
"OnRemoved": [
|
|
{
|
|
"$type": "ModifyProperty",
|
|
"Amount": 0,
|
|
"CustomPropertyType": "ChargeTimesFollow",
|
|
"IsUsePercentage": false,
|
|
"Percentage": 0,
|
|
"PropertyModifyFunction": "Replace",
|
|
"PropertyType": "Custom",
|
|
"Target": "Caster"
|
|
},
|
|
{
|
|
"$type": "SetAbilitySpecialByExpression",
|
|
"DoRefresh": true,
|
|
"Expression": "specials(AS_AddedDamageRatio)*property(ChargeTimesFollow)",
|
|
"ParamName": "AS_AddedDamageRatio_Final",
|
|
"Target": "Self",
|
|
"ValueType": "Float"
|
|
},
|
|
{
|
|
"$type": "SetAnimCtrlerParamAction",
|
|
"BoolVal": false,
|
|
"ParamName": "Bool_Card_FullCharge",
|
|
"ParamType": 2,
|
|
"Target": "Self"
|
|
}
|
|
],
|
|
"OnSkillStart": [
|
|
{
|
|
"$type": "SetAbilitySpecialAction",
|
|
"DoRefresh": true,
|
|
"ModifyFunction": "Replace",
|
|
"Param": 0,
|
|
"ParamName": "AS_ShouldBuffDamage",
|
|
"ParamType": "Integer",
|
|
"Predicates": [
|
|
{
|
|
"$type": "ByPlayerPropertyValue",
|
|
"CompareType": "Less",
|
|
"Denominator": "MaxSP",
|
|
"IsUsePercent": false,
|
|
"Numerator": "CurSP",
|
|
"Target": "Caster",
|
|
"Val1": 25
|
|
},
|
|
{
|
|
"$type": "ByOr",
|
|
"Predicates": [
|
|
{
|
|
"$type": "ByFromSkillID",
|
|
"SkillID": "Astra_ExSp"
|
|
},
|
|
{
|
|
"$type": "ByFromSkillID",
|
|
"SkillID": "Astra_Sp"
|
|
},
|
|
{
|
|
"$type": "ByFromSkillID",
|
|
"SkillID": "Astra_SingAttack"
|
|
},
|
|
{
|
|
"$type": "ByFromSkillID",
|
|
"SkillID": "Astra_SingAttack_Hold"
|
|
},
|
|
{
|
|
"$type": "ByFromSkillID",
|
|
"SkillID": "Astra_SingAttack_Perfect"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"Target": "Self"
|
|
}
|
|
]
|
|
},
|
|
"Modifiers": {
|
|
"CalculateModifier": {
|
|
"Duration": -1,
|
|
"ModifierStacking": "Unique",
|
|
"OnRemoved": [
|
|
{
|
|
"$type": "SetAbilitySpecialByExpression",
|
|
"DoRefresh": true,
|
|
"Expression": "specials(AS_AddedDamageRatio)*property(ChargeTimesFollow)",
|
|
"ParamName": "AS_AddedDamageRatio_Final",
|
|
"Target": "Self",
|
|
"ValueType": "Float"
|
|
}
|
|
]
|
|
},
|
|
"DelayCalculateModifier": {
|
|
"Duration": 1,
|
|
"ModifierStacking": "Refresh",
|
|
"OnRemoved": [
|
|
{
|
|
"$type": "SetAbilitySpecialByExpression",
|
|
"DoRefresh": true,
|
|
"Expression": "specials(AS_AddedDamageRatio)*property(ChargeTimesFollow)",
|
|
"ParamName": "AS_AddedDamageRatio_Final",
|
|
"Target": "Self",
|
|
"ValueType": "Float"
|
|
}
|
|
]
|
|
},
|
|
"RemoveChargeTimes": {
|
|
"Duration": -1,
|
|
"ModifierStacking": "Unique",
|
|
"OnAdded": [
|
|
{
|
|
"$type": "RecoverSPAction",
|
|
"Amount": "%AS_RecoverSP_PerStack",
|
|
"Predicates": [
|
|
{
|
|
"$type": "ByPlayerPropertyValue",
|
|
"CompareType": "GreaterEqual",
|
|
"CustomDenominator": "ChargeTimesFollowMax",
|
|
"CustomNumerator": "ChargeTimesFollow",
|
|
"Denominator": "Custom",
|
|
"IsUsePercent": false,
|
|
"Numerator": "Custom",
|
|
"Target": "Caster",
|
|
"Val1": 1
|
|
}
|
|
],
|
|
"Target": "Caster"
|
|
},
|
|
{
|
|
"$type": "RecoverSPAction",
|
|
"Amount": "%AS_RecoverSP_PerStack",
|
|
"Predicates": [
|
|
{
|
|
"$type": "ByPlayerPropertyValue",
|
|
"CompareType": "GreaterEqual",
|
|
"CustomDenominator": "ChargeTimesFollowMax",
|
|
"CustomNumerator": "ChargeTimesFollow",
|
|
"Denominator": "Custom",
|
|
"IsUsePercent": false,
|
|
"Numerator": "Custom",
|
|
"Target": "Caster",
|
|
"Val1": 2
|
|
}
|
|
],
|
|
"Target": "Caster"
|
|
},
|
|
{
|
|
"$type": "RecoverSPAction",
|
|
"Amount": "%AS_RecoverSP_PerStack",
|
|
"Predicates": [
|
|
{
|
|
"$type": "ByPlayerPropertyValue",
|
|
"CompareType": "GreaterEqual",
|
|
"CustomDenominator": "ChargeTimesFollowMax",
|
|
"CustomNumerator": "ChargeTimesFollow",
|
|
"Denominator": "Custom",
|
|
"IsUsePercent": false,
|
|
"Numerator": "Custom",
|
|
"Target": "Caster",
|
|
"Val1": 3
|
|
}
|
|
],
|
|
"Target": "Caster"
|
|
}
|
|
],
|
|
"OnRemoved": [
|
|
{
|
|
"$type": "ModifyProperty",
|
|
"Amount": 0,
|
|
"CustomPropertyType": "ChargeTimesFollow",
|
|
"IsUsePercentage": false,
|
|
"Percentage": 0,
|
|
"PropertyModifyFunction": "Replace",
|
|
"PropertyType": "Custom",
|
|
"Target": "Caster"
|
|
},
|
|
{
|
|
"$type": "SetAnimCtrlerParamAction",
|
|
"BoolVal": false,
|
|
"ParamName": "Bool_Card_FullCharge",
|
|
"ParamType": 2,
|
|
"Target": "Self"
|
|
},
|
|
{
|
|
"$type": "ApplyModifier",
|
|
"ModifierName": "DelayCalculateModifier",
|
|
"Target": "Self"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
} |