{ "AbilityName": "YiXuan_HPReset", "AbilitySpecials": { "AS_Player1_HPPercentage": { "Value": 0, "ValueType": "Float" }, "AS_Player1_ResetHP": { "Value": 0, "ValueType": "Float" }, "AS_Player1_Valid": { "Value": 0, "ValueType": "Integer" }, "AS_Player2_HPPercentage": { "Value": 0, "ValueType": "Float" }, "AS_Player2_ResetHP": { "Value": 0, "ValueType": "Float" }, "AS_Player2_Valid": { "Value": 0, "ValueType": "Integer" }, "AS_Player3_HPPercentage": { "Value": 0, "ValueType": "Float" }, "AS_Player3_ResetHP": { "Value": 0, "ValueType": "Float" }, "AS_Player3_Valid": { "Value": 0, "ValueType": "Integer" }, "AS_ResetToHPPercentage": { "Value": 0, "ValueType": "Float" }, "AS_TeamHPPercentage": { "Value": 0, "ValueType": "Float" } }, "AbilityStacking": "Unique", "Modifiers": { "IndexCheckModifier": { "Duration": 5, "ModifierStacking": "Replace", "OnAdded": [ { "$type": "BranchOperator", "Conditions": [ { "$type": "ByAvatarTeamIndex", "Target": "Self", "TeamIndex": 1 }, { "$type": "ByAliveState", "AliveState": "Alive", "Target": "Self" } ], "SuccessActions": [ { "$type": "SetAbilitySpecialByExpression", "DoRefresh": true, "Expression": "property(CurHP)\/property(MaxHP)", "ParamName": "AS_Player1_HPPercentage", "Target": "Self", "ValueType": "Float" }, { "$type": "SetAbilitySpecialByExpression", "DoRefresh": true, "Expression": "specials(AS_TeamHPPercentage)+specials(AS_Player1_HPPercentage)", "ParamName": "AS_TeamHPPercentage", "Target": "Self", "ValueType": "Float" }, { "$type": "SetAbilitySpecialAction", "ModifyFunction": "Replace", "Param": 1, "ParamName": "AS_Player1_Valid", "ParamType": "Integer" } ] }, { "$type": "BranchOperator", "Conditions": [ { "$type": "ByAvatarTeamIndex", "Target": "Self", "TeamIndex": 2 }, { "$type": "ByAliveState", "AliveState": "Alive", "Target": "Self" } ], "SuccessActions": [ { "$type": "SetAbilitySpecialByExpression", "DoRefresh": true, "Expression": "property(CurHP)\/property(MaxHP)", "ParamName": "AS_Player2_HPPercentage", "Target": "Self", "ValueType": "Float" }, { "$type": "SetAbilitySpecialByExpression", "DoRefresh": true, "Expression": "specials(AS_TeamHPPercentage)+specials(AS_Player2_HPPercentage)", "ParamName": "AS_TeamHPPercentage", "Target": "Self", "ValueType": "Float" }, { "$type": "SetAbilitySpecialAction", "ModifyFunction": "Replace", "Param": 1, "ParamName": "AS_Player2_Valid", "ParamType": "Integer" } ] }, { "$type": "BranchOperator", "Conditions": [ { "$type": "ByAvatarTeamIndex", "Target": "Self", "TeamIndex": 3 }, { "$type": "ByAliveState", "AliveState": "Alive", "Target": "Self" } ], "SuccessActions": [ { "$type": "SetAbilitySpecialByExpression", "DoRefresh": true, "Expression": "property(CurHP)\/property(MaxHP)", "ParamName": "AS_Player3_HPPercentage", "Target": "Self", "ValueType": "Float" }, { "$type": "SetAbilitySpecialByExpression", "DoRefresh": true, "Expression": "specials(AS_TeamHPPercentage)+specials(AS_Player3_HPPercentage)", "ParamName": "AS_TeamHPPercentage", "Target": "Self", "ValueType": "Float" }, { "$type": "SetAbilitySpecialAction", "ModifyFunction": "Replace", "Param": 1, "ParamName": "AS_Player3_Valid", "ParamType": "Integer" } ] } ] }, "ResetModifier": { "Duration": 3, "ModifierStacking": "Replace", "OnAdded": [ { "$type": "BranchOperator", "Conditions": [ { "$type": "ByAvatarTeamIndex", "Target": "Self", "TeamIndex": 1 }, { "$type": "ByAliveState", "AliveState": "Alive", "Target": "Self" } ], "SuccessActions": [ { "$type": "SetAbilitySpecialByExpression", "DoRefresh": true, "Expression": "specials(AS_ResetToHPPercentage)-specials(AS_Player1_HPPercentage)", "ParamName": "AS_Player1_ResetHP", "Target": "Self", "ValueType": "Float" }, { "$type": "BranchOperator", "Conditions": [ { "$type": "ByAbilitySpecial", "CompareType": "GreaterEqual", "Param": 0, "ParamName": "AS_Player1_ResetHP", "ParamType": "Float", "Target": "Self" } ], "FailureActions": [ { "$type": "SetAbilitySpecialByExpression", "DoRefresh": true, "Expression": "specials(AS_Player1_ResetHP)*(-1)", "ParamName": "AS_Player1_ResetHP", "Target": "Self", "ValueType": "Float" }, { "$type": "DecreaseHPAction", "IgnoreInvincible": true, "Percentage": "%AS_Player1_ResetHP" } ], "SuccessActions": [ { "$type": "RecoverHPAction", "Percentage": "%AS_Player1_ResetHP" } ] } ] }, { "$type": "BranchOperator", "Conditions": [ { "$type": "ByAvatarTeamIndex", "Target": "Self", "TeamIndex": 2 }, { "$type": "ByAliveState", "AliveState": "Alive", "Target": "Self" } ], "SuccessActions": [ { "$type": "SetAbilitySpecialByExpression", "DoRefresh": true, "Expression": "specials(AS_ResetToHPPercentage)-specials(AS_Player2_HPPercentage)", "ParamName": "AS_Player2_ResetHP", "Target": "Self", "ValueType": "Float" }, { "$type": "BranchOperator", "Conditions": [ { "$type": "ByAbilitySpecial", "CompareType": "GreaterEqual", "Param": 0, "ParamName": "AS_Player2_ResetHP", "ParamType": "Float", "Target": "Self" } ], "FailureActions": [ { "$type": "SetAbilitySpecialByExpression", "DoRefresh": true, "Expression": "specials(AS_Player2_ResetHP)*(-1)", "ParamName": "AS_Player2_ResetHP", "Target": "Self", "ValueType": "Float" }, { "$type": "DecreaseHPAction", "IgnoreInvincible": true, "Percentage": "%AS_Player2_ResetHP" } ], "SuccessActions": [ { "$type": "RecoverHPAction", "Percentage": "%AS_Player2_ResetHP" } ] } ] }, { "$type": "BranchOperator", "Conditions": [ { "$type": "ByAvatarTeamIndex", "Target": "Self", "TeamIndex": 3 }, { "$type": "ByAliveState", "AliveState": "Alive", "Target": "Self" } ], "SuccessActions": [ { "$type": "SetAbilitySpecialByExpression", "DoRefresh": true, "Expression": "specials(AS_ResetToHPPercentage)-specials(AS_Player3_HPPercentage)", "ParamName": "AS_Player3_ResetHP", "Target": "Self", "ValueType": "Float" }, { "$type": "BranchOperator", "Conditions": [ { "$type": "ByAbilitySpecial", "CompareType": "GreaterEqual", "Param": 0, "ParamName": "AS_Player3_ResetHP", "ParamType": "Float", "Target": "Self" } ], "FailureActions": [ { "$type": "SetAbilitySpecialByExpression", "DoRefresh": true, "Expression": "specials(AS_Player3_ResetHP)*(-1)", "ParamName": "AS_Player3_ResetHP", "Target": "Self", "ValueType": "Float" }, { "$type": "DecreaseHPAction", "IgnoreInvincible": true, "Percentage": "%AS_Player3_ResetHP" } ], "SuccessActions": [ { "$type": "RecoverHPAction", "Percentage": "%AS_Player3_ResetHP" } ] } ] } ] } }, "OnAbilityTrigger": [ { "$type": "SetAbilitySpecialAction", "ModifyFunction": "Replace", "Param": 0, "ParamName": "AS_Player1_Valid", "ParamType": "Integer" }, { "$type": "SetAbilitySpecialAction", "ModifyFunction": "Replace", "Param": 0, "ParamName": "AS_Player2_Valid", "ParamType": "Integer" }, { "$type": "SetAbilitySpecialAction", "ModifyFunction": "Replace", "Param": 0, "ParamName": "AS_Player3_Valid", "ParamType": "Integer" }, { "$type": "SetAbilitySpecialAction", "ModifyFunction": "Replace", "Param": 0, "ParamName": "AS_TeamHPPercentage", "ParamType": "Integer" }, { "$type": "ApplyModifier", "ModifierName": "IndexCheckModifier", "Target": "TeamAvatars" }, { "$type": "SetAbilitySpecialByExpression", "DoRefresh": true, "Expression": "specials(AS_TeamHPPercentage)\/(specials(AS_Player1_Valid)+specials(AS_Player2_Valid)+specials(AS_Player3_Valid))", "ParamName": "AS_ResetToHPPercentage", "Target": "Self", "ValueType": "Float" }, { "$type": "ApplyModifier", "ModifierName": "ResetModifier", "Target": "TeamAvatars" } ] }