{ "AbilityName": "Activity_SmashBro_Fence", "AbilityStacking": "Unique", "DefaultModifier": { "OnDamageCalculated": [ { "$type": "ApplyModifier", "ModifierName": "FenceHitModifier", "Predicates": [ { "$type": "ByAnimEventIDs", "AnimEventIDs": [ "Device_LaserFenceBounce_Activating_Attackproperty_ToMonster" ] }, { "$type": "ByTotalDamage", "CompareType": "Greater", "TotalDamage": 0 } ], "Target": "Target" } ] }, "Modifiers": { "FenceHitModifier": { "Duration": 0.5, "MaxStackingNumber": 3, "ModifierStacking": "MultipleAllRefresh", "OnAdded": [ { "$type": "BranchOperator", "Conditions": [ { "$type": "ByModifierStackCount", "CompareType": "GreaterEqual", "CountModifierType": "CurTargetAbility", "ModifierName": "FenceHitModifier", "StackCount": 3, "Target": "Self" } ], "SuccessActions": [ { "$type": "ApplyModifier", "ModifierName": "KickOutModifier", "Target": "Self" }, { "$type": "RemoveModifier", "ModifierName": "FenceHitModifier", "ModifierTargetType": "CurTargetAbility", "StackCount": 99, "Target": "Self" } ] } ] }, "KickOutModifier": { "Duration": 1, "ModifierStacking": "Unique", "OnAdded": [ { "$type": "HandleAnimatorZoneTagsAction", "AnimatorStateTags": [ "MuteFenceHit" ], "IsAdd": true, "Target": "Self" }, { "$type": "SendCustomEvent", "EventKey": "SmashBro_PowerGridHitTimes", "IsGlobal": true }, { "$type": "ApplyLogicMoveAction", "Predicates": [ { "$type": "ByAnimCtrlerParam", "CompareType": "Equal", "IntVal": 0, "ParamName": "Int_HitForwardType", "ParamType": 3 } ], "RotationConfig": { "$type": "ConfigRotationToTargetRotation", "Duration": -1, "ReachTargetStop": false, "RotateType": "Instant", "TargetPosRot": { "CoordsOption": "Caster", "NeedRaycastGround": false, "Offset": { "AngleOffset": { "x": 0, "y": 90, "z": 0 }, "IsClampOffsetDistance": false, "IsUseRotationXZ": false, "IsUseRotationY": true, "PositionOffset": { "x": 0, "y": 0, "z": 0 } }, "TargetOption": { "$type": "ConfigPosRotReferTarget", "OffsetReferTarget": "Caster" } }, "TargetUpdateMode": "OnStart" }, "Target": "Self" }, { "$type": "ApplyLogicMoveAction", "Predicates": [ { "$type": "ByAnimCtrlerParam", "CompareType": "Equal", "IntVal": 1, "ParamName": "Int_HitForwardType", "ParamType": 3 } ], "RotationConfig": { "$type": "ConfigRotationToTargetRotation", "Duration": -1, "ReachTargetStop": false, "RotateType": "Instant", "TargetPosRot": { "CoordsOption": "Caster", "NeedRaycastGround": false, "Offset": { "AngleOffset": { "x": 0, "y": 90, "z": 0 }, "IsClampOffsetDistance": false, "IsUseRotationXZ": false, "IsUseRotationY": true, "PositionOffset": { "x": 0, "y": 0, "z": 0 } }, "TargetOption": { "$type": "ConfigPosRotReferTarget", "OffsetReferTarget": "Caster" } }, "TargetUpdateMode": "OnStart" }, "Target": "Self" }, { "$type": "BranchOperator", "Conditions": [ { "$type": "ByCharacterSize", "CharacterSize": "Large", "CompareType": "GreaterEqual", "Target": "Self" } ], "FailureActions": [ { "$type": "DamageByAttackPropertyAction", "AnimEventID": "#Activity_SmashBro_Common_AttackProperty_Fence_Push", "Attacker": "Caster", "Target": "Self" }, { "$type": "DamageByAttackPropertyAction", "AnimEventID": "#Activity_SmashBro_Common_AttackProperty_Fence", "Attacker": "LocalAvatar", "Target": "Self" }, { "$type": "TriggerSoundAction", "Target": "Self", "soundActionKey": "SA_Activity_2_2_HitFly_Hit_ElecTrap_Small" } ], "SuccessActions": [ { "$type": "DamageByAttackPropertyAction", "AnimEventID": "#Activity_SmashBro_Common_AttackProperty_Fence_Large_Push", "Attacker": "Caster", "Target": "Self" }, { "$type": "DamageByAttackPropertyAction", "AnimEventID": "#Activity_SmashBro_Common_AttackProperty_Fence_Large", "Attacker": "LocalAvatar", "Target": "Self" }, { "$type": "TriggerSoundAction", "Target": "Self", "soundActionKey": "SA_Activity_2_2_HitFly_Hit_ElecTrap_Large" } ] } ], "OnRemoved": [ { "$type": "HandleAnimatorZoneTagsAction", "AnimatorStateTags": [ "MuteFenceHit" ], "IsAdd": false, "Target": "Self" } ] } } }