{ "AbilityMixins": [ ], "AbilityName": "Astra_Card_S_02", "AbilitySpecials": { "AS_AddedDamageRatio": { "Value": 0.5, "ValueType": "Float" }, "AS_DecreaseSP": { "Value": 25, "ValueType": "Float" }, "AS_RecoverSP": { "Value": 0, "ValueType": "Float" }, "AS_RecoverSP_PerStack": { "Value": 15, "ValueType": "Float" } }, "AbilityStacking": "Unique", "DefaultModifier": { "OnAdded": [ { "$type": "ApplyAbilityAction", "AbilityName": "Astra_Card_ChargeTimes", "IsAutoTrigger": false, "Target": "Self" }, { "$type": "SetTargetAbilitySpecialAction", "Params": [ { "AbilityName": "Astra_Card_ChargeTimes", "AbilitySpecials": [ { "ModifyFunction": "Replace", "Param": "%AS_AddedDamageRatio", "ParamName": "AS_AddedDamageRatio", "ParamType": "Float" } ] }, { "AbilityName": "Astra_Card_ChargeTimes", "AbilitySpecials": [ { "ModifyFunction": "Replace", "Param": "%AS_RecoverSP_PerStack", "ParamName": "AS_RecoverSP_PerStack", "ParamType": "Float" } ] } ] } ], "OnPatternAttackLanded": [ { "$type": "ApplyModifier", "ModifierName": "DecreaseSPModifier", "Predicates": [ { "$type": "ByPlayerPropertyValue", "CompareType": "GreaterEqual", "Denominator": "MaxSP", "IsUsePercent": false, "Numerator": "CurSP", "Target": "Caster", "Val1": "%AS_DecreaseSP" }, { "$type": "ByAnimEventIDs", "AnimEventIDs": [ "Astra_Attack_Branch_SingAttack_Combo_AttackProperty_02", "Astra_Attack_Branch_SingAttack_Single_AttackProperty_01" ] } ], "Target": "Self" }, { "$type": "ApplyModifier", "ModifierName": "RecoverSPModifier", "Predicates": [ { "$type": "ByAnimEventIDs", "AnimEventIDs": [ "Astra_Attack_Branch_SingAttack_Perfect_AttackProperty_02" ] } ], "Target": "Self" } ], "OnRemoved": [ { "$type": "RemoveAbilityAction", "AbilityName": "Astra_Card_ChargeTimes", "Predicates": [ { "$type": "ByNot", "Predicates": [ { "$type": "ByHasAbility", "AbilityNameList": [ "Astra_Card_S_01" ], "Target": "Self" } ] } ], "Target": "Self" } ] }, "Modifiers": { "DecreaseSPModifier": { "Duration": 0.5, "IgnoreTimeScale": false, "ModifierStacking": "Unique", "OnAdded": [ { "$type": "DecreaseSPAction", "Amount": "%AS_DecreaseSP", "Percentage": 0, "Target": "Caster" } ], "OnSkillStart": [ { "$type": "RemoveModifier", "ModifierName": "DecreaseSPModifier", "Predicates": [ { "$type": "ByFromSkillID", "SkillID": "Astra_SingAttack" } ], "Target": "Self" } ] }, "RecoverSPModifier": { "Duration": 0.5, "IgnoreTimeScale": false, "ModifierStacking": "Unique", "OnAdded": [ { "$type": "RecoverSPAction", "Amount": "%AS_RecoverSP", "Percentage": 0, "Target": "Caster" } ], "OnSkillStart": [ { "$type": "RemoveModifier", "ModifierName": "RecoverSPModifier", "Predicates": [ { "$type": "ByFromSkillID", "SkillID": "Astra_SingAttack_Perfect" } ], "Target": "Self" } ] } } }