599 lines
18 KiB
JSON
599 lines
18 KiB
JSON
{
|
|
"AbilityMixins": [
|
|
{
|
|
"$type": "ActionsOnPropertyChangeMixin",
|
|
"PropertyActions": [
|
|
{
|
|
"PropertyChangeActions": [
|
|
{
|
|
"$type": "SetAbilitySpecialByExpression",
|
|
"DoRefresh": true,
|
|
"Expression": "((property(MaxHP))-(property(HpMax_Base)))*specials(AS_ConversionRate_HP)",
|
|
"ParamName": "SkipDefAttackDelta_HP",
|
|
"ValueType": "Float"
|
|
},
|
|
{
|
|
"$type": "SetAbilitySpecialByExpression",
|
|
"DoRefresh": true,
|
|
"Expression": "((property(Atk_Battle))-(property(Attack)))*specials(AS_ConversionRate_ATK)",
|
|
"ParamName": "SkipDefAttackDelta_ATK",
|
|
"ValueType": "Float"
|
|
},
|
|
{
|
|
"$type": "SetAbilitySpecialByExpression",
|
|
"DoRefresh": true,
|
|
"Expression": "(specials(SkipDefAttackDelta_ATK)+specials(SkipDefAttackDelta_HP))",
|
|
"ParamName": "SkipDefAttackDelta",
|
|
"ValueType": "Float"
|
|
},
|
|
{
|
|
"$type": "SetAbilitySpecialByExpression",
|
|
"DoRefresh": true,
|
|
"Expression": "100*specials(AS_RecoverFeverLevelCoefficient)\/property(MaxHP)",
|
|
"ParamName": "RecoverFeverRatio",
|
|
"Target": "Self",
|
|
"ValueType": "Float"
|
|
},
|
|
{
|
|
"$type": "ApplyModifier",
|
|
"ModifierName": "AddedAttackModifier",
|
|
"Target": "Self"
|
|
}
|
|
],
|
|
"PropertyType": "MaxHP"
|
|
},
|
|
{
|
|
"PropertyChangeActions": [
|
|
{
|
|
"$type": "SetAbilitySpecialByExpression",
|
|
"DoRefresh": true,
|
|
"Expression": "((property(MaxHP))-(property(HpMax_Base)))*specials(AS_ConversionRate_HP)",
|
|
"ParamName": "SkipDefAttackDelta_HP",
|
|
"ValueType": "Float"
|
|
},
|
|
{
|
|
"$type": "SetAbilitySpecialByExpression",
|
|
"DoRefresh": true,
|
|
"Expression": "((property(Atk_Battle))-(property(Attack)))*specials(AS_ConversionRate_ATK)",
|
|
"ParamName": "SkipDefAttackDelta_ATK",
|
|
"ValueType": "Float"
|
|
},
|
|
{
|
|
"$type": "SetAbilitySpecialByExpression",
|
|
"DoRefresh": true,
|
|
"Expression": "(specials(SkipDefAttackDelta_ATK)+specials(SkipDefAttackDelta_HP))",
|
|
"ParamName": "SkipDefAttackDelta",
|
|
"ValueType": "Float"
|
|
},
|
|
{
|
|
"$type": "ApplyModifier",
|
|
"ModifierName": "AddedAttackModifier",
|
|
"Target": "Self"
|
|
}
|
|
],
|
|
"PropertyType": "Atk_Battle"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"AbilityName": "Yidhari_UniqueSkill",
|
|
"AbilitySpecials": {
|
|
"AS_AddedDamageRatio": {
|
|
"Value": 0
|
|
},
|
|
"AS_ConversionRate_ATK": {
|
|
"Value": 0.12
|
|
},
|
|
"AS_ConversionRate_HP": {
|
|
"Value": 0.12
|
|
},
|
|
"AS_CurHP": {
|
|
"Value": 0
|
|
},
|
|
"AS_MaxBuffAddedDamageRatio": {
|
|
"Value": 0.5
|
|
},
|
|
"AS_MaxBuffDuration": {
|
|
"Value": 5
|
|
},
|
|
"AS_MaxBuffHPRatio": {
|
|
"Value": 0.3
|
|
},
|
|
"AS_MaxHP": {
|
|
"Value": 0
|
|
},
|
|
"AS_MaxHP_Delta": {
|
|
"Value": 0
|
|
},
|
|
"AS_MaxLevel": {
|
|
"Value": 0
|
|
},
|
|
"AS_MaxRecoverFever": {
|
|
"Value": 500
|
|
},
|
|
"AS_RecoverFeverLevelCoefficient": {
|
|
"Value": 5.4
|
|
},
|
|
"AS_RecoverRPCD": {
|
|
"Value": 180,
|
|
"ValueType": "Float"
|
|
},
|
|
"AS_RecoverRPCD_Cache": {
|
|
"Value": 0,
|
|
"ValueType": "Float"
|
|
},
|
|
"AS_RecoverRPCD_Real": {
|
|
"Value": 0,
|
|
"ValueType": "Float"
|
|
},
|
|
"AS_TalentExtraRecoverFeverRatio": {
|
|
"Value": 0
|
|
},
|
|
"AS_TeamAvatarsRecoverFeverRatio": {
|
|
"Value": 0.8
|
|
},
|
|
"Hp_Change": {
|
|
"Value": 0
|
|
},
|
|
"Hp_Change_Others_01": {
|
|
"Value": 0
|
|
},
|
|
"Hp_Change_Others_02": {
|
|
"Value": 0
|
|
},
|
|
"Hp_Change_Others_03": {
|
|
"Value": 0
|
|
},
|
|
"RecoverFeverRatio": {
|
|
"Value": 0
|
|
},
|
|
"RecoverFeverRatio_TeamAvatars": {
|
|
"Value": 0
|
|
},
|
|
"RecoverFeverValue_Caster": {
|
|
"Value": 0
|
|
},
|
|
"RecoverFeverValue_Others_01": {
|
|
"Value": 0
|
|
},
|
|
"RecoverFeverValue_Others_02": {
|
|
"Value": 0
|
|
},
|
|
"RecoverFeverValue_Others_03": {
|
|
"Value": 0
|
|
},
|
|
"SkipDefAttackDelta": {
|
|
"Value": 0
|
|
},
|
|
"SkipDefAttackDelta_ATK": {
|
|
"Value": 0
|
|
},
|
|
"SkipDefAttackDelta_HP": {
|
|
"Value": 0
|
|
}
|
|
},
|
|
"AbilityStacking": "Unique",
|
|
"DefaultModifier": {
|
|
"OnAdded": [
|
|
{
|
|
"$type": "SetAbilitySpecialByExpression",
|
|
"DoRefresh": true,
|
|
"Expression": "100*specials(AS_RecoverFeverLevelCoefficient)\/property(MaxHP)",
|
|
"ParamName": "RecoverFeverRatio",
|
|
"Target": "Self",
|
|
"ValueType": "Float"
|
|
},
|
|
{
|
|
"$type": "ApplyModifier",
|
|
"ModifierName": "SpecialFeverManagerModifier_Caster",
|
|
"Target": "Self"
|
|
},
|
|
{
|
|
"$type": "SetAbilitySpecialByExpression",
|
|
"DoRefresh": true,
|
|
"Expression": "specials(AS_MaxBuffAddedDamageRatio)*min((1-property(CurHP)\/property(MaxHP)),(1-specials(AS_MaxBuffHPRatio)))\/(1-specials(AS_MaxBuffHPRatio))",
|
|
"ParamName": "AS_AddedDamageRatio",
|
|
"Target": "Self",
|
|
"ValueType": "Float"
|
|
},
|
|
{
|
|
"$type": "ApplyModifier",
|
|
"ModifierName": "DamageAddRatioModifier"
|
|
},
|
|
{
|
|
"$type": "BranchOperator",
|
|
"Conditions": [
|
|
{
|
|
"$type": "ByGameContextType",
|
|
"GameType": "StreamingGame",
|
|
"SubGameType": "All"
|
|
}
|
|
],
|
|
"FailureActions": [
|
|
{
|
|
"$type": "SetAbilitySpecialAction",
|
|
"ModifyFunction": "Replace",
|
|
"Param": 0,
|
|
"ParamName": "AS_RecoverRPCD_Real",
|
|
"ParamType": "Float"
|
|
}
|
|
],
|
|
"SuccessActions": [
|
|
{
|
|
"$type": "SetAbilitySpecialByExpression",
|
|
"Expression": "scenevar(AS_RecoverRPCD_Real)",
|
|
"ParamName": "AS_RecoverRPCD_Real",
|
|
"Target": "Self",
|
|
"ValueType": "Float"
|
|
},
|
|
{
|
|
"$type": "SetAbilitySpecialAction",
|
|
"ModifyFunction": "Replace",
|
|
"Param": "%AS_RecoverRPCD_Real",
|
|
"ParamName": "AS_RecoverRPCD_Cache",
|
|
"ParamType": "Float"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "BranchOperator",
|
|
"Conditions": [
|
|
{
|
|
"$type": "ByAbilitySpecial",
|
|
"CompareType": "LessEqual",
|
|
"Param": 0,
|
|
"ParamName": "AS_RecoverRPCD_Real",
|
|
"ParamType": "Float"
|
|
}
|
|
],
|
|
"FailureActions": [
|
|
{
|
|
"$type": "ApplyModifier",
|
|
"ModifierName": "SmoothDecreaseCDModifier",
|
|
"Target": "Self"
|
|
}
|
|
],
|
|
"SuccessActions": [
|
|
{
|
|
"$type": "RecoverRpAction",
|
|
"Amount": 60,
|
|
"Target": "Caster"
|
|
},
|
|
{
|
|
"$type": "SetAbilitySpecialAction",
|
|
"ModifyFunction": "Replace",
|
|
"Param": "%AS_RecoverRPCD",
|
|
"ParamName": "AS_RecoverRPCD_Real",
|
|
"ParamType": "Float"
|
|
},
|
|
{
|
|
"$type": "SetAbilitySpecialAction",
|
|
"ModifyFunction": "Replace",
|
|
"Param": "%AS_RecoverRPCD",
|
|
"ParamName": "AS_RecoverRPCD_Cache",
|
|
"ParamType": "Float"
|
|
},
|
|
{
|
|
"$type": "ApplyModifier",
|
|
"ModifierName": "SmoothDecreaseCDModifier",
|
|
"Target": "Self"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"Modifiers": {
|
|
"AddedAttackModifier": {
|
|
"Duration": -1,
|
|
"IgnoreTimeScale": false,
|
|
"ModifierStacking": "Replace",
|
|
"Properties": {
|
|
"Actor_SkipDefAttackDelta": "%SkipDefAttackDelta"
|
|
}
|
|
},
|
|
"DamageAddRatioLockModifier": {
|
|
"Duration": -1,
|
|
"IgnoreTimeScale": true,
|
|
"ModifierMixins": [
|
|
{
|
|
"$type": "ActionsOnPropertyChangeMixin",
|
|
"PropertyActions": [
|
|
{
|
|
"IsUsePercentage": true,
|
|
"PropertyType": "CurHP",
|
|
"ReferMaxPropertyType": "MaxHP",
|
|
"ValueRangeActions": [
|
|
{
|
|
"LowToValueActions": [
|
|
{
|
|
"$type": "RemoveModifier",
|
|
"ModifierName": "DamageAddRatioLockModifier",
|
|
"Target": "Self"
|
|
}
|
|
],
|
|
"Val": "%AS_MaxBuffHPRatio"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"ModifierStacking": "Unique",
|
|
"OnRemoved": [
|
|
{
|
|
"$type": "ApplyModifier",
|
|
"ModifierName": "DamageAddRatioLockTimeModifier"
|
|
}
|
|
]
|
|
},
|
|
"DamageAddRatioLockTimeModifier": {
|
|
"Duration": "%AS_MaxBuffDuration",
|
|
"IgnoreTimeScale": true,
|
|
"ModifierStacking": "Refresh",
|
|
"OnRemoved": [
|
|
{
|
|
"$type": "SetAbilitySpecialsByPropertyAction",
|
|
"DoRefresh": true,
|
|
"ModifyFunction": "Replace",
|
|
"ParamName": "AS_MaxHP",
|
|
"Percentage": 1,
|
|
"PropertyType": "MaxHP",
|
|
"Target": "Self"
|
|
},
|
|
{
|
|
"$type": "SetAbilitySpecialByExpression",
|
|
"DoRefresh": true,
|
|
"Expression": "specials(AS_MaxBuffAddedDamageRatio)*min((1-property(CurHP)\/property(MaxHP)),(1-specials(AS_MaxBuffHPRatio)))\/(1-specials(AS_MaxBuffHPRatio))",
|
|
"ParamName": "AS_AddedDamageRatio",
|
|
"Predicates": [
|
|
{
|
|
"$type": "ByNot",
|
|
"Predicates": [
|
|
{
|
|
"$type": "ByHasModifier",
|
|
"ModifierNameList": [
|
|
"DamageAddRatioLockModifier"
|
|
],
|
|
"Target": "Self"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"Target": "Self",
|
|
"ValueType": "Float"
|
|
},
|
|
{
|
|
"$type": "ApplyModifier",
|
|
"ModifierName": "DamageAddRatioModifier",
|
|
"Predicates": [
|
|
{
|
|
"$type": "ByNot",
|
|
"Predicates": [
|
|
{
|
|
"$type": "ByHasModifier",
|
|
"ModifierNameList": [
|
|
"DamageAddRatioLockModifier"
|
|
],
|
|
"Target": "Self"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"DamageAddRatioModifier": {
|
|
"Duration": -1,
|
|
"IgnoreTimeScale": false,
|
|
"ModifierStacking": "Replace",
|
|
"OnHitOther": [
|
|
{
|
|
"$type": "ModifyAttackDataAction",
|
|
"PropertyKey": "Actor_AddedDamageRatio",
|
|
"PropertyValue": "%AS_AddedDamageRatio",
|
|
"Target": "Self"
|
|
}
|
|
]
|
|
},
|
|
"SmoothDecreaseCDModifier": {
|
|
"Duration": "%AS_RecoverRPCD",
|
|
"ModifierMixins": [
|
|
{
|
|
"$type": "SmoothBlendAbilitySpecialMixin",
|
|
"AbilitySpecial": "AS_RecoverRPCD_Real",
|
|
"BlendCurve": "Linear",
|
|
"BlendTime": "%AS_RecoverRPCD_Cache",
|
|
"TargetValue": 0
|
|
}
|
|
],
|
|
"ModifierStacking": "Unique",
|
|
"OnThinkInterval": [
|
|
{
|
|
"$type": "RemoveModifier",
|
|
"ModifierName": "SmoothDecreaseCDModifier",
|
|
"Predicates": [
|
|
{
|
|
"$type": "ByAbilitySpecial",
|
|
"CompareType": "LessEqual",
|
|
"Param": 0,
|
|
"ParamName": "AS_RecoverRPCD_Real",
|
|
"ParamType": "Float"
|
|
}
|
|
],
|
|
"Target": "Self"
|
|
}
|
|
],
|
|
"ThinkInterval": 0.1
|
|
},
|
|
"SpecialFeverManagerModifier_Caster": {
|
|
"Duration": -1,
|
|
"IgnoreTimeScale": true,
|
|
"ModifierMixins": [
|
|
{
|
|
"$type": "ActionsOnInstantPropertyChangeMixin",
|
|
"PropertyActions": [
|
|
{
|
|
"InstantPropertyChangeActions": [
|
|
{
|
|
"$type": "SetAbilitySpecialByExpression",
|
|
"DoRefresh": true,
|
|
"Expression": "sqrt((specials(AS_MaxHP)-property(MaxHP))*(specials(AS_MaxHP)-property(MaxHP)))",
|
|
"ParamName": "AS_MaxHP_Delta",
|
|
"Target": "Self",
|
|
"ValueType": "Float"
|
|
},
|
|
{
|
|
"$type": "BranchOperator",
|
|
"Conditions": [
|
|
{
|
|
"$type": "ByAbilitySpecial",
|
|
"CompareType": "LessEqual",
|
|
"Param": 1,
|
|
"ParamName": "AS_MaxHP_Delta",
|
|
"ParamType": "Float"
|
|
}
|
|
],
|
|
"FailureActions": [
|
|
{
|
|
"$type": "SetAbilitySpecialsByPropertyAction",
|
|
"DoRefresh": true,
|
|
"ModifyFunction": "Replace",
|
|
"ParamName": "AS_MaxHP",
|
|
"Percentage": 1,
|
|
"PropertyType": "MaxHP",
|
|
"Target": "Self"
|
|
}
|
|
],
|
|
"SuccessActions": [
|
|
{
|
|
"$type": "SetAbilitySpecialByExpression",
|
|
"DoRefresh": true,
|
|
"Expression": "specials(AS_MaxBuffAddedDamageRatio)*min((1-property(CurHP)\/property(MaxHP)),(1-specials(AS_MaxBuffHPRatio)))\/(1-specials(AS_MaxBuffHPRatio))",
|
|
"ParamName": "AS_AddedDamageRatio",
|
|
"Predicates": [
|
|
{
|
|
"$type": "ByNot",
|
|
"Predicates": [
|
|
{
|
|
"$type": "ByHasModifier",
|
|
"ModifierNameList": [
|
|
"DamageAddRatioLockModifier"
|
|
],
|
|
"Target": "Self"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "ByNot",
|
|
"Predicates": [
|
|
{
|
|
"$type": "ByHasModifier",
|
|
"ModifierNameList": [
|
|
"DamageAddRatioLockTimeModifier"
|
|
],
|
|
"Target": "Self"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"Target": "Self",
|
|
"ValueType": "Float"
|
|
},
|
|
{
|
|
"$type": "ApplyModifier",
|
|
"ModifierName": "DamageAddRatioModifier",
|
|
"Predicates": [
|
|
{
|
|
"$type": "ByNot",
|
|
"Predicates": [
|
|
{
|
|
"$type": "ByHasModifier",
|
|
"ModifierNameList": [
|
|
"DamageAddRatioLockModifier"
|
|
],
|
|
"Target": "Self"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "ByNot",
|
|
"Predicates": [
|
|
{
|
|
"$type": "ByHasModifier",
|
|
"ModifierNameList": [
|
|
"DamageAddRatioLockTimeModifier"
|
|
],
|
|
"Target": "Self"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "ApplyModifier",
|
|
"ModifierName": "DamageAddRatioLockModifier",
|
|
"Predicates": [
|
|
{
|
|
"$type": "ByPlayerPropertyValue",
|
|
"CompareType": "Less",
|
|
"Denominator": "MaxHP",
|
|
"IsUsePercent": true,
|
|
"Numerator": "CurHP",
|
|
"Target": "Self",
|
|
"Val1": "%AS_MaxBuffHPRatio"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "BranchOperator",
|
|
"Conditions": [
|
|
{
|
|
"$type": "ByAbilitySpecial",
|
|
"CompareType": "Less",
|
|
"Param": 0,
|
|
"ParamName": "Hp_Change",
|
|
"ParamType": "Float"
|
|
}
|
|
],
|
|
"SuccessActions": [
|
|
{
|
|
"$type": "SetAbilitySpecialByExpression",
|
|
"DoRefresh": true,
|
|
"Expression": "min((-1*(specials(Hp_Change))*specials(RecoverFeverRatio)*(1+specials(AS_TalentExtraRecoverFeverRatio))),specials(AS_MaxRecoverFever))",
|
|
"ParamName": "RecoverFeverValue_Caster",
|
|
"Target": "Self",
|
|
"ValueType": "Float"
|
|
},
|
|
{
|
|
"$type": "RecoverIndividualFeverAction",
|
|
"Amount": "%RecoverFeverValue_Caster",
|
|
"Target": "Self"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"IsSaveToSpecial": true,
|
|
"IsUsePercentage": false,
|
|
"NameSaveToSpecialInstant": "Hp_Change",
|
|
"PropertyType": "CurHP"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"ModifierStacking": "Unique",
|
|
"OnAdded": [
|
|
{
|
|
"$type": "SetAbilitySpecialsByPropertyAction",
|
|
"DoRefresh": true,
|
|
"ModifyFunction": "Replace",
|
|
"ParamName": "AS_MaxHP",
|
|
"Percentage": 1,
|
|
"PropertyType": "MaxHP",
|
|
"Target": "Self"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
} |