ZenlessData/Data/HeavyStriker_BossShieldController.json
2024-09-23 09:11:37 -03:00

217 lines
5.8 KiB
JSON

{
"AbilityName": "HeavyStriker_BossShieldController",
"AbilitySpecials": {
"AS_ShieldCD": {
"Value": 15,
"ValueType": "Float"
},
"AS_ShieldOpenTimer": {
"Value": 0,
"ValueType": "Float"
},
"AS_ShieldReduceAmount": {
"Value": 0,
"ValueType": "Float"
},
"AS_ShieldReduceSkillRatio": {
"Value": 0,
"ValueType": "Float"
}
},
"AbilityStacking": "Unique",
"DefaultModifier": {
"OnAdded": [
{
"$type": "ApplyModifier",
"ModifierName": "HeavyStriker_BossShield_CD_Modifier"
}
],
"OnCustomEventReceived": [
{
"$type": "BranchOperator",
"Conditions": [
{
"$type": "ByCustomEvent",
"EventKey": "HeavyStriker_BreakShield"
}
],
"SuccessActions": [
{
"$type": "SetAbilitySpecialAction",
"ModifyFunction": "Replace",
"Param": "%AS_ShieldOpenTimer",
"ParamName": "AS_ShieldCD",
"ParamType": "Float"
},
{
"$type": "SetAbilitySpecialAction",
"ModifyFunction": "Add",
"Param": 10,
"ParamName": "AS_ShieldCD",
"ParamType": "Float"
},
{
"$type": "ApplyModifier",
"ModifierName": "HeavyStriker_BossShield_CD_Modifier"
},
{
"$type": "SetAbilitySpecialAction",
"ModifyFunction": "Replace",
"Param": 0,
"ParamName": "AS_ShieldOpenTimer",
"ParamType": "Float"
}
]
}
],
"OnSkillStart": [
{
"$type": "BranchOperator",
"Conditions": [
{
"$type": "ByAbilitySpecial",
"CompareType": "GreaterEqual",
"Param": 10,
"ParamName": "AS_ShieldOpenTimer",
"ParamType": "Float"
}
],
"SuccessActions": [
{
"$type": "BranchOperator",
"Conditions": [
{
"$type": "ByOr",
"Predicates": [
{
"$type": "ByFromSkillID",
"SkillID": "Monster_HeavyStriker_ATK04"
},
{
"$type": "ByFromSkillID",
"SkillID": "Monster_HeavyStriker_ATK06"
}
]
}
],
"FailureActions": [
{
"$type": "SetAbilitySpecialAction",
"ModifyFunction": "Replace",
"Param": 1,
"ParamName": "AS_ShieldReduceSkillRatio",
"ParamType": "Float"
}
],
"SuccessActions": [
{
"$type": "SetAbilitySpecialAction",
"ModifyFunction": "Replace",
"Param": 3,
"ParamName": "AS_ShieldReduceSkillRatio",
"ParamType": "Float"
}
]
},
{
"$type": "SetAbilitySpecialByExpressionListAction",
"Expressions": [
{
"AbilitySpecialName": "AS_ShieldReduceAmount",
"Expression": "-min((min(({0}\/10-1),10)\/100*{1}*{2}),({3}-0.01*{4}))",
"OutputType": "Float"
}
],
"Params": [
{
"$type": "ExpressionParamAbilitySpecial",
"AbilitySpecialKey": "AS_ShieldOpenTimer"
},
{
"$type": "ExpressionParamAbilitySpecial",
"AbilitySpecialKey": "AS_ShieldReduceSkillRatio"
},
{
"$type": "ExpressionParamHPShield",
"HPShieldTag": "HeavyStriker_Shield",
"HPShieldValueType": "MaxValue"
},
{
"$type": "ExpressionParamHPShield",
"HPShieldTag": "HeavyStriker_Shield",
"HPShieldValueType": "CurValue"
},
{
"$type": "AbilitySpecialExpressionParamProperty",
"PropertyType": "MaxHP"
}
]
},
{
"$type": "ModifyHpShieldAction",
"CurValueDelta": "%AS_ShieldReduceAmount",
"Predicates": [
{
"$type": "ByAbilitySpecial",
"CompareType": "Less",
"Param": 0,
"ParamName": "AS_ShieldReduceAmount",
"ParamType": "Float"
}
],
"Tag": "HeavyStriker_Shield"
}
]
}
],
"OnThinkInterval": [
{
"$type": "BranchOperator",
"Conditions": [
{
"$type": "ByIsInZoneTags",
"Tags": [
"ShieldOpen",
"Boss"
]
}
],
"SuccessActions": [
{
"$type": "SetAbilitySpecialAction",
"ModifyFunction": "Add",
"Param": 0.1,
"ParamName": "AS_ShieldOpenTimer",
"ParamType": "Float"
},
{
"$type": "RemoveModifier",
"ModifierName": "HeavyStriker_BossShield_CD_Modifier"
}
]
}
],
"ThinkInterval": 0.1
},
"Modifiers": {
"HeavyStriker_BossShield_CD_Modifier": {
"DelayHandlers": [
{
"DelayTime": "%AS_ShieldCD",
"TimeUpActions": [
{
"$type": "WriteAIParamAction",
"BoolParamValue": true,
"ParamName": "TryTransform"
},
{
"$type": "RemoveModifier",
"ModifierName": "HeavyStriker_BossShield_CD_Modifier"
}
]
}
],
"Duration": -1
}
}
}