{
  "AbilityName": "AbyssS2_Artifact_1339911",
  "AbilitySpecials": {
    "AS_AbyssS2_Artifact_ReduceMonsterDamage_Count": {
      "Value": 0,
      "ValueType": "Integer"
    },
    "AS_AbyssS2_Artifact_ReduceMonsterDamage_Count_Cache": {
      "Value": 0,
      "ValueType": "Integer"
    },
    "AS_AbyssS2_Artifact_ReduceMonsterDamage_UpperLimit": {
      "Value": 6,
      "ValueType": "Integer"
    },
    "AS_DamageTakeRatio": {
      "Value": 0.025,
      "ValueType": "Float"
    },
    "AS_DamageTakeRatio_InOperation": {
      "Value": 0,
      "ValueType": "Float"
    }
  },
  "AbilityStacking": "Unique",
  "DefaultModifier": {
    "ModifierStacking": "Unique",
    "OnAbyssS2AreaStart": [
      {
        "$type": "ApplyModifier",
        "ModifierName": "AbyssS2_Artifact_ReduceMonsterDamage_Modifier",
        "Predicates": [
          {
            "$type": "ByAbilitySpecial",
            "CompareType": "Less",
            "Param": "%AS_AbyssS2_Artifact_ReduceMonsterDamage_UpperLimit",
            "ParamName": "AS_AbyssS2_Artifact_ReduceMonsterDamage_Count",
            "ParamType": "Integer",
            "Target": "Self"
          },
          {
            "$type": "ByAbyssS2AreaTagList",
            "TargetTagList": [
              "Nonbattle"
            ]
          },
          {
            "$type": "ByNot",
            "Predicates": [
              {
                "$type": "ByAbyssS2AreaTagList",
                "TargetTagList": [
                  "Start"
                ]
              }
            ]
          }
        ],
        "Target": "Self"
      }
    ],
    "OnAdded": [
      {
        "$type": "SetAbilitySpecialByExpression",
        "DoRefresh": true,
        "Expression": "scenevar(AS_AbyssS2_Artifact_ReduceMonsterDamage_Count)",
        "ParamName": "AS_AbyssS2_Artifact_ReduceMonsterDamage_Count_Cache",
        "Target": "Self",
        "ValueType": "Integer"
      },
      {
        "$type": "ApplyModifier",
        "ModifierName": "AbyssS2_Artifact_ReduceMonsterDamage_Modifier",
        "Predicates": [
          {
            "$type": "ByAbilitySpecial",
            "CompareType": "NotEqual",
            "Param": "%AS_AbyssS2_Artifact_ReduceMonsterDamage_Count",
            "ParamName": "AS_AbyssS2_Artifact_ReduceMonsterDamage_Count_Cache",
            "ParamType": "Integer",
            "Target": "Self"
          }
        ],
        "StackCount": "%AS_AbyssS2_Artifact_ReduceMonsterDamage_Count_Cache",
        "Target": "Self"
      }
    ]
  },
  "Modifiers": {
    "AbyssS2_Artifact_ReduceMonsterDamage_Modifier": {
      "Duration": -1,
      "MaxStackingNumber": "%AS_AbyssS2_Artifact_ReduceMonsterDamage_UpperLimit",
      "ModifierStacking": "Multiple",
      "OnAdded": [
        {
          "$type": "SetAbilitySpecialAction",
          "ModifyFunction": "Add",
          "Param": 1,
          "ParamName": "AS_AbyssS2_Artifact_ReduceMonsterDamage_Count",
          "ParamType": "Integer",
          "Target": "Self"
        },
        {
          "$type": "SetAbilitySpecialByExpression",
          "DoRefresh": true,
          "Expression": "specials(AS_AbyssS2_Artifact_ReduceMonsterDamage_Count)*specials(AS_DamageTakeRatio)",
          "ParamName": "AS_DamageTakeRatio_InOperation",
          "Target": "Self",
          "ValueType": "Float"
        }
      ],
      "Properties": {
        "Actor_DamageTakeRatio": "%AS_DamageTakeRatio"
      }
    }
  }
}