{ "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": "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" } ] }, { "$type": "ActionsOnPropertyChangeMixin", "DoInitialCheck": false, "PropertyActions": [ { "InstantPropertyChangeActions": [ { "$type": "SetAbilitySpecialByExpression", "DoRefresh": true, "Expression": "specials(AS_RpToAnger)*specials(AS_Rp_Delta)", "ParamName": "AS_AngerRecoverExtra", "Target": "Self", "ValueType": "Float" }, { "$type": "ModifyProperty", "Amount": "%AS_AngerRecoverExtra", "CustomPropertyType": "CurAngerValue", "IsUsePercentage": false, "Percentage": 0, "Predicates": [ { "$type": "ByAbilitySpecial", "CompareType": "Greater", "Param": 0, "ParamName": "AS_AngerRecoverExtra", "ParamType": "Float" }, { "$type": "ByAliveState", "AliveState": "Alive", "Target": "Caster" }, { "$type": "ByNot", "Predicates": [ { "$type": "ByIsInZoneTags", "Tags": [ "Banyue_AngryState" ], "Target": "Self" } ] } ], "PropertyModifyFunction": "Add", "PropertyType": "Custom", "Target": "Self" } ], "IsSaveToSpecial": true, "IsUsePercentage": false, "NameSaveToSpecial": "AS_Rp_Delta", "NameSaveToSpecialPotential": "AS_Rp_Delta", "PropertyPotentialValueChangeActions": [ { "$type": "SetAbilitySpecialByExpression", "DoRefresh": true, "Expression": "specials(AS_RpToAnger)*specials(AS_Rp_Delta)", "ParamName": "AS_AngerRecoverExtra", "Target": "Self", "ValueType": "Float" }, { "$type": "ModifyProperty", "Amount": "%AS_AngerRecoverExtra", "CustomPropertyType": "CurAngerValue", "IsUsePercentage": false, "Percentage": 0, "Predicates": [ { "$type": "ByAbilitySpecial", "CompareType": "Greater", "Param": 0, "ParamName": "AS_AngerRecoverExtra", "ParamType": "Float" }, { "$type": "ByAliveState", "AliveState": "Alive", "Target": "Caster" }, { "$type": "ByNot", "Predicates": [ { "$type": "ByIsInZoneTags", "Tags": [ "Banyue_AngryState" ], "Target": "Self" } ] } ], "PropertyModifyFunction": "Add", "PropertyType": "Custom", "Target": "Self" } ], "PropertyType": "CurRp", "ReferMaxPropertyType": "MaxRp" } ] }, { "$type": "ActionsOnPropertyChangeMixin", "PropertyActions": [ { "CustomPropertyType": "CurAngerValue", "IsUsePercentage": false, "PropertyType": "Custom", "ValueRangeActions": [ { "LowToValueActions": [ { "$type": "SetAnimCtrlerParamAction", "BoolVal": true, "ParamName": "Bool_Angryprepare", "ParamType": 2, "Target": "Self" }, { "$type": "ApplyModifier", "ModifierName": "EnterAngerState", "Predicates": [ { "$type": "ByIsInZoneTags", "Tags": [ "Banyue_ChargeAngry" ], "Target": "Self" } ], "Target": "Self" }, { "$type": "FireEffect", "EffectPattern": "Eff_BanYue_Attack_EnterAngryState_01_Burst", "Predicates": [ { "$type": "ByIsInZoneTags", "Tags": [ "Banyue_ChargeAngry" ], "Target": "Self" } ], "Target": "Self" }, { "$type": "HandleAnimEvent", "AnimEventID": "BanYue_Attack_EnterAngry_AttackProperty_01", "Predicates": [ { "$type": "ByIsInZoneTags", "Tags": [ "Banyue_ChargeAngry" ], "Target": "Self" } ] } ], "Val": 119.9 } ] } ] }, { "$type": "ActionsOnPropertyChangeMixin", "PropertyActions": [ { "CustomPropertyType": "BanYue_ExSpCharge", "IsUsePercentage": false, "PropertyType": "Custom", "ValueRangeActions": [ { "HighToValueActions": [ { "$type": "HandleAnimatorZoneTagsAction", "AnimatorStateTags": [ "Banyue_AngryEmpty" ], "Predicates": [ { "$type": "ByIsInZoneTags", "Tags": [ "Banyue_AngryState" ], "Target": "Self" } ], "Target": "Self" }, { "$type": "SetAnimCtrlerParamAction", "BoolVal": true, "ParamName": "Bool_AngryEmpty", "ParamType": 2, "Predicates": [ { "$type": "ByIsInZoneTags", "Tags": [ "Banyue_AngryState" ], "Target": "Self" } ], "Target": "Self" } ], "Val": 0 } ] } ] }, { "$type": "AttachStateWithModifierMixin", "ConfigList": [ { "AnimatorStateName": "Attack_Branch_03_01", "FrameCountHigh": 85, "FrameCountLow": 0, "IsLoop": true, "LayerIndex": 0, "MaxFrameCountHigh": false, "MaxFrameCountLow": false, "ModifierNameList": [ "SpecialExSpController" ] } ], "IsSeam": true }, { "$type": "AttachStateWithModifierMixin", "ConfigList": [ { "AnimatorStateName": "Attack_Branch_02_01", "FrameCountHigh": 0, "FrameCountLow": 0, "IsLoop": true, "LayerIndex": 0, "MaxFrameCountHigh": true, "MaxFrameCountLow": false, "ModifierNameList": [ "RecoverEnergyModifier" ] }, { "AnimatorStateName": "Attack_Branch_02_03", "FrameCountHigh": 0, "FrameCountLow": 0, "IsLoop": true, "LayerIndex": 0, "MaxFrameCountHigh": true, "MaxFrameCountLow": false, "ModifierNameList": [ "RecoverEnergyModifier" ] }, { "AnimatorStateName": "Attack_Branch_02_04", "FrameCountHigh": 0, "FrameCountLow": 0, "IsLoop": true, "LayerIndex": 0, "MaxFrameCountHigh": true, "MaxFrameCountLow": false, "ModifierNameList": [ "RecoverEnergyModifier" ] }, { "AnimatorStateName": "Attack_Branch_02_02", "FrameCountHigh": 0, "FrameCountLow": 0, "IsLoop": true, "LayerIndex": 0, "MaxFrameCountHigh": true, "MaxFrameCountLow": false, "ModifierNameList": [ "RecoverEnergyModifier" ] }, { "AnimatorStateName": "Attack_Branch_02_03_Enhance", "FrameCountHigh": 0, "FrameCountLow": 0, "IsLoop": true, "LayerIndex": 0, "MaxFrameCountHigh": true, "MaxFrameCountLow": false, "ModifierNameList": [ "RecoverEnergyModifier" ] }, { "AnimatorStateName": "Attack_Branch_02_04_Enhance", "FrameCountHigh": 0, "FrameCountLow": 0, "IsLoop": true, "LayerIndex": 0, "MaxFrameCountHigh": true, "MaxFrameCountLow": false, "ModifierNameList": [ "RecoverEnergyModifier" ] } ], "IsSeam": true }, { "$type": "AttachStateWithModifierMixin", "ConfigList": [ { "AnimatorStateName": "Attack_EnterAngryState", "FrameCountHigh": 0, "FrameCountLow": 0, "IsLoop": true, "LayerIndex": 0, "MaxFrameCountHigh": true, "MaxFrameCountLow": false, "ModifierNameList": [ "EnterAngerState" ] } ], "IsSeam": true }, { "$type": "AttachStateWithModifierMixin", "ConfigList": [ { "AnimatorStateName": "Attack_Charge_Start", "FrameCountHigh": 0, "FrameCountLow": 0, "IsLoop": true, "LayerIndex": 0, "MaxFrameCountHigh": true, "MaxFrameCountLow": false, "ModifierNameList": [ "AngryRecoverByCharge" ] }, { "AnimatorStateName": "Attack_Charge_Loop", "FrameCountHigh": 0, "FrameCountLow": 0, "IsLoop": true, "LayerIndex": 0, "MaxFrameCountHigh": true, "MaxFrameCountLow": false, "ModifierNameList": [ "AngryRecoverByCharge" ] } ], "IsSeam": false }, { "$type": "ActionsOnPropertyChangeMixin", "PropertyActions": [ { "IsUsePercentage": true, "PropertyType": "CurHP", "ReferMaxPropertyType": "MaxHP", "ValueRangeActions": [ { "HighToValueActions": [ { "$type": "SetAnimCtrlerParamAction", "BoolVal": false, "ParamName": "Bool_CanChargeAnger", "ParamType": 2, "Target": "Self" } ], "LowToValueActions": [ { "$type": "SetAnimCtrlerParamAction", "BoolVal": true, "ParamName": "Bool_CanChargeAnger", "ParamType": 2, "Target": "Self" } ], "Val": "%AS_HpMin" } ] } ] }, { "$type": "ActwithStateFrameMixin", "ConfigList": [ { "ActionList": [ { "$type": "ApplyModifier", "ModifierName": "EnterAngryState_Quick", "Target": "Self" } ], "AnimatorStateName": "SwitchIn_Attack", "Frame": 99, "IsLoop": false, "LayerIndex": 0 }, { "ActionList": [ { "$type": "ApplyModifier", "ModifierName": "EnterAngryState_Quick", "Target": "Self" } ], "AnimatorStateName": "SwitchIn_Attack_Ex", "Frame": 120, "IsLoop": false, "LayerIndex": 0 } ] } ], "AbilityName": "BanYue_UniqueSkill", "AbilitySpecials": { "AS_AddedDamageRatio": { "Value": 0.2 }, "AS_AddedDamageRatio_Extra": { "Value": 0.2 }, "AS_AngerRecoverByEvade": { "Value": 5 }, "AS_AngerRecoverByParry": { "Value": 5 }, "AS_AngerRecoverExtra": { "Value": 0 }, "AS_AngryRecoverByHP": { "Value": 4 }, "AS_AngryRecoverByHP_Extra": { "Value": 2 }, "AS_ChargeCD": { "Value": 180, "ValueType": "Float" }, "AS_ChargeCD_Cache": { "Value": 0, "ValueType": "Float" }, "AS_ChargeCD_Real": { "Value": 0, "ValueType": "Float" }, "AS_ConversionRate_ATK": { "Value": 0.12 }, "AS_ConversionRate_HP": { "Value": 0.12 }, "AS_CritDamageRatioDelta": { "Value": 0.25 }, "AS_CritDamageRatioDelta_Extra": { "Value": 0.15 }, "AS_ExSpCharge_Talent_04": { "Value": 6 }, "AS_HpDecraseRatio": { "Value": 0.016 }, "AS_HpDecraseRatio_Extra": { "Value": 0.01 }, "AS_HpMin": { "Value": 0.01 }, "AS_RecoverRPCD": { "Value": 180, "ValueType": "Float" }, "AS_RecoverRPCD_Cache": { "Value": 0, "ValueType": "Float" }, "AS_RecoverRPCD_Real": { "Value": 0, "ValueType": "Float" }, "AS_RecoverRP_Initial": { "Value": 60 }, "AS_RpToAnger": { "Value": -1 }, "AS_Rp_Delta": { "Value": 0 }, "AS_SkipDefAttackDelta": { "Value": 200 }, "AS_SkipDefAttackDelta_Extra": { "Value": 200 }, "AS_SkipDefAttackDuration": { "Value": 30 }, "AS_SpRecover": { "Value": 15 }, "AS_SpRecover_Extra": { "Value": 10 }, "AngryState_Duration": { "Value": 12 }, "SkipDefAttackDelta": { "Value": 0 }, "SkipDefAttackDelta_ATK": { "Value": 0 }, "SkipDefAttackDelta_HP": { "Value": 0 } }, "AbilityStacking": "Unique", "DefaultModifier": { "OnAdded": [ { "$type": "ModifyProperty", "Amount": 0, "CustomPropertyType": "IsAngry", "IsUsePercentage": false, "Percentage": 0, "PropertyModifyFunction": "Replace", "PropertyType": "Custom", "Target": "Self" }, { "$type": "SetAnimCtrlerParamAction", "BoolVal": true, "ParamName": "Bool_AngryEmpty", "ParamType": 2, "Target": "Self" }, { "$type": "SetAnimCtrlerParamAction", "BoolVal": true, "ParamName": "Bool_CanChargeAnger", "ParamType": 2, "Target": "Self" }, { "$type": "SetAnimCtrlerParamAction", "BoolVal": true, "ParamName": "Bool_CanChargeAnger_Battle", "ParamType": 2, "Target": "Self" }, { "$type": "ApplyModifier", "ModifierName": "AngerRecoverManager", "Target": "Self" }, { "$type": "SetAbilitySpecialByExpression", "DoRefresh": true, "Expression": "specials(AS_SpRecover)+specials(AS_SpRecover_Extra)", "ParamName": "AS_SpRecover", "Predicates": [ { "$type": "ByAvatarTalentIndex", "TalentIndex": 2, "Target": "Self" } ], "ValueType": "Float" }, { "$type": "SetAbilitySpecialByExpression", "DoRefresh": true, "Expression": "specials(AS_CritDamageRatioDelta)+specials(AS_CritDamageRatioDelta_Extra)", "ParamName": "AS_CritDamageRatioDelta", "Predicates": [ { "$type": "ByAvatarTalentIndex", "TalentIndex": 2, "Target": "Self" } ], "ValueType": "Float" }, { "$type": "SetAbilitySpecialByExpression", "DoRefresh": true, "Expression": "specials(AS_AddedDamageRatio)+specials(AS_AddedDamageRatio_Extra)", "ParamName": "AS_AddedDamageRatio", "Predicates": [ { "$type": "ByAvatarTalentIndex", "TalentIndex": 2, "Target": "Self" } ], "ValueType": "Float" }, { "$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": "%AS_RecoverRP_Initial", "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" } ] }, { "$type": "BranchOperator", "Conditions": [ { "$type": "ByGameContextType", "GameType": "StreamingGame", "SubGameType": "All" } ], "FailureActions": [ { "$type": "SetAbilitySpecialAction", "ModifyFunction": "Replace", "Param": 0, "ParamName": "AS_ChargeCD_Real", "ParamType": "Float" } ], "SuccessActions": [ { "$type": "SetAbilitySpecialByExpression", "Expression": "scenevar(AS_ChargeCD_Real)", "ParamName": "AS_ChargeCD_Real", "Target": "Self", "ValueType": "Float" }, { "$type": "SetAbilitySpecialAction", "ModifyFunction": "Replace", "Param": "%AS_ChargeCD_Real", "ParamName": "AS_ChargeCD_Cache", "ParamType": "Float" } ] }, { "$type": "BranchOperator", "Conditions": [ { "$type": "ByAbilitySpecial", "CompareType": "LessEqual", "Param": 0, "ParamName": "AS_ChargeCD_Real", "ParamType": "Float" } ], "FailureActions": [ { "$type": "ApplyModifier", "ModifierName": "SmoothDecreaseCDModifier_ChargeCD", "Target": "Self" } ], "SuccessActions": [ { "$type": "SetAnimCtrlerParamAction", "BoolVal": true, "ParamName": "Bool_CanChargeAnger_Once", "ParamType": 2, "Target": "Self" } ] } ], "OnBattleEnter": [ { "$type": "SetAnimCtrlerParamAction", "BoolVal": false, "ParamName": "Bool_CanChargeAnger_Battle", "ParamType": 2, "Target": "Self" } ], "OnBattleExit": [ { "$type": "SetAnimCtrlerParamAction", "BoolVal": true, "ParamName": "Bool_CanChargeAnger_Battle", "ParamType": 2, "Target": "Self" } ], "OnCustomEventReceived": [ { "$type": "ApplyModifier", "ModifierName": "AngerState", "Predicates": [ { "$type": "ByCustomEvent", "EventKey": "BanYue_CardS3_Base_02_Upgrade_03_CommonAid" } ], "Target": "Self" } ], "OnDying": [ { "$type": "SetAnimCtrlerParamAction", "BoolVal": false, "ParamName": "Bool_SpecialExSp", "ParamType": 2, "Target": "Self" }, { "$type": "ModifyProperty", "Amount": 0, "CustomPropertyType": "AngryPoint", "IsUsePercentage": false, "Percentage": 0, "PropertyModifyFunction": "Replace", "PropertyType": "Custom", "Target": "Self" }, { "$type": "ModifyProperty", "Amount": 0, "CustomPropertyType": "CurAngerValue", "IsUsePercentage": false, "Percentage": 0, "PropertyModifyFunction": "Replace", "PropertyType": "Custom", "Target": "Self" }, { "$type": "SetAnimCtrlerParamAction", "BoolVal": false, "ParamName": "Bool_Angryprepare", "ParamType": 2, "Target": "Self" }, { "$type": "RemoveModifier", "ModifierName": "AngerState", "Target": "Self" } ], "OnKilled": [ { "$type": "SetAnimCtrlerParamAction", "BoolVal": false, "ParamName": "Bool_SpecialExSp", "ParamType": 2, "Target": "Self" }, { "$type": "ModifyProperty", "Amount": 0, "CustomPropertyType": "AngryPoint", "IsUsePercentage": false, "Percentage": 0, "PropertyModifyFunction": "Replace", "PropertyType": "Custom", "Target": "Self" }, { "$type": "ModifyProperty", "Amount": 0, "CustomPropertyType": "CurAngerValue", "IsUsePercentage": false, "Percentage": 0, "PropertyModifyFunction": "Replace", "PropertyType": "Custom", "Target": "Self" }, { "$type": "SetAnimCtrlerParamAction", "BoolVal": false, "ParamName": "Bool_Angryprepare", "ParamType": 2, "Target": "Self" }, { "$type": "RemoveModifier", "ModifierName": "AngerState", "Target": "Self" } ], "OnSkillStart": [ { "$type": "ApplyModifier", "ModifierName": "SkipDefAttackModifier", "Predicates": [ { "$type": "ByOr", "Predicates": [ { "$type": "ByFromSkillType", "SkillType": "ExSp", "Target": "Self" }, { "$type": "ByFromSkillType", "SkillType": "AssaultAid", "Target": "Self" } ] } ], "Target": "Self" } ] }, "Modifiers": { "AddedAttackModifier": { "Duration": -1, "IgnoreTimeScale": false, "ModifierStacking": "Replace", "Properties": { "Actor_SkipDefAttackDelta": "%SkipDefAttackDelta" } }, "AngerRecoverByDodge_CD": { "Duration": 1, "ModifierStacking": "Unique", "OnAdded": [ { "$type": "ModifyProperty", "Amount": "%AS_AngerRecoverByEvade", "CustomPropertyType": "CurAngerValue", "IsUsePercentage": false, "Percentage": 0, "Predicates": [ { "$type": "ByNot", "Predicates": [ { "$type": "ByIsInZoneTags", "Tags": [ "Banyue_AngryState" ], "Target": "Self" } ] } ], "PropertyModifyFunction": "Add", "PropertyType": "Custom", "Target": "Self" } ] }, "AngerRecoverManager": { "Duration": -1, "ModifierStacking": "Unique", "OnDodgeSuccess": [ { "$type": "ApplyModifier", "ModifierName": "AngerRecoverByDodge_CD", "Target": "Self" } ] }, "AngerState": { "Duration": -1, "ModifierStacking": "Unique", "OnAdded": [ { "$type": "TriggerSoundAction", "Target": "Self", "soundActionKey": "Play_SFX_Char_Skill_EnterAngryState" }, { "$type": "SetAnimCtrlerParamAction", "BoolVal": false, "ParamName": "Bool_Angryprepare", "ParamType": 2, "Target": "Self" }, { "$type": "RemoveModifier", "ModifierName": "EnterAngerState", "Target": "Self" }, { "$type": "HandleAnimatorZoneTagsAction", "AnimatorStateTags": [ "Banyue_AngryState" ], "Target": "Self" }, { "$type": "SetAnimCtrlerParamAction", "BoolVal": true, "ParamName": "Bool_InAngryState", "ParamType": 2, "Target": "Self" }, { "$type": "SetAnimCtrlerParamAction", "BoolVal": false, "ParamName": "Bool_AngryEmpty", "ParamType": 2, "Target": "Self" }, { "$type": "ModifyProperty", "Amount": 1, "CustomPropertyType": "IsAngry", "IsUsePercentage": false, "Percentage": 0, "PropertyModifyFunction": "Replace", "PropertyType": "Custom", "Target": "Self" }, { "$type": "SetAnimCtrlerParamAction", "BoolVal": true, "ParamName": "Bool_SpecialExSp", "ParamType": 2, "Target": "Self" }, { "$type": "ModifyProperty", "Amount": 1, "CustomPropertyType": "AngryPoint", "IsUsePercentage": false, "Percentage": 0, "PropertyModifyFunction": "Replace", "PropertyType": "Custom", "Target": "Self" }, { "$type": "ModifyProperty", "Amount": 4, "CustomPropertyType": "BanYue_ExSpCharge", "IsUsePercentage": false, "Percentage": 0, "PropertyModifyFunction": "Replace", "PropertyType": "Custom", "Target": "Self" }, { "$type": "ApplyModifier", "ModifierName": "AngryState_ExSpCharge_Flag", "StackCount": 4, "Target": "Self" }, { "$type": "HandleAnimatorZoneTagsAction", "AnimatorStateTags": [ "Banyue_ExSpCharge_Flag_Enough" ], "IsAdd": true, "Target": "Self" } ], "OnRemoved": [ { "$type": "TriggerSoundAction", "Target": "Self", "soundActionKey": "Play_SFX_Char_Skill_EnterAngryState_End" }, { "$type": "HandleAnimatorZoneTagsAction", "AnimatorStateTags": [ "Banyue_AngryState" ], "IsAdd": false, "Target": "Self" }, { "$type": "SetAnimCtrlerParamAction", "BoolVal": false, "ParamName": "Bool_InAngryState", "ParamType": 2, "Target": "Self" }, { "$type": "SetAnimCtrlerParamAction", "BoolVal": true, "ParamName": "Bool_AngryEmpty", "ParamType": 2, "Target": "Self" }, { "$type": "ModifyProperty", "Amount": 0, "CustomPropertyType": "IsAngry", "IsUsePercentage": false, "Percentage": 0, "PropertyModifyFunction": "Replace", "PropertyType": "Custom", "Target": "Self" }, { "$type": "HandleAnimatorZoneTagsAction", "AnimatorStateTags": [ "Banyue_AngryEmpty" ], "IsAdd": false, "Target": "Self" }, { "$type": "ModifyProperty", "Amount": 0, "CustomPropertyType": "BanYue_ExSpCharge", "IsUsePercentage": false, "Percentage": 0, "PropertyModifyFunction": "Replace", "PropertyType": "Custom", "Target": "Self" }, { "$type": "RemoveModifier", "ModifierName": "AngryState_ExSpCharge_Flag", "StackCount": 99, "Target": "Self" }, { "$type": "HandleAnimatorZoneTagsAction", "AnimatorStateTags": [ "Banyue_ExSpCharge_Flag_Enough" ], "IsAdd": false, "Target": "Self" } ] }, "AngryRecoverByCharge": { "Duration": -1, "ModifierStacking": "Unique", "OnAdded": [ { "$type": "HandleAnimatorZoneTagsAction", "AnimatorStateTags": [ "Banyue_ChargeAngry" ], "IsAdd": true, "Target": "Self" }, { "$type": "SetAnimCtrlerParamAction", "BoolVal": true, "ParamName": "Bool_Angryprepare", "ParamType": 2, "Target": "Self" }, { "$type": "SetAnimCtrlerParamAction", "BoolVal": false, "ParamName": "Bool_CanChargeAnger_Once", "ParamType": 2, "Target": "Self" }, { "$type": "SetAbilitySpecialAction", "ModifyFunction": "Replace", "Param": "%AS_ChargeCD", "ParamName": "AS_ChargeCD_Real", "ParamType": "Float" }, { "$type": "SetAbilitySpecialAction", "ModifyFunction": "Replace", "Param": "%AS_ChargeCD", "ParamName": "AS_ChargeCD_Cache", "ParamType": "Float" }, { "$type": "ApplyModifier", "ModifierName": "SmoothDecreaseCDModifier_ChargeCD", "Target": "Self" } ], "OnRemoved": [ { "$type": "HandleAnimatorZoneTagsAction", "AnimatorStateTags": [ "Banyue_ChargeAngry" ], "IsAdd": false, "Target": "Self" }, { "$type": "SetAnimCtrlerParamAction", "BoolVal": false, "ParamName": "Bool_Angryprepare", "ParamType": 2, "Target": "Self" } ], "OnThinkInterval": [ { "$type": "DecreaseHPAction", "Amount": 0, "IgnoreInvincible": true, "IgnoreLifeLock": true, "Percentage": "%AS_HpDecraseRatio", "Predicates": [ { "$type": "ByPlayerPropertyValue", "CompareType": "GreaterEqual", "Denominator": "MaxHP", "IsUsePercent": true, "Numerator": "CurHP", "Target": "Self", "Val1": "%AS_HpMin", "Val2": 0 } ], "Target": "Self" }, { "$type": "ModifyProperty", "Amount": "%AS_AngryRecoverByHP", "CustomPropertyType": "CurAngerValue", "IsUsePercentage": false, "Percentage": 0, "Predicates": [ { "$type": "ByPlayerPropertyValue", "CompareType": "GreaterEqual", "Denominator": "MaxHP", "IsUsePercent": true, "Numerator": "CurHP", "Target": "Self", "Val1": "%AS_HpMin", "Val2": 0 } ], "PropertyModifyFunction": "Add", "PropertyType": "Custom", "Target": "Self" }, { "$type": "RemoveModifier", "ModifierName": "AngryRecoverByCharge", "Predicates": [ { "$type": "ByPlayerPropertyValue", "CompareType": "Less", "Denominator": "MaxHP", "IsUsePercent": true, "Numerator": "CurHP", "Target": "Self", "Val1": "%AS_HpMin", "Val2": 0 } ], "Target": "Self" } ], "ThinkInterval": 0.1 }, "AngryState_ExSpCharge_Flag": { "Duration": -1, "IgnoreTimeScale": false, "MaxStackingNumber": 4, "ModifierStacking": "Multiple" }, "BlurShadowModifier": { "Duration": 0.3, "ModifierStacking": "Refresh", "OnAdded": [ { "$type": "BeginBlurShadowAction", "ConfigGhostEffectKey": "Common_Ghost_01", "EchoTime": 0.05, "IgnoreOwnerTimescale": true, "IgnoreWorldTimescale": true, "IsActive": true, "LifeTime": 0.2, "MaxGhostCount": 10, "Tag": "BanYue_EnterAngry_BlurShadow_01" } ], "OnRemoved": [ { "$type": "BeginBlurShadowAction", "IsActive": false, "Tag": "BanYue_EnterAngry_BlurShadow_01" } ] }, "EnterAngerState": { "Duration": -1, "ModifierStacking": "Replace", "OnAdded": [ { "$type": "ApplyModifier", "ModifierName": "AngerState", "Target": "Self" }, { "$type": "SetAnimCtrlerParamAction", "BoolVal": false, "ParamName": "Bool_Angryprepare", "ParamType": 2, "Target": "Self" }, { "$type": "ApplyModifier", "ModifierName": "BlurShadowModifier", "Target": "Self" } ] }, "EnterAngryState_Quick": { "Duration": 0.1, "ModifierStacking": "Unique", "OnAdded": [ { "$type": "BranchOperator", "Conditions": [ { "$type": "ByPlayerPropertyValue", "CompareType": "GreaterEqual", "CustomNumerator": "CurAngerValue", "IsUsePercent": false, "Numerator": "Custom", "Target": "Self", "Val1": 119.9 }, { "$type": "ByNot", "Predicates": [ { "$type": "ByIsInZoneTags", "Tags": [ "Banyue_AngryState" ], "Target": "Self" } ] } ], "SuccessActions": [ { "$type": "ApplyModifier", "ModifierName": "EnterAngerState", "Target": "Self" }, { "$type": "FireEffect", "EffectPattern": "Eff_BanYue_Attack_EnterAngryState_01_Burst", "Target": "Self" }, { "$type": "ApplyModifier", "ModifierName": "EnterAngryState_Quick_Animevent", "Target": "Self" } ] } ] }, "EnterAngryState_Quick_Animevent": { "DelayHandlers": [ { "DelayTime": 0.017, "TimeUpActions": [ { "$type": "HandleAnimEvent", "AnimEventID": "BanYue_Attack_EnterAngry_AttackProperty_01" } ] } ], "Duration": 1, "ModifierStacking": "Replace" }, "RecoverEnergyModifier": { "Duration": -1, "ModifierStacking": "Unique", "OnAdded": [ { "$type": "ModifyProperty", "Amount": -1, "CustomPropertyType": "BanYue_ExSpCharge", "IsUsePercentage": false, "Percentage": 0, "Predicates": [ { "$type": "ByIsInZoneTags", "Tags": [ "Banyue_AngryState" ], "Target": "Self" }, { "$type": "ByNot", "Predicates": [ { "$type": "ByIsInZoneTags", "Tags": [ "Banyue_AngryEmpty" ], "Target": "Self" } ] } ], "PropertyModifyFunction": "Add", "PropertyType": "Custom", "Target": "Self" }, { "$type": "RecoverRpAction", "Amount": "%AS_SpRecover", "Percentage": 0, "Predicates": [ { "$type": "ByIsInZoneTags", "Tags": [ "Banyue_AngryState" ], "Target": "Self" }, { "$type": "ByNot", "Predicates": [ { "$type": "ByIsInZoneTags", "Tags": [ "Banyue_AngryEmpty" ], "Target": "Self" } ] } ], "Target": "Self" } ], "OnRemoved": [ { "$type": "RemoveModifier", "ModifierName": "AngryState_ExSpCharge_Flag", "Predicates": [ { "$type": "ByIsInZoneTags", "Tags": [ "Banyue_AngryState" ], "Target": "Self" } ], "StackCount": 1, "Target": "Self" }, { "$type": "HandleAnimatorZoneTagsAction", "AnimatorStateTags": [ "Banyue_ExSpCharge_Flag_Enough" ], "IsAdd": false, "Predicates": [ { "$type": "ByHasModifier", "ModifierNameList": [ "AngryState_ExSpCharge_Flag" ], "OperatorType": "Not", "Target": "Self" } ], "Target": "Self" } ] }, "SkipDefAttackModifier": { "Buff": { "BuffID": 3000494, "IsOverrideDuration": true }, "Duration": "%AS_SkipDefAttackDuration", "IgnoreTimeScale": false, "ModifierStacking": "Replace", "Properties": { "Actor_AddedDamageRatio_Fire": "%AS_AddedDamageRatio", "Actor_CriticalDamageRatioDelta": "%AS_CritDamageRatioDelta", "Actor_SkipDefAttackDelta": "%AS_SkipDefAttackDelta" } }, "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 }, "SmoothDecreaseCDModifier_ChargeCD": { "Duration": "%AS_ChargeCD", "ModifierMixins": [ { "$type": "SmoothBlendAbilitySpecialMixin", "AbilitySpecial": "AS_ChargeCD_Real", "BlendCurve": "Linear", "BlendTime": "%AS_ChargeCD_Cache", "TargetValue": 0 } ], "ModifierStacking": "Unique", "OnThinkInterval": [ { "$type": "RemoveModifier", "ModifierName": "SmoothDecreaseCDModifier", "Predicates": [ { "$type": "ByAbilitySpecial", "CompareType": "LessEqual", "Param": 0, "ParamName": "AS_ChargeCD_Real", "ParamType": "Float" } ], "Target": "Self" } ], "ThinkInterval": 0.1 }, "SpecialExSpController": { "Duration": -1, "ModifierStacking": "Unique", "OnAdded": [ { "$type": "SetAnimCtrlerParamAction", "BoolVal": false, "ParamName": "Bool_SpecialExSp", "ParamType": 2, "Target": "Self" }, { "$type": "ModifyProperty", "Amount": 0, "CustomPropertyType": "AngryPoint", "IsUsePercentage": false, "Percentage": 0, "PropertyModifyFunction": "Replace", "PropertyType": "Custom", "Target": "Self" }, { "$type": "ModifyProperty", "Amount": -120, "CustomPropertyType": "CurAngerValue", "IsUsePercentage": false, "Percentage": 0, "PropertyModifyFunction": "Add", "PropertyType": "Custom", "Target": "Self" } ], "OnRemoved": [ { "$type": "RemoveModifier", "ModifierName": "AngerState", "Target": "Self" } ] } } }