NETSCRIPT: Add ramOverride() function (#1346)

This adds a way to dynamically change the static RAM limit of a script,
which is also its current RAM usage. This makes it possible for scripts
to dynamically change their memory footprint, opening up new strategies
beyond current ram-dodging.

Calling functions still permanently increases the *dynamic* memory
limit; RAM-dodging is still the optimal strategy for avoiding RAM costs,
in that sense.

This also adds dynamicRamUsage to the info returned by
`getRunningScript`, to allow introspection on the currently needed ram.
This commit is contained in:
David Walker
2024-06-28 18:42:20 -07:00
committed by GitHub
parent 1c20a24079
commit 9c9a69f2e2
9 changed files with 119 additions and 5 deletions
+1
View File
@@ -569,6 +569,7 @@ export const RamCosts: RamCostTree<NSFull> = {
getTotalScriptExpGain: RamCostConstants.GetScript,
getScriptExpGain: RamCostConstants.GetScript,
getRunningScript: RamCostConstants.GetRunningScript,
ramOverride: 0,
formatNumber: 0,
formatRam: 0,
formatPercent: 0,