{ "AbilityName": "Device_Military_LaserBlock_Default", "AbilitySpecials": { "BlockTime": { "Value": 5 }, "GapTime": { "Value": 5 } }, "AbilityStacking": "Unique", "DefaultModifier": { "OnAdded": [ { "$type": "ApplyModifier", "ModifierName": "SkyScraper_Latch_Idle", "Target": "Self" } ] }, "Modifiers": { "LaserBlock_Close": { "Duration": 1, "ModifierStacking": "Unique", "OnRemoved": [ { "$type": "SetAnimCtrlerParamAction", "BoolVal": false, "ParamName": "Bool_IsActive", "ParamType": 2, "Target": "Self" }, { "$type": "SetAnimCtrlerParamAction", "BoolVal": false, "ParamName": "Bool_IsInGapTime", "ParamType": 2, "Target": "Self" } ] }, "LaserBlock_GapTime": { "Duration": "%GapTime", "ModifierStacking": "Unique", "OnAdded": [ { "$type": "SetAnimCtrlerParamAction", "BoolVal": true, "ParamName": "Bool_IsInGapTime", "ParamType": 2, "Target": "Self" } ], "OnRemoved": [ { "$type": "SetAnimCtrlerParamAction", "BoolVal": false, "ParamName": "Bool_IsInGapTime", "ParamType": 2, "Target": "Self" } ] }, "LaserBlock_Open": { "Duration": "%BlockTime", "ModifierStacking": "Unique", "OnAdded": [ { "$type": "SetAnimCtrlerParamAction", "BoolVal": true, "ParamName": "Bool_IsActive", "ParamType": 2, "Target": "Self" } ], "OnRemoved": [ { "$type": "ApplyModifier", "ModifierName": "LaserBlock_GapTime", "Target": "Self" } ] }, "SkyScraper_Latch_Idle": { "Duration": -1, "IgnoreTimeScale": false, "ModifierMixins": [ { "$type": "FieldRangeMixin", "ColliderConfig": { "BoxColliderDistance": 6, "BoxColliderHeight": 2, "BoxColliderWidth": 15, "ColliderAngleOffset": { "x": 0, "y": 0, "z": 0 }, "ColliderPosOffset": { "x": 0, "y": 0, "z": 6 }, "ColliderType": "Box" }, "FieldEnterActions": [ { "$type": "ApplyModifier", "ModifierName": "LaserBlock_Open", "Predicates": [ { "$type": "ByIsLocalAvatar", "IsLocalAvatar": "true", "Target": "Target" } ], "Target": "Self" } ], "FieldExitActions": [ { "$type": "RemoveModifier", "ModifierName": "LaserBlock_Close", "Predicates": [ { "$type": "ByIsLocalAvatar", "IsLocalAvatar": "true", "Target": "Target" } ], "Target": "Self" } ], "FieldInitPosRot": { "CoordsOption": "Self", "NeedRaycastGround": true, "Offset": { "AngleOffset": { "x": 0, "y": 0, "z": 0 }, "IsUseRotationXZ": false, "IsUseRotationY": true, "PositionOffset": { "x": 0, "y": 0, "z": 0 } }, "TargetOption": { "$type": "ConfigPosRotReferTarget", "OffsetReferTarget": "Self" } }, "IsFollow": false, "TotalDuration": -1 } ], "ModifierStacking": "Unique" } } }