1
0
ZenlessData/Data/Astra_Card_ChargeTimes.json
2025-03-11 21:10:23 -03:00

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"
}
]
}
}
}