summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rules.js8
1 files changed, 7 insertions, 1 deletions
diff --git a/rules.js b/rules.js
index a331a05..39df702 100644
--- a/rules.js
+++ b/rules.js
@@ -266,7 +266,9 @@ const states = {};
let game = null;
function random(n) {
- return Math.floor(((game.seed = game.seed * 48271 % 0x7fffffff) / 0x7fffffff) * n);
+ if (game.rng === 1)
+ return Math.floor(((game.seed = game.seed * 48271 % 0x7fffffff) / 0x7fffffff) * n);
+ return (game.seed = game.seed * 200105 % 34359738337) % n
}
function log(...args) {
@@ -2878,6 +2880,10 @@ exports.setup = function (seed, scenario, options) {
undo: [],
};
+ // Old RNG for ancient replays
+ if (options.rng)
+ game.rng = options.rng
+
if (scenario === "Fortress Tripoli")
game.fortress = 1;