-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathscript.js
113 lines (111 loc) · 2.68 KB
/
script.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
(()=>{
console.log(`%cControls:
speed up (hold) = +
slow down (hold) = -
toggle godmode = g
edit config = c
execute code = f
toggle set score = v
change score = b
toggle set y = n
set y = h`,'color:#ff6e19; font-size:25px');
const keys = {
speedup:107,
slowdown:109,
godmode:71,
config:67,
execute:70,
togglescore:86,
changescore:66,
togglesetY: 78,
changeY: 72
}
if (window.originalG) {
} else {
window.originalG = Runner.instance_.gameOver;
}
const g = window.originalG,
isgodmode = () => {
return Runner.instance_.gameOver == g;
},
togglegodmode = () => {
if (isgodmode()) {
Runner.instance_.gameOver = () => {};
} else {
Runner.instance_.gameOver = g;
}
}, speed = s => {
Runner.instance_.currentSpeed += s;
},
stop = () => {
Runner.instance_.stop();
hold[0] = false;
hold[1] = false;
},
hold = [false,false],
config = {speedInc: 0.5,score:false,setY:false,y:93};
document.addEventListener('keydown', k=> {
switch (k.keyCode) {
case keys.speedup:
hold[0] = true;
break;
case keys.slowdown:
hold[1] = true;
break;
case keys.godmode:
togglegodmode();
break;
case keys.config:
stop();
const k = prompt(`Val name (${Object.keys(config)})`)
if (!k) return;
const v = prompt(`Val value (${config[k]})`);
if (!v) return;
config[k] = v;
break;
case keys.execute:
try {
stop();
eval(prompt('Execute:'));
} catch (err) {
alert(err);
}
break;
case keys.togglescore:
config.score = !config.score;
break;
case keys.changescore:
stop();
config.scoreAmt = prompt("Score amount:");
break;
case keys.togglesetY:
config.setY = !config.setY;
break;
case keys.changeY:
stop();
config.y = prompt("Y amount:");
break;
}
});
document.addEventListener('keyup', k=>{
switch (k.keyCode) {
case keys.speedup:
hold[0] = false;
break;
case keys.slowdown:
hold[1] = false;
break;
}
});
setInterval(()=>{
speed(hold[0] || hold[1] ? hold[0]*config.speedInc - hold[1]*config.speedInc : 0);
},100);
setInterval(()=>{
if (config.score) {
Runner.instance_.distanceRan = config.scoreAmt / Runner.instance_.distanceMeter.config.COEFFICIENT;
}
if (config.setY) {
Runner.instance_.tRex.yPos = config.y;
}
})
})()