From 7819067c0b154f5eebb96f7dfe8da7aef89a0e50 Mon Sep 17 00:00:00 2001 From: Arkerthan <arkerthan@gmail.com> Date: Wed, 23 Jun 2021 14:26:01 +0200 Subject: [PATCH] Better error message when RA custom conditions fail. --- src/js/rulesAssistant.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/js/rulesAssistant.js b/src/js/rulesAssistant.js index 2e19e7e90c7..a0cff070126 100644 --- a/src/js/rulesAssistant.js +++ b/src/js/rulesAssistant.js @@ -151,7 +151,12 @@ globalThis.ruleAppliesP = function(rule, slave) { break; case "custom": // user provided JS function // TODO: This should use a cached Function instead of 'eval'ing - flag = eval(cond.data)(slave); + try { + flag = eval(cond.data)(slave); + } catch (e) { + // Put together a more useful message for the player. Does mean we are losing the stacktrace. + throw new Error(`Rule '${rule.name}' custom condition failed: '${e.message}'`); + } break; } if (!flag) { -- GitLab