Last active
February 22, 2020 12:31
-
-
Save NeKzor/434d86b8f95ab9a83eacd43065d4ce35 to your computer and use it in GitHub Desktop.
Data dump for Klooger.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
sp: | |
00 884 | |
01 578 | |
02 1 | |
03 790 | |
04 109 | |
05 522 | |
06 801 | |
07 0 | |
08 597 | |
09 95 | |
10 704 | |
11 570 | |
12 0 | |
13 728 | |
14 61 | |
15 529 | |
16 823 | |
17 0 | |
18 612 | |
19 128 | |
20 639 | |
21 613 | |
22 0 | |
23 865 | |
24 0 | |
25 607 | |
26 741 | |
27 0 | |
28 612 | |
29 176 | |
30 662 | |
31 599 | |
32 0 | |
33 792 | |
34 64 | |
35 499 | |
36 759 | |
37 1 | |
38 563 | |
39 108 | |
40 708 | |
41 642 | |
42 2 | |
43 774 | |
44 104 | |
45 505 | |
46 815 | |
47 0 | |
48 633 | |
49 0 | |
50 870 | |
51 590 | |
52 0 | |
53 774 | |
54 103 | |
55 505 | |
56 894 | |
57 0 | |
58 630 | |
59 104 | |
60 671 | |
61 591 | |
62 0 | |
63 760 | |
64 52 | |
65 554 | |
66 819 | |
67 0 | |
68 602 | |
69 143 | |
70 648 | |
71 597 | |
72 0 | |
73 798 | |
74 1 | |
75 607 | |
76 840 | |
77 0 | |
78 657 | |
79 146 | |
80 653 | |
81 688 | |
82 0 | |
83 748 | |
84 49 | |
85 568 | |
86 782 | |
87 0 | |
88 667 | |
89 77 | |
90 677 | |
91 651 | |
92 1 | |
93 821 | |
94 91 | |
95 509 | |
96 763 | |
97 0 | |
98 619 | |
99 1 | |
mp: | |
00 420 | |
01 433 | |
02 0 | |
03 480 | |
04 81 | |
05 407 | |
06 467 | |
07 0 | |
08 439 | |
09 59 | |
10 429 | |
11 462 | |
12 0 | |
13 478 | |
14 28 | |
15 509 | |
16 422 | |
17 0 | |
18 477 | |
19 40 | |
20 441 | |
21 457 | |
22 0 | |
23 442 | |
24 10 | |
25 454 | |
26 475 | |
27 0 | |
28 454 | |
29 73 | |
30 385 | |
31 470 | |
32 0 | |
33 513 | |
34 38 | |
35 396 | |
36 482 | |
37 0 | |
38 411 | |
39 34 | |
40 444 | |
41 433 | |
42 0 | |
43 468 | |
44 45 | |
45 417 | |
46 467 | |
47 2 | |
48 461 | |
49 13 | |
50 468 | |
51 466 | |
52 0 | |
53 448 | |
54 53 | |
55 402 | |
56 444 | |
57 0 | |
58 410 | |
59 58 | |
60 440 | |
61 475 | |
62 0 | |
63 461 | |
64 14 | |
65 458 | |
66 415 | |
67 0 | |
68 448 | |
69 42 | |
70 435 | |
71 439 | |
72 0 | |
73 446 | |
74 2 | |
75 454 | |
76 439 | |
77 0 | |
78 407 | |
79 53 | |
80 426 | |
81 505 | |
82 0 | |
83 432 | |
84 54 | |
85 398 | |
86 437 | |
87 0 | |
88 440 | |
89 20 | |
90 423 | |
91 472 | |
92 0 | |
93 420 | |
94 43 | |
95 405 | |
96 498 | |
97 0 | |
98 446 | |
99 4 | |
very unlikely: | |
[id][date] player : chamber : cs (prev rank -> post rank) | |
[32432][2013-10-05 02:08:05] Betsruner : Catapults : 24 (null -> 8) | |
[16607][2014-04-11 10:08:03] saturdays are for the boys : Bridge Catch : 99 (null -> 18) | |
[46304][2014-10-05 13:39:04] オタキワク(Otakiwaku) : Cooperative Bridges : 24 (null -> 20) | |
[13443][2015-01-07 11:49:03] Adeich : Bridge Fling : 49 (3 -> 1) | |
[14808][2015-01-07 11:49:03] follon : Bridge Fling : 49 (3 -> 1) | |
[19904][2015-07-06 17:29:03] AJ : Crazier Box : 24 (5 -> 3) | |
[13665][2015-12-03 06:44:05] Holocene : Stop the Box : 74 (16 -> 16) | |
[24889][2015-12-04 22:37:04] US Cobra : Ceiling Catapult : 99 (35 -> 18) | |
[13171][2016-08-10 01:49:13] bägek : Cooperative Funnels : 49 (null -> null) | |
[29340][2016-08-10 01:49:13] .duck : Cooperative Funnels : 49 (null -> null) | |
[56425][2016-10-16 06:36:10] Skizzie : Cooperative Polarity : 49 (30 -> 30) | |
[56597][2016-10-18 12:44:08] felkelorebel : Multifling : 74 (32 -> 31) | |
[58300][2016-12-02 16:30:14] LamboLord24 : Wall Repulsion : 49 (127 -> 55) | |
[62085][2017-02-21 13:30:23] Stream Sniper 3000 : Catapult Catch : 24 (101 -> 101) | |
[66678][2017-05-01 14:14:11] Moist Potato : Vertical Flings : 47 (116 -> 114) | |
[66679][2017-05-01 14:14:11] Samuel ☮ : Vertical Flings : 47 (116 -> 114) | |
[67818][2017-05-23 18:00:19] dafatman922 : Catapults : 49 (68 -> 51) | |
[68415][2017-05-30 00:28:09] Bdiggles : Catapult Catch : 24 (59 -> 49) | |
[69187][2017-06-07 00:54:10] Bdiggles : Turret Walls : 49 (128 -> 49) | |
[72014][2017-07-09 21:16:10] Can't Even : Turret Walls : 49 (null -> 50) | |
[75169][2017-08-29 09:18:10] aspect : Escape : 92 (103 -> 96) | |
[75448][2017-09-02 14:20:14] Dacciox : Catapult Catch : 74 (107 -> 79) | |
[79266][2018-01-21 06:03:06] Led_Astray : Cooperative Bridges : 49 (65 -> 53) | |
[79268][2018-01-21 07:03:10] Difgy ツ : Cooperative Bridges : 49 (57 -> 53) | |
[79406][2018-01-25 13:55:59] Mauzega : Test : 37 (null -> 120) | |
[81012][2018-03-29 00:03:14] NukeExplosions : Ceiling Button : 42 (null -> 194) | |
[81485][2018-04-13 17:16:21] Xinera : Double Bounce : 24 (80 -> 39) | |
[82337][2018-05-15 08:03:37] Led_Astray : Turret Warehouse : 99 (64 -> 50) | |
[82336][2018-05-15 08:03:37] Difgy ツ : Turret Warehouse : 99 (64 -> 50) | |
[82932][2018-05-26 06:30:41] [SH] Lukkyz : Doors : 24 (null -> 130) | |
[82931][2018-05-26 06:30:41] Babyfurz : Doors : 24 (null -> 130) | |
[84786][2018-07-18 02:25:12] eXpo : Vault Entrance : 99 (null -> 114) | |
[86911][2018-09-24 18:03:35] Betsruner : Bridge Swap : 24 (6 -> 6) | |
[93896][2019-03-01 16:40:55] JonVis : Portal Carousel : 02 (122 -> 108) | |
[97289][2019-06-05 20:58:25] BigMitch128 : Secret Panel : 42 (null -> 42) | |
[98917][2019-07-14 09:03:21] Pincellox : Lasers : 49 (null -> 151) | |
[98916][2019-07-14 09:03:21] glenr0nimus : Lasers : 49 (null -> 151) | |
[104643][2019-11-28 00:50:27] zMg : Cooperative Bridges : 24 (null -> 64) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const simulateTimer = () => { | |
const tickrate = 59.999999; | |
const accuracy = 1 / tickrate; | |
for (let time = 0.0; time <= 0.20; time += accuracy) { | |
process.stdout.write(Math.floor((time - Math.floor(time)) * 100.0) + ', '); | |
} | |
}; | |
if (process.argv[2]) { | |
return simulateTimer(); | |
} | |
const isSinglePlayer = (id) => { | |
return [ | |
'47741', | |
'47825', | |
'47828', | |
'47829', | |
'45467', | |
'46362', | |
'47831', | |
'47833', | |
'47835', | |
'47837', | |
'47840', | |
'47841', | |
'47844', | |
'47845', | |
'47848', | |
'47849', | |
'47854', | |
'47856', | |
'47858', | |
'47861', | |
'52642', | |
'52660', | |
'52662', | |
'52663', | |
'52665', | |
'52667', | |
'52671', | |
'52687', | |
'52689', | |
'52691', | |
'52777', | |
'52694', | |
'52711', | |
'52714', | |
'52715', | |
'52717', | |
'52735', | |
'52738', | |
'52740', | |
'49341', | |
'49343', | |
'49345', | |
'49347', | |
'49349', | |
'49351', | |
'52757', | |
'52759', | |
'48287', | |
].find(x => x === id) === undefined; | |
}; | |
const entries = JSON.parse(require('fs').readFileSync('cache.json', 'utf-8')).data; | |
const sp = []; | |
const mp = []; | |
for (let entry of entries) { | |
if (entry.banned === '1') continue; | |
if (entry.time_gained === null) continue; | |
const item = { | |
ms: entry.score % 100, | |
id: entry.id, | |
}; | |
if (isSinglePlayer(entry.mapid)) { | |
sp.push(item); | |
} else { | |
mp.push(item); | |
} | |
} | |
const spFrequency = sp | |
.map((x) => x.ms) | |
.reduce((count, item) => { | |
count[item] = (count[item] || 0) + 1; | |
return count; | |
}, {}); | |
const mpFrequency = mp | |
.map((x) => x.ms) | |
.reduce((count, item) => { | |
count[item] = (count[item] || 0) + 1; | |
return count; | |
}, {}); | |
const print = ({ player_name, id, score, pre_rank, post_rank, time_gained, chamberName }) => { | |
console.log(`[${id}][${time_gained}] ${player_name} : ${chamberName} : ${(score % 100).toString().padStart(2, '0')} (${pre_rank} -> ${post_rank})`); | |
}; | |
const sus = 10; | |
let veryUnlikely = []; | |
console.log('sp:'); | |
for (let i = 0; i < 100; ++i) { | |
console.log(i.toString().padStart(2, '0') + '\t' + (spFrequency[i] || 0)); | |
if (spFrequency[i] < sus || spFrequency[i] === undefined) { | |
sp.filter(x => x.ms === i).forEach(x => veryUnlikely.push(entries.find(y => y.id === x.id))); | |
} | |
} | |
console.log('\nmp:'); | |
for (let i = 0; i < 100; ++i) { | |
console.log(i.toString().padStart(2, '0') + '\t' + (mpFrequency[i] || 0)); | |
if (mpFrequency[i] < sus || spFrequency[i] === undefined) { | |
mp.filter(x => x.ms === i).forEach(x => veryUnlikely.push(entries.find(y => y.id === x.id))); | |
} | |
} | |
console.log('\nvery unlikely:\n[id][date] player : chamber : cs (prev rank -> post rank)'); | |
veryUnlikely.sort((a, b) => a.time_gained.localeCompare(b.time_gained)).forEach(x => print(x)); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment