{ "AbilityMixins": [ { "$type": "AttachStateWithModifierMixin", "ConfigList": [ { "AnimatorStateName": "Attack_Card_S_01_Start", "FrameCountHigh": 0, "FrameCountLow": 0, "IsLoop": false, "LayerIndex": 0, "MaxFrameCountHigh": true, "MaxFrameCountLow": false, "ModifierNameList": [ "CalculateChargeTimesModifier", "DamageTakeRatioModifier", "RBLModifier", "AttachPointModifier" ] }, { "AnimatorStateName": "Attack_Card_S_01_Start", "FrameCountHigh": 62, "FrameCountLow": 31, "IsLoop": false, "LayerIndex": 0, "MaxFrameCountHigh": false, "MaxFrameCountLow": false, "ModifierNameList": [ "WarnEffectModifier" ] }, { "AnimatorStateName": "Attack_Card_S_01_Start", "FrameCountHigh": 0, "FrameCountLow": 62, "IsLoop": false, "LayerIndex": 0, "MaxFrameCountHigh": true, "MaxFrameCountLow": false, "ModifierNameList": [ "LaserModifier", "LaserDurationModifier", "AttachPointModifier" ] }, { "AnimatorStateName": "Attack_Card_S_01_Loop", "FrameCountHigh": 0, "FrameCountLow": 0, "IsLoop": true, "LayerIndex": 0, "MaxFrameCountHigh": true, "MaxFrameCountLow": false, "ModifierNameList": [ "LaserModifier", "LaserDurationModifier", "AttachPointModifier", "DamageTakeRatioModifier", "RBLModifier" ] }, { "AnimatorStateName": "Attack_Card_S_01_End", "FrameCountHigh": 50, "FrameCountLow": 0, "IsLoop": false, "LayerIndex": 0, "MaxFrameCountHigh": false, "MaxFrameCountLow": false, "ModifierNameList": [ "DamageTakeRatioModifier", "RBLModifier" ] }, { "AnimatorStateName": "Attack_Card_S_01_End", "FrameCountHigh": 0, "FrameCountLow": 0, "IsLoop": false, "LayerIndex": 0, "MaxFrameCountHigh": true, "MaxFrameCountLow": false, "ModifierNameList": [ "ListenSwitchOutModifier" ] } ] }, { "$type": "ActwithStateFrameMixin", "ConfigList": [ { "ActionList": [ { "$type": "FireEffect", "EffectPattern": "Eff_Astra_Attack_Card_S_01_Spark", "Predicates": [ { "$type": "ByAbilitySpecial", "CompareType": "GreaterEqual", "Param": 1, "ParamName": "AS_Duration", "ParamType": "Float", "Target": "Caster" } ], "Target": "Self" } ], "AnimatorStateName": "Attack_Card_S_01_End", "ForceTriggerOnTransitionIn": true, "ForceTriggerOnTransitionOut": false, "Frame": 0, "IsLoop": false, "LayerIndex": 0, "MaxFrame": false } ] } ], "AbilityName": "Astra_Card_S_01", "AbilitySpecials": { "AS_DamageTakeRatio": { "Value": -0.8, "ValueType": "Float" }, "AS_DefenceDownRatio": { "Value": -0.3, "ValueType": "Float" }, "AS_Duration": { "Value": 0, "ValueType": "Float" }, "AS_HitEnemy": { "Value": 0, "ValueType": "Integer" }, "AS_RecoverSP": { "Value": 5, "ValueType": "Float" } }, "AbilityStacking": "Unique", "DefaultModifier": { "OnAdded": [ { "$type": "ApplyAbilityAction", "AbilityName": "Astra_Card_ChargeTimes", "IsAutoTrigger": false, "Target": "Self" }, { "$type": "ProcessAttachPointAction", "AttachPointName": "LaserPoint_02", "HierarchyType": "World", "PosRot": { "CoordsOption": "ReferTarget", "Offset": { "AngleOffset": { "x": 0, "y": 0, "z": 0 }, "IsUseRotationXZ": false, "IsUseRotationY": true, "PositionOffset": { "x": 0, "y": 0, "z": 0 } }, "TargetOption": { "$type": "ConfigPosRotReferTarget", "AttachPoint": "Astra_Card_S_01_LaserPoint", "IsUseAttachPointPos": true, "IsUseAttachPointRotation": false, "OffsetReferTarget": "Self" } }, "Target": "Self" }, { "$type": "SetAnimCtrlerParamAction", "BoolVal": true, "ParamName": "Bool_Card_S_01", "ParamType": 2, "Target": "Self" } ], "OnHitOther": [ { "$type": "ApplyModifier", "ModifierName": "DefenceDownModifier", "Predicates": [ { "$type": "ByAnimEventIDs", "AnimEventIDs": [ "Astra_Attack_Card_S_01_AttackProperty_01", "Astra_Attack_Card_S_01_AttackProperty_01_ExSP" ], "Target": "Self" } ], "Target": "Target" } ], "OnRemoved": [ { "$type": "RemoveAbilityAction", "AbilityName": "Astra_Card_ChargeTimes", "Predicates": [ { "$type": "ByNot", "Predicates": [ { "$type": "ByHasAbility", "AbilityNameList": [ "Astra_Card_S_02" ], "Target": "Self" } ] } ], "Target": "Self" }, { "$type": "SetAnimCtrlerParamAction", "BoolVal": false, "ParamName": "Bool_Card_S_01", "ParamType": 2, "Target": "Self" }, { "$type": "SetAnimCtrlerParamAction", "BoolVal": false, "ParamName": "Bool_Card_S_01_Shooting", "ParamType": 2, "Target": "Self" }, { "$type": "SetAnimCtrlerParamAction", "BoolVal": false, "ParamName": "Bool_Card_S_01_SwitchOut", "ParamType": 2, "Target": "Self" } ] }, "Modifiers": { "AidAttackModifier": { "Duration": 1.5, "IgnoreTimeScale": false, "ModifierStacking": "Refresh", "OnAdded": [ { "$type": "HandleAnimatorZoneTagsAction", "AnimatorStateTags": [ "AidAttack_Common" ], "IsAdd": true, "Target": "Self" } ], "OnRemoved": [ { "$type": "HandleAnimatorZoneTagsAction", "AnimatorStateTags": [ "AidAttack_Common" ], "IsAdd": false, "Target": "Self" } ], "OnSwitchTriggered": [ { "$type": "HandleAnimatorZoneTagsAction", "AnimatorStateTags": [ "AidAttack_Common" ], "IsAdd": false, "Target": "Self" } ] }, "AttachPointModifier": { "Duration": -1, "IgnoreTimeScale": false, "ModifierMixins": [ { "$type": "AttachPointFollowMixin", "AttachPointName": "LaserPoint_02", "FollowPosRot": { "Offset": { "AngleOffset": { "x": 0, "y": 0, "z": 0 }, "IsUseRotationXZ": true, "IsUseRotationY": true, "PositionOffset": { "x": 0, "y": 0, "z": 0 } }, "TargetOption": { "$type": "ConfigPosRotReferTarget", "AttachPoint": "Ctr_Wpn_Laba", "IsUseAttachPointPos": true, "IsUseAttachPointRotation": true, "OffsetReferTarget": "Self" } }, "PosSpeed": 1, "PosType": "Instant", "RotRatio": 8, "RotType": "Instant" } ], "ModifierStacking": "Unique" }, "CalculateChargeTimesModifier": { "Duration": 0.03, "IgnoreTimeScale": false, "ModifierStacking": "Replace", "OnAdded": [ { "$type": "SetAbilitySpecialByExpression", "DoRefresh": true, "Expression": "min(3,0.03+property(ChargeTimesFollow))", "ParamName": "AS_Duration", "Target": "Self", "ValueType": "Float" }, { "$type": "SendCustomEvent", "EventKey": "Astra_Card_S_01_Splash", "Target": "Self" }, { "$type": "SendCustomEvent", "EventKey": "Astra_Card_S_01_FullChargeSplash", "Predicates": [ { "$type": "ByAbilitySpecial", "CompareType": "GreaterEqual", "Param": 3, "ParamName": "AS_Duration", "ParamType": "Float", "Target": "Caster" } ], "Target": "Self" } ] }, "DamageTakeRatioModifier": { "Duration": -1, "IgnoreTimeScale": false, "ModifierStacking": "Unique", "Properties": { "Actor_DamageTakeRatio": "%AS_DamageTakeRatio" } }, "DefenceDownModifier": { "Duration": 15, "IgnoreTimeScale": false, "ModifierStacking": "Refresh", "Properties": { "Actor_DefenceRatio": "%AS_DefenceDownRatio" } }, "LaserDurationModifier": { "Duration": "%AS_Duration", "IgnoreTimeScale": false, "ModifierStacking": "Replace", "OnAdded": [ { "$type": "SetAnimCtrlerParamAction", "BoolVal": true, "ParamName": "Bool_Card_S_01_Shooting", "ParamType": 2, "Target": "Self" }, { "$type": "SendCustomEvent", "EventKey": "Astra_Card_S_01_DecreaseCharge", "Target": "Self" } ], "OnRemoved": [ { "$type": "SetAnimCtrlerParamAction", "BoolVal": false, "ParamName": "Bool_Card_S_01_Shooting", "ParamType": 2, "Target": "Self" }, { "$type": "ApplyModifier", "ModifierName": "AidAttackModifier", "Predicates": [ { "$type": "ByAbilitySpecial", "CompareType": "Equal", "Param": 1, "ParamName": "AS_HitEnemy", "ParamType": "Integer", "Target": "Caster" } ], "Target": "Self" } ], "OnThinkInterval": [ { "$type": "SendCustomEvent", "EventKey": "Astra_Card_S_01_DecreaseCharge", "Target": "Self" } ], "ThinkInterval": 1 }, "LaserModifier": { "Duration": -1, "IgnoreTimeScale": false, "ModifierStacking": "Unique", "OnAdded": [ { "$type": "SetAbilitySpecialAction", "ModifyFunction": "Replace", "Param": 0, "ParamName": "AS_HitEnemy", "ParamType": "Integer", "Target": "Caster" }, { "$type": "SetAnimCtrlerParamAction", "BoolVal": true, "ParamName": "Bool_Card_S_01_Shooting", "ParamType": 2, "Target": "Self" }, { "$type": "AttachEffect", "AttachEffectPosRot": { "CoordsOption": "ReferTarget", "Offset": { "AngleOffset": { "x": 0, "y": 0, "z": 0 }, "IsUseRotationXZ": true, "IsUseRotationY": true, "PositionOffset": { "x": -0.2, "y": -1.2, "z": -1 } }, "TargetOption": { "$type": "ConfigPosRotReferTarget", "AttachPoint": "LaserPoint_02", "IsUseAttachPointPos": true, "IsUseAttachPointRotation": true, "OffsetReferTarget": "Self" } }, "EffectPattern": "Eff_Astra_Attack_Card_S_01_Aura", "Target": "Self" }, { "$type": "FireEffect", "EffectPattern": "Eff_Astra_Attack_Card_S_01_Burst", "Target": "Self" }, { "$type": "BranchOperator", "Conditions": [ { "$type": "ByHasAbility", "AbilityNameList": [ "Astra_Card_A_01" ], "Target": "Self" } ], "FailureActions": [ { "$type": "HandleAnimEvent", "AnimEventID": "Astra_Attack_Card_S_01_AttackProperty_01", "Target": "Self" } ], "SuccessActions": [ { "$type": "HandleAnimEvent", "AnimEventID": "Astra_Attack_Card_S_01_AttackProperty_01_ExSP", "Target": "Self" } ] }, { "$type": "TriggerAbilityAction", "AbilityName": "Astra_Branch_Singing", "Target": "Self" } ], "OnHitOther": [ { "$type": "SetAbilitySpecialAction", "ModifyFunction": "Replace", "Param": 1, "ParamName": "AS_HitEnemy", "ParamType": "Integer", "Predicates": [ { "$type": "ByAnimEventIDs", "AnimEventIDs": [ "Astra_Attack_Card_S_01_AttackProperty_01", "Astra_Attack_Card_S_01_AttackProperty_01_ExSP" ], "Target": "Self" } ], "Target": "Caster" } ] }, "ListenSwitchOutModifier": { "Duration": -1, "IgnoreTimeScale": false, "ModifierStacking": "Unique", "OnAdded": [ { "$type": "SetAnimCtrlerParamAction", "BoolVal": false, "ParamName": "Bool_Card_S_01_SwitchOut", "ParamType": 2, "Target": "Self" } ], "OnSwitchTriggered": [ { "$type": "SetAnimCtrlerParamAction", "BoolVal": true, "ParamName": "Bool_Card_S_01_SwitchOut", "ParamType": 2, "Target": "Self" } ] }, "RBLModifier": { "Duration": -1, "ModifierStacking": "Unique", "OnAdded": [ { "$type": "SetRBLAction", "RBL": 6, "Tag": "Astra_Card_S_01", "Target": "Self" } ], "OnRemoved": [ { "$type": "UnsetRBLAction", "Tag": "Astra_Card_S_01", "Target": "Self" } ] }, "WarnEffectModifier": { "Duration": -1, "IgnoreTimeScale": false, "ModifierStacking": "Unique", "OnAdded": [ { "$type": "AttachEffect", "AttachEffectPosRot": { "CoordsOption": "ReferTarget", "Offset": { "AngleOffset": { "x": 0, "y": 0, "z": 0 }, "IsUseRotationXZ": true, "IsUseRotationY": true, "PositionOffset": { "x": -0.2, "y": -1.2, "z": -1 } }, "TargetOption": { "$type": "ConfigPosRotReferTarget", "AttachPoint": "LaserPoint_02", "IsUseAttachPointPos": true, "IsUseAttachPointRotation": true, "OffsetReferTarget": "Self" } }, "EffectPattern": "Eff_Astra_Attack_Card_S_01_Line", "Target": "Self" } ] } } }