-
Notifications
You must be signed in to change notification settings - Fork 32
/
Copy pathgeneratecsv.js
64 lines (56 loc) · 1.77 KB
/
generatecsv.js
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
const monpopulationest = require('./json/monpopulationest.json');
const superuniques = require('./json/superuniques.json');
const monstats = require('./json/monstats.json');
const levels = require('./json/levels.json');
const localestrings = require('./json/localestrings-eng.json');
const fs = require('fs');
let diffs = ['', '(N)', '(H)'];
for (let diff in diffs) {
let rows = [
[
'Name',
'Difficulty',
'Is Super?',
'Is Boss?',
'Area Level',
'Base Monster Level',
'Actual Monster Level',
'Area',
'Area ID',
],
];
let diffstr = diffs[diff];
function addRow(level, mlvls, mon, sup) {
rows[rows.length] = [
localestrings[sup ? sup.Name : mon.NameStr],
['normal', 'nightmare', 'hell'][diff],
sup ? 'yes' : 'no',
mon.boss ? 'yes' : 'no',
level['MonLvlEx' + diffstr],
mon['Level' + diffstr],
mlvls[diff],
localestrings[level.LevelName],
level.Id,
];
}
for (let levelId in monpopulationest) {
let pop = monpopulationest[levelId];
let level = levels[levelId];
for (let superid in pop['superunique']) {
addRow(level, [
pop['superunique'][superid]['mlvl'],
pop['superunique'][superid]['mlvl(N)'],
pop['superunique'][superid]['mlvl(H)'],
], monstats[superuniques[superid].Class], superuniques[superid]);
}
for (let monid in pop['boss']) {
addRow(level, [
pop['boss'][monid]['mlvl'],
pop['boss'][monid]['mlvl(N)'],
pop['boss'][monid]['mlvl(H)'],
], monstats[monid]);
}
}
let data = rows.map(row => row.map(col => JSON.stringify(col)).join(',')).join('\n');
fs.writeFileSync(['superboss_normal.csv', 'superboss_nightmare.csv', 'superboss_hell.csv'][diff], data);
}