la-cosa-nostra
Version:
A Mafia bot designed to run in Discord - beware the traitors and the lies!
54 lines (31 loc) • 1.23 kB
JavaScript
var fs = require("fs");
var expansions = require("./expansions.js");
var auxils = require("./auxils.js");
var ret = new Object();
var scripts_dir = __dirname + "/../role_win_conditions/";
var scripts = fs.readdirSync(scripts_dir).map(x => "lcn/" + x);
var rules = new Array();
// Add expansions
for (var i = 0; i < expansions.length; i++) {
scripts = scripts.concat(expansions[i].additions.role_win_conditions.map(x => expansions[i].identifier + "/" + x));
rules = rules.concat(expansions[i].expansion.overrides.role_win_conditions);
};
scripts = auxils.ruleFilter(scripts, rules);
for (var i = 0; i < scripts.length; i++) {
var script_info = scripts[i].split("/");
var expansion_identifier = script_info[0];
var script = script_info[1];
if (expansion_identifier === "lcn") {
var directory = scripts_dir + "/" + script;
} else {
var expansion = expansions.find(x => x.identifier === expansion_identifier);
var directory = expansion.expansion_directory + "/role_win_conditions/" + script;
};
if (!scripts[i].endsWith(".js")) {
continue;
};
var runnable = require(directory);
var key = script.substring(0, script.length - 3);
ret[key] = runnable;
};
module.exports = ret;