diff --git a/src/NetscriptFunctions.js b/src/NetscriptFunctions.js
index 0f291769d..cad5fe393 100644
--- a/src/NetscriptFunctions.js
+++ b/src/NetscriptFunctions.js
@@ -243,15 +243,27 @@ function NetscriptFunctions(workerScript) {
if (workerScript.dynamicRamUsage > 1.01 * workerScript.ramUsage) {
throw makeRuntimeRejectMsg(
workerScript,
- "Dynamic RAM usage calculated to be greater than initial RAM usage on fn: " +
- fnName +
- ". This is probably because you somehow circumvented the static RAM " +
- "calculation.
Please don't do that :(
" +
- "Dynamic RAM Usage: " +
- numeralWrapper.formatRAM(workerScript.dynamicRamUsage) +
- "
" +
- "Static RAM Usage: " +
- numeralWrapper.formatRAM(workerScript.ramUsage),
+ `Dynamic RAM usage calculated to be greater than initial RAM usage on fn: ${fnName}.
+ This is probably because you somehow circumvented the static RAM calculation.
+
+ Dynamic RAM Usage: ${numeralWrapper.formatRAM(
+ workerScript.dynamicRamUsage,
+ )}
+ Static RAM Usage: ${numeralWrapper.formatRAM(workerScript.ramUsage)}
+
+ One of these could be the reason:
+ * Using eval() to get a reference to a ns function
+ const scan = eval('ns.scan');
+
+ * Using map access to do the same
+ const scan = ns['scan'];
+
+ * Saving script in the improper order.
+ Increase the cost of an imported script, save it, then run the
+ parent. To fix this just re-open & save every script in order
+ from most imported to least imported (parent script).
+
+ Sorry :(`,
);
}
};
diff --git a/src/ThirdParty/raphael.min.js b/src/ThirdParty/raphael.min.js
index 24da42aa5..eb77af8c4 100644
--- a/src/ThirdParty/raphael.min.js
+++ b/src/ThirdParty/raphael.min.js
@@ -2512,16 +2512,14 @@
a = this.matrix ? Q(a, this.matrix) : a;
for (var s = 1; s < r + 1; s++)
n.push(
- i
- .path(a)
- .attr({
- stroke: e.color,
- fill: e.fill ? e.color : "none",
- "stroke-linejoin": "round",
- "stroke-linecap": "round",
- "stroke-width": +((e.width / r) * s).toFixed(3),
- opacity: +(e.opacity / r).toFixed(3),
- }),
+ i.path(a).attr({
+ stroke: e.color,
+ fill: e.fill ? e.color : "none",
+ "stroke-linejoin": "round",
+ "stroke-linecap": "round",
+ "stroke-width": +((e.width / r) * s).toFixed(3),
+ opacity: +(e.opacity / r).toFixed(3),
+ }),
);
return n.insertBefore(this).translate(e.offsetx, e.offsety);
});