@blizzhackers/d2data 2.7.4 → 2.7.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/compile.js +31 -6
- package/json/monpopulationest.json +5214 -5065
- package/package.json +1 -1
package/compile.js
CHANGED
|
@@ -461,6 +461,8 @@ const moncountest = require('./json/moncountest.json');
|
|
|
461
461
|
let monpopulation = {};
|
|
462
462
|
|
|
463
463
|
[0, 1, 2].forEach((diff) => {
|
|
464
|
+
let uniqueCount = 3.5 + diff;
|
|
465
|
+
let champCount = 3;
|
|
464
466
|
let s = _s(diff);
|
|
465
467
|
full.levels.forEach((level) => {
|
|
466
468
|
let l = (key) => level[key] || 0;
|
|
@@ -478,20 +480,38 @@ let monpopulation = {};
|
|
|
478
480
|
bosses = full.monstats.filter((mon) => mon.areaId == level.Id),
|
|
479
481
|
acount = (moncountest[level.Id] && moncountest[level.Id][diff]) || 0,
|
|
480
482
|
scount = supers.reduce((total, sup) => {
|
|
483
|
+
let mon = full.monstats[sup.Class];
|
|
484
|
+
|
|
481
485
|
return (
|
|
482
486
|
total +
|
|
483
487
|
1 +
|
|
484
488
|
diff +
|
|
485
|
-
(
|
|
489
|
+
avg(
|
|
490
|
+
(sup["MinGrp"] || 0),
|
|
491
|
+
(sup["MaxGrp"] || 0)
|
|
492
|
+
) +
|
|
493
|
+
avg(
|
|
494
|
+
(mon["PartyMin"] || 0),
|
|
495
|
+
(mon["PartyMax"] || 0)
|
|
496
|
+
)
|
|
486
497
|
);
|
|
487
498
|
}, 0),
|
|
488
499
|
bcount = bosses.reduce((total, mon) => {
|
|
489
500
|
return (
|
|
490
|
-
total +
|
|
501
|
+
total +
|
|
502
|
+
1 +
|
|
503
|
+
avg(
|
|
504
|
+
(mon["MinGrp"] || 0),
|
|
505
|
+
(mon["MaxGrp"] || 0)
|
|
506
|
+
) +
|
|
507
|
+
avg(
|
|
508
|
+
(mon["PartyMin"] || 0),
|
|
509
|
+
(mon["PartyMax"] || 0)
|
|
510
|
+
)
|
|
491
511
|
);
|
|
492
512
|
}, 0),
|
|
493
|
-
ucount = avg(l(s("MonUMin")), l(s("MonUMax"))) * 0.
|
|
494
|
-
ccount = avg(l(s("MonUMin")), l(s("MonUMax"))) * 0.
|
|
513
|
+
ucount = avg(l(s("MonUMin")), l(s("MonUMax"))) * 0.2 * uniqueCount,
|
|
514
|
+
ccount = avg(l(s("MonUMin")), l(s("MonUMax"))) * 0.8 * champCount,
|
|
495
515
|
count = acount - ucount - ccount - scount - bcount;
|
|
496
516
|
|
|
497
517
|
if (count > 0) {
|
|
@@ -517,8 +537,8 @@ let monpopulation = {};
|
|
|
517
537
|
forEachMonster(level, diff, (mon, mlvl, type) => {
|
|
518
538
|
let mult = [
|
|
519
539
|
count / totalpackssize,
|
|
520
|
-
ccount /
|
|
521
|
-
ucount /
|
|
540
|
+
ccount / champCount / udiv,
|
|
541
|
+
ucount / uniqueCount / udiv,
|
|
522
542
|
][type];
|
|
523
543
|
monpopulation[level.Id][['normal', 'champion', 'unique'][type]][mon.Id] = monpopulation[level.Id][['normal', 'champion', 'unique'][type]][mon.Id] || {
|
|
524
544
|
"mlvl": 0,
|
|
@@ -544,9 +564,12 @@ let monpopulation = {};
|
|
|
544
564
|
"packCount(N)": 0,
|
|
545
565
|
"mlvl(H)": 0,
|
|
546
566
|
"packCount(H)": 0,
|
|
567
|
+
"hasStaticLevel": false,
|
|
547
568
|
};
|
|
569
|
+
|
|
548
570
|
monpopulation[level.Id]['superunique'][sup.Superunique][s('mlvl')] = mlvl;
|
|
549
571
|
monpopulation[level.Id]['superunique'][sup.Superunique][s('packCount')] = sup.hcIdx === 19 ? 1 / 7 : 1;
|
|
572
|
+
monpopulation[level.Id]['superunique'][sup.Superunique].hasStaticLevel = Boolean(mon.boss);
|
|
550
573
|
});
|
|
551
574
|
|
|
552
575
|
bosses.forEach((mon) => {
|
|
@@ -559,9 +582,11 @@ let monpopulation = {};
|
|
|
559
582
|
"packCount(N)": 0,
|
|
560
583
|
"mlvl(H)": 0,
|
|
561
584
|
"packCount(H)": 0,
|
|
585
|
+
"hasStaticLevel": false,
|
|
562
586
|
};
|
|
563
587
|
monpopulation[level.Id]['boss'][mon.Id][s('mlvl')] = mlvl;
|
|
564
588
|
monpopulation[level.Id]['boss'][mon.Id][s('packCount')] = 1;
|
|
589
|
+
monpopulation[level.Id]['boss'][mon.Id].hasStaticLevel = Boolean(mon.boss);
|
|
565
590
|
});
|
|
566
591
|
}
|
|
567
592
|
});
|