Skip to content

Instantly share code, notes, and snippets.

@Tryliom
Created February 18, 2026 12:09
Show Gist options
  • Select an option

  • Save Tryliom/68fd1583c22f6749540e9371912a59fe to your computer and use it in GitHub Desktop.

Select an option

Save Tryliom/68fd1583c22f6749540e9371912a59fe to your computer and use it in GitHub Desktop.
aX = {
722: [68, 55, 55, 50, 50, 42],
723: [78, 75, 75, 70, 70, 52],
724: [78, 107, 75, 100, 100, 70],
725: [45, 65, 40, 60, 40, 70],
726: [65, 85, 50, 80, 50, 90],
727: [95, 115, 90, 80, 90, 60],
728: [50, 54, 54, 66, 56, 40],
729: [60, 69, 69, 91, 81, 50],
730: [80, 74, 74, 126, 116, 60],
738: [77, 70, 90, 145, 75, 43],
745: [75, 115, 65, 55, 65, 112],
748: [50, 63, 152, 53, 142, 35],
763: [72, 120, 98, 50, 98, 72],
768: [75, 125, 140, 60, 90, 40],
773: [95, 95, 95, 95, 95, 95],
778: [55, 90, 80, 50, 105, 96],
784: [75, 110, 125, 100, 105, 85],
785: [70, 115, 85, 95, 75, 130],
786: [70, 85, 75, 130, 115, 95],
787: [70, 130, 115, 85, 95, 75],
788: [70, 75, 115, 95, 130, 85],
791: [137, 137, 107, 113, 89, 97],
792: [137, 113, 89, 137, 107, 97],
793: [109, 53, 47, 127, 131, 103],
794: [107, 139, 139, 53, 53, 79],
795: [71, 137, 37, 137, 37, 151],
796: [83, 89, 71, 173, 71, 83],
797: [97, 101, 103, 107, 101, 61],
798: [59, 181, 131, 59, 31, 109],
799: [223, 101, 53, 97, 53, 43],
800: [97, 107, 101, 127, 89, 79],
801: [80, 95, 115, 130, 115, 65],
802: [90, 125, 80, 90, 90, 125],
804: [73, 73, 73, 127, 73, 121],
806: [53, 127, 53, 151, 79, 107],
807: [88, 112, 75, 102, 80, 143]
}
, nX = {
810: [50, 65, 50, 40, 40, 65],
811: [70, 85, 70, 55, 55, 80],
812: [100, 125, 90, 60, 70, 85],
813: [50, 71, 40, 40, 40, 69],
814: [65, 86, 60, 55, 55, 94],
815: [80, 116, 75, 65, 75, 119],
816: [50, 40, 40, 70, 40, 70],
817: [65, 60, 55, 95, 55, 90],
818: [70, 85, 65, 125, 65, 120],
823: [98, 87, 105, 53, 85, 67],
842: [110, 85, 80, 100, 80, 30],
849: [75, 98, 70, 114, 70, 75],
861: [95, 120, 65, 60, 75, 60],
862: [93, 90, 101, 60, 81, 95],
873: [70, 65, 60, 125, 90, 65],
887: [88, 120, 75, 100, 75, 142],
888: [92, 130, 115, 80, 115, 138],
889: [92, 130, 115, 80, 115, 138],
890: [140, 85, 95, 145, 95, 130],
892: [100, 130, 100, 63, 60, 97],
894: [80, 100, 50, 100, 50, 200],
895: [200, 100, 50, 100, 50, 80],
897: [100, 65, 60, 145, 80, 130],
898: [100, 80, 80, 80, 80, 80],
900: [70, 135, 95, 45, 70, 85],
901: [130, 140, 105, 45, 80, 50],
905: [74, 115, 70, 135, 80, 46]
}
, sX = {
906: [40, 61, 54, 45, 45, 65],
907: [61, 80, 63, 60, 63, 81],
908: [76, 110, 70, 81, 70, 123],
909: [67, 45, 59, 63, 40, 36],
910: [81, 55, 78, 91, 58, 49],
911: [104, 75, 100, 110, 75, 66],
912: [55, 65, 45, 35, 45, 50],
913: [70, 85, 65, 50, 60, 65],
914: [85, 120, 80, 35, 75, 85],
923: [70, 115, 70, 60, 60, 105],
934: [100, 100, 130, 45, 100, 35],
936: [85, 60, 100, 125, 80, 75],
937: [75, 125, 80, 60, 100, 85],
939: [109, 64, 91, 103, 83, 45],
959: [85, 75, 77, 60, 105, 94],
979: [110, 115, 80, 50, 90, 90],
983: [100, 135, 120, 60, 85, 50],
984: [115, 131, 131, 53, 53, 87],
987: [55, 55, 55, 135, 135, 135],
991: [56, 80, 114, 124, 60, 136],
992: [154, 140, 108, 50, 68, 50],
998: [115, 145, 92, 75, 86, 87],
1e3: [87, 133, 95, 133, 91, 84],
1002: [80, 120, 80, 90, 65, 135],
1007: [100, 135, 115, 85, 100, 135],
1008: [100, 85, 100, 135, 115, 135],
1024: [95, 105, 110, 130, 110, 85],
1025: [88, 88, 160, 88, 88, 88]
}
, rX = {
1: [45, 49, 49, 65, 65, 45],
2: [60, 62, 63, 80, 80, 60],
3: [80, 82, 83, 100, 100, 80],
4: [39, 52, 43, 60, 50, 65],
5: [58, 64, 58, 80, 65, 80],
6: [78, 84, 78, 109, 85, 100],
7: [44, 48, 65, 50, 64, 43],
8: [59, 63, 80, 65, 80, 58],
9: [79, 83, 100, 85, 105, 78],
10: [45, 30, 35, 20, 20, 45],
11: [50, 20, 55, 25, 25, 30],
12: [60, 45, 50, 90, 80, 70],
13: [40, 35, 30, 20, 20, 50],
14: [45, 25, 50, 25, 25, 35],
15: [65, 90, 40, 45, 80, 75],
25: [35, 55, 40, 50, 50, 90],
26: [60, 90, 55, 90, 80, 110],
63: [25, 20, 15, 105, 55, 90],
64: [40, 35, 30, 120, 70, 105],
65: [55, 50, 45, 135, 95, 120],
92: [30, 35, 30, 100, 35, 80],
93: [45, 50, 45, 115, 55, 95],
94: [60, 65, 60, 130, 75, 110],
130: [95, 125, 79, 60, 100, 81],
131: [130, 85, 80, 85, 95, 60],
143: [160, 110, 65, 65, 110, 30],
144: [90, 85, 100, 95, 125, 85],
145: [90, 90, 85, 125, 90, 100],
146: [90, 100, 90, 125, 85, 90],
149: [91, 134, 95, 100, 100, 80],
150: [106, 110, 90, 154, 90, 130],
151: [100, 100, 100, 100, 100, 100],
243: [90, 85, 75, 115, 100, 115],
244: [115, 115, 85, 90, 75, 100],
245: [100, 75, 115, 90, 115, 85],
248: [100, 134, 110, 95, 100, 61],
249: [106, 90, 130, 90, 154, 110],
250: [106, 130, 90, 110, 154, 90],
251: [100, 100, 100, 100, 100, 100]
}
, kc = {
...rX,
...aX,
...nX,
...sX
}
getStats = (e, t) => {
if (kc[e]) return kc[e];
const a = [144, 145, 146, 150, 151, 243, 244, 245, 249, 250, 251, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 716, 717, 718, 719, 720, 721, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 888, 890, 891, 892, 894, 895, 896, 897, 898, 905, 996, 997, 998, 999, 1e3, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025].includes(e);
let n = 300;
t === 1 && (n = 420),
t === 2 && (n = 530),
a && (n = 580),
[150, 249, 250, 382, 383, 384, 483, 484, 487, 643, 644, 716, 717, 791, 792, 800, 888, 889, 1007, 1008].includes(e) && (n = 680);
const r = e * 17 % 100
, o = e * 31 % 100
, c = e * 47 % 100
, u = e * 13 % 100
, d = e * 23 % 100
, h = 20 + r % 20
, m = 20 + o % 20
, p = 20 + c % 20
, g = 20 + u % 20
, f = 20 + d % 20;
let b = Math.max(10, 150 - (h + m + p + g + f));
const w = h + m + p + g + f + b
, _ = n / w;
return [Math.floor(h * _), Math.floor(m * _), Math.floor(p * _), Math.floor(g * _), Math.floor(f * _), Math.floor(b * _)]
}
function getTopStats(min, max, results = 10) {
const allResults = [];
for (let i = min; i < max; i++) {
const stats = getStats(i, 2);
const score = Math.max(stats[1], stats[3]) + stats[5];
allResults.push({
dex: i,
stats: stats,
score: score
});
}
return allResults
.sort((a, b) => a.dex - b.dex)
.slice(0, results)
.map(result => `${result.dex}: ${result.stats}`);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment