-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathconstants.js
124 lines (111 loc) · 9.67 KB
/
constants.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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
const piecePlacements = [
[[0,0],[0,1],[0,2],[0,3]], //I
[[0,1],[0,2],[1,1],[1,2]], //O
[[0,1],[0,2],[0,3],[1,2]], //T
[[0,2],[0,3],[1,1],[1,2]], //S
[[0,1],[0,2],[1,2],[1,3]], //Z
[[0,1],[0,2],[0,3],[1,3]], //J
[[0,1],[0,2],[0,3],[1,1]] //L
];
const classicStyleDropIntervals = [20, 17, 14, 11, 8, 6, 4, 3, 2, 1.5];
const classicStyleGradeConditions = [0, 2000, 6000, 12500, 24000, 40000, 68000, 90000, 140000, Infinity];
const classicStyleDAS = [6, 6, 6, 5, 5, 5, 4, 4, 4, 3];
const classicStyleDASInitial = [16, 16, 16, 13, 13, 13, 10, 10, 10, 8];
//const masterStyleIntervals = [64, 42.667, 32, 25.6, 21.333, 16, 8, 5.333, 4, 3.2, 2.667, 2.286, 2, 1.778, 64, 8, 4, 2.667, 2, 1.6, 1.333, 1.143, 1, 0.5, 0.333, 0.25, 0.2, 0.25, 0.333, 0.05];
//const masterStyleIntervalLevels = [0, 30, 35, 40, 50, 60, 70, 80, 90, 100, 120, 140, 160, 170, 200, 220, 230, 233, 236, 239, 243, 247, 251, 300, 330, 360, 400, 420, 450, 500, Infinity];
const masterStyleIntervals = [21.333, 16, 10.666, 8, 5.333, 4, 3.2, 2.667, 2.286, 2, 1.6, 1.333, 1.143, 1, 0.667, 0.5, 0.333, 0.25, 0.2, 0.25, 0.333, 0.05];
const masterStyleIntervalLevels = [0, 20, 40, 60, 80, 100, 125, 150, 175, 200, 220, 240, 260, 280, 300, 325, 350, 375, 400, 420, 450, 500, Infinity];
const masterStyleGradeConditions = [0, 1200, 3500, 5800, 8600, 12000, 28000, 45000, 66000, 82000, 120000, 150000, 180000, Infinity];
const dragonStyleDropIntervals = [3, 2, 1, 0.5, 0.333, 0.05, 0.05, 0.05, 0.05, 0.05];
const dragonStyleDASInitial = [12, 12, 11, 10, 8, 8, 8, 8, 8, 8];
const dragonStyleARE = [18, 14, 14, 8, 7, 6, 6, 6, 6, 6];
const dragonStyleARELineClear = [26, 14, 14, 14, 12, 10, 10, 10, 10, 10];
const dragonStyleLockDelay = [30, 26, 22, 18, 15, 15, 15, 15, 15, 15];
const dragonStyleLineClear = [12, 6, 6, 6, 5, 4, 4, 4, 4, 4]
const gameboyDropIntervals = [53, 49, 45, 41, 37, 33, 28, 22, 17, 11, 10, 9, 8, 7, 6, 6, 5, 5, 4, 4, 3];
const gameboyPieceOrientations = [ //The 9 digits are the 9 tiles of the piece (3 rows 3 columns), 0 is empty, 1 is filled
["000111010", "010110010", "010111000", "010011010"], //T
["000011110", "100110010", "000011110", "100110010"], //S
["000110011", "010110100", "000110011", "010110100"], //Z
["000111001", "010010110", "100111000", "011010010"], //J
["000111100", "110010010", "001111000", "010010011"] //L
];
const nesDropIntervals = [48, 43, 38, 33, 28, 23, 18, 13, 8, 6, 5, 5, 5, 4, 4, 4, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1];
const nesLevelLinesLeft = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 100, 100, 100, 100, 100, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 200, 200, 200, 200];
const nesPieceTiles = [0, 0, 0, 2, 1, 2, 1];
const nesPieceOrientations = [ //The 9 digits are the 9 tiles of the piece (3 rows 3 columns), 0 is empty, 1 is filled
["000111010", "010110010", "010111000", "010011010"], //T
["000011110", "010011001", "000011110", "010011001"], //S
["000110011", "001011010", "000110011", "001011010"], //Z
["000111001", "010010110", "100111000", "011010010"], //J
["000111100", "110010010", "001111000", "010010011"] //L
];
const dxDropIntervals = [52, 48, 44, 40, 36, 32, 27, 21, 16, 10, 9, 8, 7, 6, 5, 5, 4, 4, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2];
//Currently unused
const dxPieceOrientations = [ //The 9 digits are the 9 tiles of the piece (3 rows 3 columns), 0 is empty, 1 is filled
["000111010", "010110010", "010111000", "010011010"], //T
["011110000", "010011001", "000011110", "100110010"], //S
["110011000", "001011010", "000110011", "010110100"], //Z
["000111001", "010010110", "100111000", "011010010"], //J
["000111100", "110010010", "001111000", "010010011"] //L
];
const dxAlternateCenters = [
[[2,1],[1,0],[0,1],[1,2]], //T
[[0,1],[1,2],[2,1],[1,0]], //S
[[0,1],[1,2],[2,1],[1,0]], //Z
[[2,1],[1,0],[0,1],[1,2]], //J
[[2,1],[1,0],[0,1],[1,2]], //L
];
const dxBackgroundColours = ["#ffd300", "#ff25ff", "#00cae2", "#00d200", "#c2c2c2", "#000000", "#0000ff"];
const segaEasyDropIntervals = [48, 32, 24, 18, 14, 12, 10, 8, 6, 4, 12, 10, 8, 6, 4, 2];
const segaNormalDropIntervals = [48, 24, 18, 15, 12, 10, 8, 6, 4, 2, 10, 8, 6, 4, 2, 1];
const segaHardDropIntervals = [40, 20, 16, 12, 10, 8, 6, 4, 2, 1, 10, 8, 6, 4, 2, 1];
const segaHardestDropIntervals = [30, 15, 12, 10, 8, 6, 4, 2, 1, 1, 8, 6, 4, 2, 1, 1];
const segaBackgroundLevels = [0, 0, 1, 1, 2, 2, 3, 3, 4, 5, 6, 7, 7, 8, 8, 9];
const segaPieceOrientations = [ //The 9 digits are the 9 tiles of the piece (3 rows 3 columns), 0 is empty, 1 is filled
["000111010", "010110010", "000010111", "010011010"], //T
["000011110", "100110010", "000011110", "100110010"], //S
["000110011", "001011010", "000110011", "010110100"], //Z
["000111001", "010010110", "000100111", "011010010"], //J
["000111100", "110010010", "000001111", "010010011"] //L
];
const segaLineScores = [
[100, 100, 200, 200, 300, 300, 400, 400, 500],
[400, 400, 800, 800, 1200, 1200, 1600, 1600, 2000],
[900, 900, 1800, 1800, 2700, 2700, 3600, 3600, 4500],
[2000, 2000, 4000, 4000, 6000, 6000, 8000, 8000, 10000]
];
const segaSoftdropScores = [1, 1, 2, 2, 3, 3, 4, 4, 5];
const tgmIntervals = [64, 42.667, 32, 25.6, 21.333, 16, 8, 5.333, 4, 3.2, 2.667, 2.286, 2, 1.778, 64, 8, 4, 2.667, 2, 1.6, 1.333, 1.143, 1, 0.5, 0.333, 0.25, 0.2, 0.25, 0.333, 0.05];
const tgmIntervalLevels = [0, 30, 35, 40, 50, 60, 70, 80, 90, 100, 120, 140, 160, 170, 200, 220, 230, 233, 236, 239, 243, 247, 251, 300, 330, 360, 400, 420, 450, 500, Infinity];
const tgmGradeConditions = [0, 400, 800, 1400, 2000, 3500, 5500, 8000, 12000, 16000, 22000, 30000, 40000, 52000, 66000, 82000, 100000, 120000, Infinity];
const tgmPieceOrientations = [ //The 9 digits are the 9 tiles of the piece (3 rows 3 columns), 0 is empty, 1 is filled
["000111010", "010110010", "000010111", "010011010"], //T
["000011110", "100110010", "000011110", "100110010"], //S
["000110011", "001011010", "000110011", "001011010"], //Z
["000111001", "010010110", "000100111", "011010010"], //J
["000111100", "110010010", "000001111", "010010011"] //L
];
//Yeah this is a terrible way to do this
let onTheBeatBeats = [0,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86]; //Secton 1
onTheBeatBeats = onTheBeatBeats.concat([88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,118,120,122,124,125,126,128,130,132,133,134,136,138,140,141,142,144,146,148,149,150]) //Section 2
onTheBeatBeats = onTheBeatBeats.concat([152.5,154,156.5,158,160.5,162,164.5,166,167,168.5,170,172.5,174,176.5,178,180.5,182,183,184.5,186,188.5,190,192.5,194,196.5,198,199,200.5,202,204.5,206,208.5,210,212.5,214,215]); //Section 3
onTheBeatBeats = onTheBeatBeats.concat([216, 216.75, 217.5, 219, 220.5, 224, 224.75, 225.5, 227, 228.5]); //Section 4
onTheBeatBeats = onTheBeatBeats.concat([232,234,236,238,240,242,244,246,248,250,252,254,256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,312,314,316,318,320,322,324,326]); //Section 5
onTheBeatBeats = onTheBeatBeats.concat([328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359]) //Section 6
onTheBeatBeats = onTheBeatBeats.concat([360,362,364,366,368,370,372,374,376,377,378,380,382,384,386,388,390,392,394,396,398,400,402,404,406,408,410,412,414,416,418,420,422]) //Section 7
onTheBeatBeats = onTheBeatBeats.concat([Infinity]) //End of song
//ULTRA-IMPOSSIBLE VERSION
function enableUltraImpossible() {
onTheBeatBeats = [0,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86]; //Secton 1
onTheBeatBeats = onTheBeatBeats.concat([88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151]) //Section 2
onTheBeatBeats = onTheBeatBeats.concat([152.5,153.25,154,154.75,156.5,157.25,158,158.75,160.5,161.25,162,162.75,164.5,165.25,166,167,168.5,169.25,170,170.75,172.5,173.25,174,174.75,176.5,177.25,178,178.75,180.5,181.25,182,183,184.5,185.25,186,186.75,188.5,189.25,190,190.75,192.5,193.25,194,194.75,196.5,197.25,198,199,200.5,201.25,202,202.75,204.5,205.25,206,206.75,208.5,209.25,210,210.75,212.5,213.25,214,215]); //Section 3
onTheBeatBeats = onTheBeatBeats.concat([216,216.75,217.5,219,219.5,220.5,224,224.75,225.5,227,227.5,228.5]); //Section 4
onTheBeatBeats = onTheBeatBeats.concat([232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,260,262,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327]); //Section 5
onTheBeatBeats = onTheBeatBeats.concat([328,328.75,329.5,330,330.75,331.5,332,332.75,333.5,334,334.75,335.5,336,336.75,337.5,338,338.75,339.5,340,340.75,341.5,342,342.75,343.5,344,344.75,345.5,346,346.75,347.5,348,348.75,349.5,350,350.75,351.5,352,352.75,353.5,354,354.75,355.5,356,356.75,357.5,358,358.75,359.5]) //Section 6
onTheBeatBeats = onTheBeatBeats.concat([360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423]) //Section 7
onTheBeatBeats = onTheBeatBeats.concat([Infinity]) //End of song
}
const onTheBeatGradePoints = [88,152,232,328,424];
const beatDASSpeeds = [10, 8, 7, 6]
const beatARESpeeds = [12, 10, 8, 6]