{ "AbilityName": "BillySP_Pinball_Ultimate", "AbilitySpecials": { "AS_CastDuration": { "Value": 0.75 }, "AS_SkillCostNeg": { "Value": 0 }, "AS_SkillEnergyCost": { "Value": 80 }, "AS_SkillRegenPerSec": { "Value": 2 }, "AS_UltimateRainCount": { "Value": 0 }, "AS_UltimateRainMaxCount": { "Value": 4 } }, "AbilityStacking": "Unique", "DefaultModifier": { "Duration": -1, "OnAdded": [ { "$type": "SetAbilitySpecialByExpression", "DoRefresh": true, "Expression": "-specials(AS_SkillEnergyCost)", "ParamName": "AS_SkillCostNeg", "Target": "Self", "ValueType": "Float" }, { "$type": "ModifyProperty", "Amount": "%AS_SkillEnergyCost", "CustomPropertyType": "Pinball_SkillEnergyCost", "PropertyModifyFunction": "Replace", "PropertyType": "Custom", "Target": "LocalAvatar" }, { "$type": "ModifyProperty", "Amount": "%AS_SkillEnergyCost", "CustomPropertyType": "Pinball_MaxSkillEnergyCost", "PropertyModifyFunction": "Replace", "PropertyType": "Custom", "Target": "LocalAvatar" }, { "$type": "ModifyProperty", "Amount": "%AS_SkillRegenPerSec", "CustomPropertyType": "Pinball_SkillEnergyRegenPerSec", "PropertyModifyFunction": "Replace", "PropertyType": "Custom", "Target": "LocalAvatar" }, { "$type": "ModifyProperty", "Amount": "%AS_SkillRegenPerSec", "CustomPropertyType": "Pinball_MaxSkillEnergyRegenPerSec", "PropertyModifyFunction": "Replace", "PropertyType": "Custom", "Target": "LocalAvatar" } ], "OnThinkInterval": [ { "$type": "ModifyProperty", "Amount": "%AS_SkillRegenPerSec", "CustomPropertyType": "Pinball_SkillEnergy", "PropertyModifyFunction": "Add", "PropertyType": "Custom", "Target": "LocalAvatar" } ], "ThinkInterval": 0.1 }, "Modifiers": { "BillySP_Pinball_PassiveRain_DamageDelay_Modifier": { "Duration": 0.15, "ModifierStacking": "Unique", "OnRemoved": [ { "$type": "PushOverrideSpecialEffectIgnoreTimeScaleAction", "EffectNames": [ "Eff_Pinball_Activity_13_Lightning" ], "IsIgnore": true, "Target": "Self", "TimeScaleType": "WorldTimeScale" }, { "$type": "PushOverrideSpecialEffectIgnoreTimeScaleAction", "EffectNames": [ "Eff_Pinball_Activity_13_Lightning" ], "IsIgnore": true, "Target": "Self", "TimeScaleType": "OwnerTimeScale" }, { "$type": "PushOverrideSpecialEffectIgnoreTimeScaleAction", "EffectNames": [ "Eff_Pinball_Activity_13_Lightning" ], "IsIgnore": true, "Target": "Self", "TimeScaleType": "WitchTimeScale" }, { "$type": "FireEffect", "EffectPattern": "Eff_Pinball_Activity_13_Lightning", "FireEffectPosRot": { "CoordsOption": "ReferTarget", "Offset": { "AngleOffset": { "x": 0, "y": 0, "z": 0 }, "IsUseRotationXZ": false, "IsUseRotationY": true, "PositionOffset": { "x": 0, "y": 0, "z": 0 } }, "TargetOption": { "$type": "ConfigPosRotReferTarget", "OffsetReferTarget": "Self" } }, "Target": "Self" }, { "$type": "DamageByAttackPropertyAction", "AnimEventID": "BillySP_Pinball_Ultimate_AttackProperty_01", "Attacker": "Caster", "Target": "Self" }, { "$type": "SendCustomEvent", "EventKey": "BillySP_UltimateRainDamage_Done", "Target": "Caster" } ] }, "BillySP_Pinball_UltimateRainTimer": { "Duration": -1, "ModifierStacking": "Replace", "OnAdded": [ { "$type": "SetAbilitySpecialByExpression", "DoRefresh": true, "Expression": "specials(AS_UltimateRainMaxCount)", "ParamName": "AS_UltimateRainCount", "Target": "Self", "ValueType": "Float" }, { "$type": "SetAbilitySpecialByExpression", "DoRefresh": true, "Expression": "specials(AS_UltimateRainCount)-1", "ParamName": "AS_UltimateRainCount", "Target": "Self", "ValueType": "Float" }, { "$type": "ApplyModifier", "CustomKey": "AbilityTarget_Pinball_Top1CurHpEnemy", "ModifierName": "BillySP_Pinball_PassiveRain_DamageDelay_Modifier", "Target": "Custom" } ], "OnCustomEventReceived": [ { "$type": "BranchOperator", "Conditions": [ { "$type": "ByCustomEvent", "EventKey": "BillySP_UltimateRainDamage_Done" }, { "$type": "ByAbilitySpecial", "CompareType": "Greater", "Param": 0, "ParamName": "AS_UltimateRainCount", "ParamType": "Float" }, { "$type": "ByAbilityTargetCount", "AbilityTargetKey": "AbilityTarget_Pinball_AllAliveEnemy", "CompareType": "Greater", "CompareValue": 0 } ], "FailureActions": [ { "$type": "BranchOperator", "Conditions": [ { "$type": "ByCustomEvent", "EventKey": "BillySP_UltimateRainDamage_Done" }, { "$type": "ByAbilitySpecial", "CompareType": "LessEqual", "Param": 0, "ParamName": "AS_UltimateRainCount", "ParamType": "Float" } ], "SuccessActions": [ { "$type": "RemoveModifier", "ModifierName": "BillySP_Pinball_UltimateRainTimer", "Target": "Self" } ] } ], "SuccessActions": [ { "$type": "SetAbilitySpecialByExpression", "DoRefresh": true, "Expression": "specials(AS_UltimateRainCount)-1", "ParamName": "AS_UltimateRainCount", "Target": "Self", "ValueType": "Float" }, { "$type": "ApplyModifier", "CustomKey": "AbilityTarget_Pinball_Top1CurHpEnemy", "ModifierName": "BillySP_Pinball_PassiveRain_DamageDelay_Modifier", "Target": "Custom" } ] } ], "OnThinkInterval": [ { "$type": "BranchOperator", "Conditions": [ { "$type": "ByAbilitySpecial", "CompareType": "Greater", "Param": 0, "ParamName": "AS_UltimateRainCount", "ParamType": "Float" }, { "$type": "ByAbilityTargetCount", "AbilityTargetKey": "AbilityTarget_Pinball_AllAliveEnemy", "CompareType": "Greater", "CompareValue": 0 } ], "SuccessActions": [ { "$type": "BranchOperator", "Conditions": [ { "$type": "ByHasModifier", "CustomKey": "AbilityTarget_Pinball_Top1CurHpEnemy", "ModifierNameList": [ "BillySP_Pinball_PassiveRain_DamageDelay_Modifier" ], "Target": "Custom" } ], "FailureActions": [ { "$type": "SetAbilitySpecialByExpression", "DoRefresh": true, "Expression": "specials(AS_UltimateRainCount)-1", "ParamName": "AS_UltimateRainCount", "Target": "Self", "ValueType": "Float" }, { "$type": "ApplyModifier", "CustomKey": "AbilityTarget_Pinball_Top1CurHpEnemy", "ModifierName": "BillySP_Pinball_PassiveRain_DamageDelay_Modifier", "Target": "Custom" } ] } ] } ], "ThinkInterval": 0.5 }, "Mod_UltimateCastPerformance": { "Duration": "%AS_CastDuration", "IgnoreTimeScale": true, "ModifierStacking": "Unique", "NotIgnoreList": [ ], "OnAdded": [ { "$type": "TimeSlowByConfigKeyAction", "ConfigKey": "HoldEvade_TimeSlow_02", "IsGlobal": true }, { "$type": "TimeSlowByConfigKeyAction", "ConfigKey": "Pinball_TimeSlow_Ultimate", "IsGlobal": false, "Target": "Self" }, { "$type": "PushOverrideSpecialEffectIgnoreTimeScaleAction", "EffectNames": [ "Eff_Pinball_Activity_67_Burst", "Eff_Pinball_Activity_77_Glitch" ], "IsIgnore": true, "Target": "Self", "TimeScaleType": "OwnerTimeScale" }, { "$type": "AttachEffect", "AttachEffectPosRot": { "CoordsOption": "ReferTarget", "Offset": { "AngleOffset": { "x": 0, "y": 0, "z": 0 }, "IsUseRotationXZ": false, "IsUseRotationY": false, "PositionOffset": { "x": 0, "y": 0, "z": 0 } }, "TargetOption": { "$type": "ConfigPosRotReferTarget", "OffsetReferTarget": "Self" } }, "EffectPattern": "Eff_Pinball_Activity_67_Burst", "EffectScale": { "x": 2, "y": 2, "z": 2 }, "EntityDeathHideEffect": true, "Tag": "Tailor_Ultimate_CastVFX_Fire", "Target": "Self" }, { "$type": "SendCustomEvent", "EventKey": "Activity_Pinball_SkillPerform_Started", "IsInstant": true, "Target": "Self" }, { "$type": "PushLevelPerformCameraAction", "BaseConfigKey": "ActivityPinball_SkillPerform_01", "CameraCollisionPriority": 2, "CameraModePriority": 2, "EnableInitPitch": true, "EnableOverrideFollowEntity": true, "InitPitch": 60, "Tag": "DoubleParry_Standby_01", "Target": "Self" }, { "$type": "TriggerSoundAction", "Target": "Self", "soundActionKey": "SA_Activity_Pinball_Skill_CloseUp_Enter" }, { "$type": "AttachEffect", "AttachEffectPosRot": { "CoordsOption": "ReferTarget", "Offset": { "AngleOffset": { "x": 0, "y": 0, "z": 0 }, "IsUseRotationXZ": true, "IsUseRotationY": true, "PositionOffset": { "x": 0, "y": 0, "z": 0 } }, "TargetOption": { "$type": "ConfigPosRotReferTarget", "OffsetReferTarget": "Camera" } }, "EffectPattern": "Eff_Pinball_Activity_77_Glitch", "EntityDeathHideEffect": true, "Tag": "Tailor_Ultimate_CastVFX_Glitch", "Target": "Self" } ], "OnKilled": [ { "$type": "SpecialEffectFadeAction", "EffectNames": [ "Eff_Pinball_Activity_67_Burst", "Eff_Pinball_Activity_77_Glitch" ], "OverrideFadeOutTime": 0.3, "Target": "Self" } ], "OnRemoved": [ { "$type": "InterruptTimeSlowAction", "IsGlobal": true, "OverrideFadeOutTime": 0, "TargetKey": "HoldEvade_TimeSlow_02" }, { "$type": "InterruptTimeSlowAction", "IsGlobal": false, "OverrideFadeOutTime": 0, "Target": "Self", "TargetKey": "Pinball_TimeSlow_Ultimate" }, { "$type": "PopOverrideSpecialEffectIgnoreTimeScaleAction", "EffectNames": [ "Eff_Pinball_Activity_67_Burst", "Eff_Pinball_Activity_77_Glitch" ], "Target": "Self", "TimeScaleType": "OwnerTimeScale" }, { "$type": "SpecialEffectFadeAction", "EffectNames": [ "Eff_Pinball_Activity_67_Burst", "Eff_Pinball_Activity_77_Glitch" ], "OverrideFadeOutTime": 0.3, "Target": "Self" }, { "$type": "PopLevelPerformCameraAction", "Tag": "DoubleParry_Standby_01" }, { "$type": "SendCustomEvent", "EventKey": "Activity_Pinball_SkillPerform_Ended", "IsInstant": true, "Target": "Self" }, { "$type": "TriggerSoundAction", "Target": "Self", "soundActionKey": "SA_Activity_Pinball_Skill_CloseUp_Exit" }, { "$type": "ApplyModifier", "ModifierName": "BillySP_Pinball_UltimateRainTimer", "Target": "Self" } ] } }, "OnAbilityTrigger": [ { "$type": "BranchOperator", "Conditions": [ { "$type": "ByPlayerPropertyValue", "CompareType": "GreaterEqual", "CustomDenominator": "Pinball_SkillEnergyCost", "CustomNumerator": "Pinball_SkillEnergy", "Denominator": "Custom", "IsUsePercent": true, "Numerator": "Custom", "Target": "LocalAvatar", "Val1": 1 } ], "SuccessActions": [ { "$type": "SetAbilitySpecialsByPropertyAction", "Amount": 0, "CustomPropertyType": "Pinball_SkillEnergyCost", "ModifyFunction": "Replace", "ParamName": "AS_SkillCostNeg", "Percentage": -1, "PropertyType": "Custom", "Target": "LocalAvatar" }, { "$type": "ModifyProperty", "Amount": "%AS_SkillCostNeg", "CustomPropertyType": "Pinball_SkillEnergy", "PropertyModifyFunction": "Add", "PropertyType": "Custom", "Target": "LocalAvatar" }, { "$type": "ApplyModifier", "ModifierName": "Mod_UltimateCastPerformance", "Target": "Self" } ] } ] }