{ "AbilityMixins": [ { "$type": "WatchEntityMixin", "EntityTypes": [ "Avatar" ], "OnEntityAwaked": [ { "$type": "ApplyModifier", "ModifierName": "ChainAttackModifier_Controller", "Target": "TeamAvatars" }, { "$type": "RemoveModifier", "ModifierName": "ChainAttackModifier_Controller", "Target": "Self" } ], "Relationships": [ "Allied" ] }, { "$type": "AttachStateWithModifierMixin", "ConfigList": [ { "AnimatorStateName": "Attack_ChainAttack_01", "FrameCountHigh": 40, "FrameCountLow": 0, "IsLoop": false, "LayerIndex": 0, "MaxFrameCountHigh": false, "MaxFrameCountLow": false, "ModifierNameList": [ "ChainAttackModifier_Interrupt_Effect" ] }, { "AnimatorStateName": "Attack_ChainAttack_01", "FrameCountHigh": 45, "FrameCountLow": 0, "IsLoop": false, "LayerIndex": 0, "MaxFrameCountHigh": false, "MaxFrameCountLow": false, "ModifierNameList": [ "ChainAttackModifier_Interrupt_Animation" ] }, { "AnimatorStateName": "Attack_ChainAttack_02", "FrameCountHigh": 60, "FrameCountLow": 0, "IsLoop": false, "LayerIndex": 0, "MaxFrameCountHigh": false, "MaxFrameCountLow": false, "ModifierNameList": [ "ChainAttackModifier_Interrupt_Effect" ] }, { "AnimatorStateName": "Attack_ChainAttack_02", "FrameCountHigh": 60, "FrameCountLow": 0, "IsLoop": false, "LayerIndex": 0, "MaxFrameCountHigh": false, "MaxFrameCountLow": false, "ModifierNameList": [ "ChainAttackModifier_Interrupt_Animation" ] } ] } ], "AbilityName": "Pulchra_ChainAttack", "AbilitySpecials": { "AS_ChainAttck_OnStage_Index": { "Value": 1 }, "AS_IntervalCD": { "Value": 0.6 } }, "AbilityStacking": "Unique", "DefaultModifier": { "OnAdded": [ { "$type": "ApplyModifier", "ModifierName": "ChainAttackCountSubModifier", "Target": "Self" } ], "OnSkillStart": [ { "$type": "ModifyPerfectSwitchPointAction", "Amount": -1, "ModifyFunction": "Add", "Predicates": [ { "$type": "ByFromSkillType", "SkillType": "AssaultAid", "Target": "Self" } ] } ], "OnSwitchTriggered": [ { "$type": "SetAnimCtrlerParamAction", "BoolVal": false, "ParamName": "Trigger_Switch_Out", "ParamType": 1, "Predicates": [ { "$type": "ByIsLocalAvatar", "IsLocalAvatar": true, "Target": "Self" } ], "Target": "Self" }, { "$type": "InterruptScreenEffectAction", "EffectType": "RadialBlur", "Predicates": [ { "$type": "ByIsLocalAvatar", "IsLocalAvatar": true, "Target": "Self" } ], "TargetKey": "FireSupport_Trigger_RadialBlur_01" }, { "$type": "InterruptScreenEffectAction", "EffectType": "Vignette", "Predicates": [ { "$type": "ByIsLocalAvatar", "IsLocalAvatar": true, "Target": "Self" } ], "TargetKey": "FireSupport_Trigger_Vignette_01" }, { "$type": "InterruptScreenEffectAction", "EffectKey": "FireSupport_Trigger_ColorAdjustments_01", "EffectType": "ColorAdjustments", "Predicates": [ { "$type": "ByIsLocalAvatar", "IsLocalAvatar": true, "Target": "Self" } ] }, { "$type": "InterruptScreenEffectAction", "EffectType": "FXFog", "Predicates": [ { "$type": "ByIsLocalAvatar", "IsLocalAvatar": true, "Target": "Self" } ], "TargetKey": "FireSupport_Trigger_FXFog_01" } ], "OnTeamAvatarConstructed": [ { "$type": "ApplyModifier", "ModifierName": "ChainAttackModifier_Controller", "Target": "TeamAvatars" }, { "$type": "RemoveModifier", "ModifierName": "ChainAttackModifier_Controller", "Target": "Self" } ] }, "Modifiers": { "ChainAttackCountSubModifier": { "Duration": -1, "ModifierStacking": "Unique", "OnSkillStart": [ { "$type": "ModifyProperty", "Amount": -1, "CustomPropertyType": "ChainAttackTime", "IsUsePercentage": false, "Percentage": 0, "Predicates": [ { "$type": "ByFromSkillID", "SkillID": "Pulchra_ChainAttack" } ], "PropertyModifyFunction": "Add", "PropertyType": "Custom" } ] }, "ChainAttackModifier_ChainAttack_01_First": { "Duration": 0.6, "ModifierStacking": "Unique", "OnAdded": [ { "$type": "SetSelfAttackTargetAction", "ForceOverride": true, "IgnoreSetAttackTargetCD": true, "OnlySetOnNull": false, "Source": "LocalAvatar", "Target": "Self" }, { "$type": "FireEffect", "EffectPattern": "Eff_FireSupport_UI", "FireEffectPosRot": { "CoordsOption": "ReferTarget", "NeedRaycastGround": false, "Offset": { "AngleOffset": { "x": 0, "y": 0, "z": 0 }, "IsUseRotationXZ": true, "IsUseRotationY": true, "PositionOffset": { "x": 0, "y": 0, "z": 0 }, "RandomAngleRange": { "x": 0, "y": 0, "z": 0 }, "RandomPositionRange": { "x": 0, "y": 0, "z": 0 } }, "TargetOption": { "$type": "ConfigPosRotReferTarget", "OffsetReferTarget": "Camera" } }, "Predicates": [ { "$type": "ByNot", "Predicates": [ { "$type": "ByIsInZoneTags", "Tags": [ "Player_IsInQTEWindow" ], "Target": "LocalAvatar" } ] } ], "Target": "Self" }, { "$type": "TriggerSoundAction", "Predicates": [ { "$type": "ByNot", "Predicates": [ { "$type": "ByIsInZoneTags", "Tags": [ "Player_IsInQTEWindow" ], "Target": "LocalAvatar" } ] } ], "soundActionKey": "Play_SFX_Char_Skill_ChainAttack_Start_Pulchra" }, { "$type": "ProcessScreenEffectAction", "EffectKey": "FireSupport_Trigger_RadialBlur_01", "EffectType": "RadialBlur", "Predicates": [ { "$type": "ByNot", "Predicates": [ { "$type": "ByIsInZoneTags", "Tags": [ "Player_IsInQTEWindow" ], "Target": "LocalAvatar" } ] } ] }, { "$type": "ProcessScreenEffectAction", "EffectKey": "FireSupport_Trigger_Vignette_01", "EffectType": "Vignette", "Predicates": [ { "$type": "ByNot", "Predicates": [ { "$type": "ByIsInZoneTags", "Tags": [ "Player_IsInQTEWindow" ], "Target": "LocalAvatar" } ] } ] }, { "$type": "ProcessScreenEffectAction", "EffectKey": "FireSupport_Trigger_ColorAdjustments_01", "EffectType": "ColorAdjustments", "Predicates": [ { "$type": "ByNot", "Predicates": [ { "$type": "ByIsInZoneTags", "Tags": [ "Player_IsInQTEWindow" ], "Target": "LocalAvatar" } ] } ] }, { "$type": "ProcessScreenEffectAction", "EffectKey": "FireSupport_Trigger_FXFog_01", "EffectType": "FXFog", "Predicates": [ { "$type": "ByNot", "Predicates": [ { "$type": "ByIsInZoneTags", "Tags": [ "Player_IsInQTEWindow" ], "Target": "LocalAvatar" } ] } ] }, { "$type": "TimeSlowByConfigKeyAction", "ConfigKey": "Avatar_Common_ChainAttack_TimeSlow_01", "IsGlobal": true }, { "$type": "BranchOperator", "Conditions": [ { "$type": "ByIsInZoneTags", "Tags": [ "Avatar_ChainAttack_OnStage_01" ], "Target": "Self" } ], "FailureActions": [ { "$type": "HandleAnimatorZoneTagsAction", "AnimatorStateTags": [ "Avatar_ChainAttack_OnStage_01" ], "IsAdd": true, "Target": "TeamAvatars" }, { "$type": "SetAbilitySpecialAction", "ModifyFunction": "Replace", "Param": 1, "ParamName": "AS_ChainAttck_OnStage_Index", "ParamType": "Integer" } ], "SuccessActions": [ { "$type": "HandleAnimatorZoneTagsAction", "AnimatorStateTags": [ "Avatar_ChainAttack_OnStage_02" ], "IsAdd": true, "Target": "TeamAvatars" }, { "$type": "SetAbilitySpecialAction", "ModifyFunction": "Replace", "Param": 2, "ParamName": "AS_ChainAttck_OnStage_Index", "ParamType": "Integer" } ] }, { "$type": "SetAnimCtrlerParamAction", "IntVal": 0, "ParamName": "Int_ChainAttackType", "ParamType": 3, "Target": "Self" }, { "$type": "CoAttackStartAction", "MaxSwitchPositionSearchDistance": 40, "Predicates": [ { "$type": "ByAbilitySpecial", "CompareType": "Equal", "Param": 1, "ParamName": "AS_ChainAttck_OnStage_Index", "ParamType": "Integer", "Target": "Self" } ], "SwitchInIndex": 70, "TargetAvatarID": 1351, "TargetPosRot": { "CoordsOption": "Camera", "Offset": { "AngleOffset": { "x": 0, "y": 0, "z": 0 }, "IsClampOffsetDistance": false, "PositionOffset": { "x": 5, "y": 0, "z": 7 } }, "TargetOption": { "$type": "ConfigPosRotReferTarget", "OffsetReferTarget": "LastLocalAvatarAttackTarget" } } }, { "$type": "CoAttackStartAction", "MaxSwitchPositionSearchDistance": 40, "Predicates": [ { "$type": "ByAbilitySpecial", "CompareType": "Equal", "Param": 2, "ParamName": "AS_ChainAttck_OnStage_Index", "ParamType": "Integer", "Target": "Self" } ], "SwitchInIndex": 70, "TargetAvatarID": 1351, "TargetPosRot": { "CoordsOption": "Camera", "Offset": { "AngleOffset": { "x": 0, "y": 0, "z": 0 }, "IsClampOffsetDistance": false, "PositionOffset": { "x": -5, "y": 0, "z": 7 } }, "TargetOption": { "$type": "ConfigPosRotReferTarget", "OffsetReferTarget": "LastLocalAvatarAttackTarget" } } } ] }, "ChainAttackModifier_ChainAttack_01_Repeat": { "Duration": 0.6, "ModifierStacking": "Unique", "OnAdded": [ { "$type": "SetSelfAttackTargetAction", "ForceOverride": true, "IgnoreSetAttackTargetCD": true, "OnlySetOnNull": false, "Source": "LocalAvatar", "Target": "Self" }, { "$type": "SetAnimCtrlerParamAction", "IntVal": 0, "ParamName": "Int_ChainAttackType", "ParamType": 3, "Predicates": [ { "$type": "ByPlayerPropertyValue", "CompareType": "NotEqual", "CustomNumerator": "ChainAttackTime", "IsUsePercent": false, "Numerator": "Custom", "Target": "Self", "Val1": 1 } ], "Target": "Self" }, { "$type": "SetAnimCtrlerParamAction", "IntVal": 1, "ParamName": "Int_ChainAttackType", "ParamType": 3, "Predicates": [ { "$type": "ByPlayerPropertyValue", "CompareType": "Equal", "CustomNumerator": "ChainAttackTime", "IsUsePercent": false, "Numerator": "Custom", "Target": "Self", "Val1": 1 } ], "Target": "Self" }, { "$type": "CoAttackStartAction", "MaxSwitchPositionSearchDistance": 40, "Predicates": [ { "$type": "ByOr", "Predicates": [ { "$type": "ByPlayerPropertyValue", "CompareType": "Equal", "CustomNumerator": "ChainAttackTime", "IsUsePercent": false, "Numerator": "Custom", "Target": "Self", "Val1": 5 } ] } ], "SwitchInIndex": 70, "TargetAvatarID": 1351, "TargetPosRot": { "CoordsOption": "Camera", "Offset": { "AngleOffset": { "x": 0, "y": 0, "z": 0 }, "IsClampOffsetDistance": false, "PositionOffset": { "x": -5, "y": 0, "z": 7 } }, "TargetOption": { "$type": "ConfigPosRotReferTarget", "OffsetReferTarget": "LastLocalAvatarAttackTarget" } } }, { "$type": "CoAttackStartAction", "MaxSwitchPositionSearchDistance": 40, "Predicates": [ { "$type": "ByOr", "Predicates": [ { "$type": "ByPlayerPropertyValue", "CompareType": "Equal", "CustomNumerator": "ChainAttackTime", "IsUsePercent": false, "Numerator": "Custom", "Target": "Self", "Val1": 3 }, { "$type": "ByPlayerPropertyValue", "CompareType": "Equal", "CustomNumerator": "ChainAttackTime", "IsUsePercent": false, "Numerator": "Custom", "Target": "Self", "Val1": 7 } ] } ], "SwitchInIndex": 70, "TargetAvatarID": 1351, "TargetPosRot": { "CoordsOption": "Camera", "Offset": { "AngleOffset": { "x": 0, "y": 0, "z": 0 }, "IsClampOffsetDistance": false, "PositionOffset": { "x": -6, "y": 0, "z": 6 } }, "TargetOption": { "$type": "ConfigPosRotReferTarget", "OffsetReferTarget": "LastLocalAvatarAttackTarget" } } }, { "$type": "CoAttackStartAction", "MaxSwitchPositionSearchDistance": 40, "Predicates": [ { "$type": "ByOr", "Predicates": [ { "$type": "ByPlayerPropertyValue", "CompareType": "Equal", "CustomNumerator": "ChainAttackTime", "IsUsePercent": false, "Numerator": "Custom", "Target": "Self", "Val1": 4 } ] } ], "SwitchInIndex": 70, "TargetAvatarID": 1351, "TargetPosRot": { "CoordsOption": "Camera", "Offset": { "AngleOffset": { "x": 0, "y": 0, "z": 0 }, "IsClampOffsetDistance": false, "PositionOffset": { "x": 5, "y": 0, "z": 7 } }, "TargetOption": { "$type": "ConfigPosRotReferTarget", "OffsetReferTarget": "LastLocalAvatarAttackTarget" } } }, { "$type": "CoAttackStartAction", "MaxSwitchPositionSearchDistance": 40, "Predicates": [ { "$type": "ByOr", "Predicates": [ { "$type": "ByPlayerPropertyValue", "CompareType": "Equal", "CustomNumerator": "ChainAttackTime", "IsUsePercent": false, "Numerator": "Custom", "Target": "Self", "Val1": 2 }, { "$type": "ByPlayerPropertyValue", "CompareType": "Equal", "CustomNumerator": "ChainAttackTime", "IsUsePercent": false, "Numerator": "Custom", "Target": "Self", "Val1": 6 } ] } ], "SwitchInIndex": 70, "TargetAvatarID": 1351, "TargetPosRot": { "CoordsOption": "Camera", "Offset": { "AngleOffset": { "x": 0, "y": 0, "z": 0 }, "IsClampOffsetDistance": false, "PositionOffset": { "x": 6, "y": 0, "z": 6 } }, "TargetOption": { "$type": "ConfigPosRotReferTarget", "OffsetReferTarget": "LastLocalAvatarAttackTarget" } } }, { "$type": "CoAttackStartAction", "MaxSwitchPositionSearchDistance": 40, "Predicates": [ { "$type": "ByPlayerPropertyValue", "CompareType": "Equal", "CustomNumerator": "ChainAttackTime", "IsUsePercent": false, "Numerator": "Custom", "Target": "Self", "Val1": 1 } ], "SwitchInIndex": 70, "TargetAvatarID": 1351, "TargetPosRot": { "CoordsOption": "Camera", "Offset": { "AngleOffset": { "x": 0, "y": 0, "z": 0 }, "IsClampOffsetDistance": false, "PositionOffset": { "x": 3, "y": 0, "z": -1.5 } }, "TargetOption": { "$type": "ConfigPosRotReferTarget", "OffsetReferTarget": "LastLocalAvatarAttackTarget" } } } ] }, "ChainAttackModifier_Controller": { "Duration": -1, "ModifierStacking": "Unique", "OnAttackLanded": [ { "$type": "ApplyModifier", "ModifierName": "ChainAttackModifier_ChainAttack_01_First", "MpExecMode": "NotExecuted", "Predicates": [ { "$type": "ByAliveState", "AliveState": "Alive", "Target": "Caster" }, { "$type": "ByIsLocalAvatar", "IsLocalAvatar": true, "Target": "Self" }, { "$type": "ByOr", "Predicates": [ { "$type": "ByAnimTagList", "TagList": [ "AttackSpecial", "NormalSp" ] }, { "$type": "ByAnimTagList", "TagList": [ "AttackSpecial", "ExSp" ] } ] }, { "$type": "ByCauseStun", "IsCauseStun": true }, { "$type": "ByEntityType", "EntityType": "Monster", "Target": "Other" }, { "$type": "ByPlayerPropertyValue", "CompareType": "Equal", "CustomNumerator": "IsEnhance", "IsUsePercent": false, "Numerator": "Custom", "Target": "Caster", "Val1": 1 }, { "$type": "ByOr", "Predicates": [ { "$type": "ByAnd", "Predicates": [ { "$type": "ByPlayerPropertyValue", "CompareType": "Equal", "CustomNumerator": "ChainAttackTime", "IsUsePercent": false, "Numerator": "Custom", "Target": "Caster", "Val1": 6 }, { "$type": "ByNot", "Predicates": [ { "$type": "ByAvatarTalentIndex", "TalentIndex": 6, "Target": "Caster" } ] } ] }, { "$type": "ByAnd", "Predicates": [ { "$type": "ByPlayerPropertyValue", "CompareType": "Equal", "CustomNumerator": "ChainAttackTime", "IsUsePercent": false, "Numerator": "Custom", "Target": "Caster", "Val1": 8 }, { "$type": "ByAvatarTalentIndex", "TalentIndex": 6, "Target": "Caster" } ] } ] } ], "Target": "Caster" }, { "$type": "ApplyModifier", "ModifierName": "ChainAttackModifier_ChainAttack_01_Repeat", "MpExecMode": "NotExecuted", "Predicates": [ { "$type": "ByAliveState", "AliveState": "Alive", "Target": "Caster" }, { "$type": "ByIsLocalAvatar", "IsLocalAvatar": true, "Target": "Self" }, { "$type": "ByEntityType", "EntityType": "Monster", "Target": "Other" }, { "$type": "ByPlayerPropertyValue", "CompareType": "Equal", "CustomNumerator": "IsEnhance", "IsUsePercent": false, "Numerator": "Custom", "Target": "Caster", "Val1": 1 }, { "$type": "ByNot", "Predicates": [ { "$type": "ByHasModifier", "ModifierNameList": [ "ChainAttackModifier_ChainAttack_01_First" ], "Target": "Caster" } ], "Target": "Caster" }, { "$type": "ByOr", "Predicates": [ { "$type": "ByAnd", "Predicates": [ { "$type": "ByPlayerPropertyValue", "CompareType": "GreaterEqual", "CustomNumerator": "ChainAttackTime", "IsUsePercent": false, "Numerator": "Custom", "Target": "Caster", "Val1": 1 }, { "$type": "ByPlayerPropertyValue", "CompareType": "LessEqual", "CustomNumerator": "ChainAttackTime", "IsUsePercent": false, "Numerator": "Custom", "Target": "Caster", "Val1": 5 }, { "$type": "ByNot", "Predicates": [ { "$type": "ByAvatarTalentIndex", "TalentIndex": 6, "Target": "Caster" } ] } ] }, { "$type": "ByAnd", "Predicates": [ { "$type": "ByPlayerPropertyValue", "CompareType": "GreaterEqual", "CustomNumerator": "ChainAttackTime", "IsUsePercent": false, "Numerator": "Custom", "Target": "Caster", "Val1": 1 }, { "$type": "ByPlayerPropertyValue", "CompareType": "LessEqual", "CustomNumerator": "ChainAttackTime", "IsUsePercent": false, "Numerator": "Custom", "Target": "Caster", "Val1": 7 }, { "$type": "ByAvatarTalentIndex", "TalentIndex": 6, "Target": "Caster" } ] } ] } ], "Target": "Caster" } ] }, "ChainAttackModifier_Interrupt_Animation": { "Duration": -1, "ModifierStacking": "Unique", "OnRemoved": [ { "$type": "CoAttackFinishAction", "Predicates": [ { "$type": "ByIsLocalAvatar", "IsLocalAvatar": false } ], "SwitchOutIndex": 2, "TargetAvatarID": 1351 }, { "$type": "HandleAnimatorZoneTagsAction", "AnimatorStateTags": [ "Avatar_ChainAttack_OnStage_01" ], "IsAdd": false, "Predicates": [ { "$type": "ByAbilitySpecial", "CompareType": "Equal", "Param": 1, "ParamName": "AS_ChainAttck_OnStage_Index", "ParamType": "Integer", "Target": "Self" } ], "Target": "TeamAvatars" }, { "$type": "HandleAnimatorZoneTagsAction", "AnimatorStateTags": [ "Avatar_ChainAttack_OnStage_02" ], "IsAdd": false, "Predicates": [ { "$type": "ByAbilitySpecial", "CompareType": "Equal", "Param": 2, "ParamName": "AS_ChainAttck_OnStage_Index", "ParamType": "Integer", "Target": "Self" } ], "Target": "TeamAvatars" } ] }, "ChainAttackModifier_Interrupt_Effect": { "Duration": -1, "ModifierStacking": "Unique", "OnRemoved": [ { "$type": "InterruptScreenEffectAction", "EffectType": "RadialBlur", "TargetKey": "FireSupport_Trigger_RadialBlur_01" }, { "$type": "InterruptScreenEffectAction", "EffectType": "Vignette", "TargetKey": "FireSupport_Trigger_Vignette_01" }, { "$type": "InterruptScreenEffectAction", "EffectKey": "FireSupport_Trigger_ColorAdjustments_01", "EffectType": "ColorAdjustments" }, { "$type": "InterruptScreenEffectAction", "EffectType": "FXFog", "TargetKey": "FireSupport_Trigger_FXFog_01" } ] } } }