-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcreateStats.js
More file actions
34 lines (30 loc) · 1.14 KB
/
createStats.js
File metadata and controls
34 lines (30 loc) · 1.14 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
const fs = require("fs");
const configs = require("./config");
const keyforge = {};
const set = {};
configs.expansion
.filter(expansion => expansion.code < 1000)
.filter(expansion => expansion.name !== "")
.forEach(expansion => {
console.log("Loading cards from " + expansion.longname + "...");
const cardsFolder = "./json/" + expansion.lang + "/" + expansion.name + "/";
const cards = fs.readdirSync(cardsFolder);
console.log("Setup to processing " + cards.length + " cards...");
set[expansion.name] = {};
cards.forEach(file => {
let card = JSON.parse(fs.readFileSync(cardsFolder + file).toString());
const cardName = `${card.card_title}${
card.rarity === "Evil Twin" ? " (GM)" : ""
}`;
if (!keyforge[cardName]) keyforge[cardName] = [];
if (!set[expansion.name][cardName]) {
set[expansion.name][cardName] = [];
}
keyforge[cardName].push(card);
set[expansion.name][cardName].push(card);
});
console.log(Object.keys(set[expansion.name]).length + " different cards!");
});
console.log(
`KeyForge has ${Object.keys(keyforge).length} total different cards!`
);