{ "AbilityMixins": [ { "$type": "MultiPartMixin", "BindHitColliderList": [ "HitCollider_L_Hand_01" ], "CanHitAfterDestroyed": true, "IsUseHitFlowOnDestroyed": true, "MaxPartHP": "%MaxPartHP", "OnPartDestroy": [ { "$type": "SetAnimCtrlerParamAction", "IntVal": 1, "ParamName": "Int_PartDestroyIndex", "ParamType": 3, "Target": "Self" }, { "$type": "SetAnimCtrlerParamAction", "BoolVal": true, "ParamName": "Trigger_OnPartDestroyed", "ParamType": 1, "Target": "Self" }, { "$type": "SetAnimCtrlerParamAction", "BoolVal": true, "ParamName": "Bool_PartDestroyed_LeftHand", "ParamType": 2, "Target": "Self" }, { "$type": "ModifyProperty", "Amount": 1, "CustomPropertyType": "PartDestroyedCount", "IsUsePercentage": false, "Percentage": 0, "PropertyModifyFunction": "Add", "PropertyType": "Custom" }, { "$type": "RemoveModifier", "ModifierName": "LeftHandEffectModifier" }, { "$type": "SendCustomEvent", "EventKey": "Gepetto_PartDestroy", "IsGlobal": true }, { "$type": "ModifyPartParamAction", "Amount": "%RecoverPartHP", "ModifyFunction": "Add", "ParamType": "PartHP", "PartName": "Geppetto_Part_RightHand", "Predicates": [ { "$type": "ByNot", "Predicates": [ { "$type": "ByPartDestroy", "PartName": "Geppetto_Part_RightHand", "Target": "Self" } ] } ], "Target": "Self" }, { "$type": "ModifyPartParamAction", "Amount": "%RecoverPartHP", "ModifyFunction": "Add", "ParamType": "PartHP", "PartName": "Geppetto_Part_Tail", "Predicates": [ { "$type": "ByNot", "Predicates": [ { "$type": "ByPartDestroy", "PartName": "Geppetto_Part_Tail", "Target": "Self" } ] } ], "Target": "Self" }, { "$type": "ShowSpecialDamageTextAction", "AttachPoint": "Skn_L_ForeArm_Twist", "Target": "Self", "TextType": "PartDestroy" }, { "$type": "SendCustomEvent", "EventKey": "Geppetto_Achievement_1675" }, { "$type": "SendCustomEvent", "EventKey": "Geppetto_Achievement_1675", "Predicates": [ { "$type": "ByOr", "Predicates": [ { "$type": "ByIsStunDestroyed", "IsStunDestroyed": true, "Target": "Self" }, { "$type": "ByIsInZoneTags", "Tags": [ "PartBreakStun" ], "Target": "Self" } ] } ] } ], "OnPartReactivated": [ { "$type": "SetAnimCtrlerParamAction", "BoolVal": false, "ParamName": "Bool_PartDestroyed_LeftHand", "ParamType": 2, "Target": "Self" } ], "OwnerDamagetakeRatio": 0, "PartDamageTakeRatio": 0, "PartHP": "%InitPartHP", "PartName": "Geppetto_Part_LeftHand" } ], "AbilityName": "Geppetto_Part_LeftHand", "AbilitySpecials": { "AS_InitPartHP_Ratio": { "Value": 0.15 }, "AS_MaxPartHP_Ratio": { "Value": 0.15 }, "AS_RecoverPartHP_Ratio": { "Value": 0.15 }, "HpReduceAmount": { "Value": 1 }, "InitPartHP": { "Value": 1 }, "MaxPartHP": { "Value": 1 }, "RecoverPartHP": { "Value": 1 } }, "AbilityStacking": "Unique", "Modifiers": { "LeftHandEffectModifier": { "Duration": -1, "ModifierStacking": "Unique", "OnAdded": [ { "$type": "AttachEffect", "AttachEffectPosRot": { "CoordsOption": "ReferTarget", "Offset": { "AngleOffset": { "x": 0, "y": 0, "z": 0 }, "IsUseRotationXZ": true, "IsUseRotationY": true, "PositionOffset": { "x": 0, "y": 0, "z": 0 } }, "TargetOption": { "$type": "ConfigPosRotReferTarget", "AttachPoint": "Skn_L_ForeArm_Twist", "IsUseAttachPointPos": true, "IsUseAttachPointRotation": true, "OffsetReferTarget": "Self" } }, "EffectPattern": "Eff_Monster_Geppetto_PartEffect_LeftHand_01_Loop", "Target": "Self" } ], "OnRemoved": [ { "$type": "FireEffect", "EffectPattern": "Eff_Monster_Geppetto_PartEffect_HandTail_01_Break", "FireEffectPosRot": { "CoordsOption": "ReferTarget", "Offset": { "AngleOffset": { "x": 0, "y": 0, "z": 0 }, "IsUseRotationXZ": true, "IsUseRotationY": true, "PositionOffset": { "x": -2.22, "y": 0, "z": 0 } }, "TargetOption": { "$type": "ConfigPosRotReferTarget", "AttachPoint": "Skn_L_ForeArm_Twist", "IsUseAttachPointPos": true, "IsUseAttachPointRotation": true, "OffsetReferTarget": "Self" } }, "Target": "Self" } ] } }, "OnAbilityStart": [ { "$type": "ApplyModifier", "ModifierName": "LeftHandEffectModifier" }, { "$type": "SetAbilitySpecialByExpression", "DoRefresh": true, "Expression": "property(MaxHP)*specials(AS_MaxPartHP_Ratio)", "ParamName": "MaxPartHP", "ValueType": "Float" }, { "$type": "SetAbilitySpecialByExpression", "DoRefresh": true, "Expression": "property(MaxHP)*specials(AS_InitPartHP_Ratio)", "ParamName": "InitPartHP", "ValueType": "Float" }, { "$type": "SetAbilitySpecialByExpression", "DoRefresh": true, "Expression": "property(MaxHP)*specials(AS_RecoverPartHP_Ratio)", "ParamName": "RecoverPartHP", "ValueType": "Float" }, { "$type": "ModifyPartParamAction", "Amount": "%MaxPartHP", "ModifyFunction": "Replace", "ParamType": "MaxPartHP", "PartName": "Geppetto_Part_LeftHand", "Target": "Self" }, { "$type": "ModifyPartParamAction", "Amount": "%MaxPartHP", "ModifyFunction": "Replace", "ParamType": "PartHP", "PartName": "Geppetto_Part_LeftHand", "Target": "Self" } ], "OnAdded": [ { "$type": "ApplyModifier", "ModifierName": "LeftHandEffectModifier" }, { "$type": "SetAbilitySpecialByExpression", "DoRefresh": true, "Expression": "property(MaxHP)*specials(AS_InitPartHP_Ratio)", "ParamName": "MaxPartHP", "ValueType": "Float" }, { "$type": "SetAbilitySpecialByExpression", "DoRefresh": true, "Expression": "property(MaxHP)*specials(AS_InitPartHP_Ratio)", "ParamName": "InitPartHP", "ValueType": "Float" }, { "$type": "SetAbilitySpecialByExpression", "DoRefresh": true, "Expression": "property(MaxHP)*specials(AS_RecoverPartHP_Ratio)", "ParamName": "RecoverPartHP", "ValueType": "Float" }, { "$type": "ModifyPartParamAction", "Amount": "%InitPartHP", "ModifyFunction": "Replace", "ParamType": "MaxPartHP", "PartName": "Geppetto_Part_LeftHand", "Target": "Self" }, { "$type": "ModifyPartParamAction", "Amount": "%InitPartHP", "ModifyFunction": "Replace", "ParamType": "PartHP", "PartName": "Geppetto_Part_LeftHand", "Target": "Self" } ] }