@gaia-project/engine
Advanced tools
Comparing version 4.8.21 to 4.8.22
{ | ||
"name": "@gaia-project/engine", | ||
"version": "4.8.21", | ||
"version": "4.8.22", | ||
"description": "Javascript engine for project gaia", | ||
@@ -5,0 +5,0 @@ "main": "dist/index.js", |
@@ -13,16 +13,9 @@ "use strict"; | ||
const player_1 = require("./src/player"); | ||
async function init(nbPlayers, expansions, options, seed) { | ||
async function init(nbPlayers, expansions, options, seed, creator) { | ||
if (!seed) { | ||
seed = crypto_1.default.randomBytes(8).toString("base64"); | ||
} | ||
let numberSeed; | ||
// If the seed is a number, use it directly, otherwise use a number generated from its hash | ||
if ("" + parseInt(seed, 10) === seed) { | ||
numberSeed = parseInt(seed, 10); | ||
if (creator && creator >= 0) { | ||
options.creator = creator; | ||
} | ||
else { | ||
const md5sum = crypto_1.default.createHash("md5"); | ||
md5sum.update(seed); | ||
numberSeed = "" + parseInt(seed, 10) === seed ? parseInt(seed, 10) : parseInt(md5sum.digest("hex").slice(-10), 16); | ||
} | ||
const engine = new engine_1.default([`init ${nbPlayers} ${seed}`], options); | ||
@@ -29,0 +22,0 @@ engine.generateAvailableCommandsIfNeeded(); |
{ | ||
"name": "@gaia-project/engine", | ||
"version": "4.8.21", | ||
"version": "4.8.22", | ||
"description": "Javascript engine for project gaia", | ||
@@ -5,0 +5,0 @@ "main": "dist/index.js", |
@@ -105,2 +105,4 @@ import assert from "assert"; | ||
randomFactions?: boolean; | ||
/** player that created the game **/ | ||
creator?: PlayerEnum; | ||
} | ||
@@ -1114,4 +1116,4 @@ | ||
// The first player (host) does board setup and rotation | ||
this.currentPlayer = this.players[0].player; | ||
// The creator does board setup and rotation | ||
this.currentPlayer = this.players[this.options.creator ?? 0].player; | ||
} else if (this.options.advancedRules) { | ||
@@ -1118,0 +1120,0 @@ // The last player is the one to rotate the sectors |
@@ -12,3 +12,4 @@ import assert from "assert"; | ||
options: EngineOptions, | ||
seed?: string | ||
seed?: string, | ||
creator?: number | ||
): Promise<Engine> { | ||
@@ -18,11 +19,4 @@ if (!seed) { | ||
} | ||
let numberSeed: number; | ||
// If the seed is a number, use it directly, otherwise use a number generated from its hash | ||
if ("" + parseInt(seed, 10) === seed) { | ||
numberSeed = parseInt(seed, 10); | ||
} else { | ||
const md5sum = crypto.createHash("md5"); | ||
md5sum.update(seed); | ||
numberSeed = "" + parseInt(seed, 10) === seed ? parseInt(seed, 10) : parseInt(md5sum.digest("hex").slice(-10), 16); | ||
if (creator && creator >= 0) { | ||
options.creator = creator; | ||
} | ||
@@ -29,0 +23,0 @@ |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
1041274
21596