aboutsummaryrefslogtreecommitdiff
path: root/race/cars/keymap.js
blob: d1fdf24d5b3bc5e7071beba2f3bcaee792c2eb3b (plain)
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
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
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
startHooks.push(() => {
    $(document).keydown(function(e) {
        if (online && role === null) {
            if (e.keyCode === 27 || e.keyCode === 8) { // esc
                require('electron').ipcRenderer.send('prefademusic', "");
                $("body").fadeOut(200);
                setTimeout(() => {
                    location.href = "menu.html?back";
                }, 250)
            }
        }
        if (keysEnabled) {
            if (!paused) {
                if (e.keyCode === 115) { // F4
                    if (hitshow) {
                        hitshow = false;
                        document.getElementById("circuit").classList.remove("hitboxes");
                        document.getElementById('hitboxes').innerText = lang.game.gpause.showhb;
                        info("GameWindow", "Hitboxes hidden");
                    } else {
                        hitshow = true;
                        document.getElementById("circuit").classList.add("hitboxes");
                        document.getElementById('hitboxes').innerText = lang.game.gpause.hidehb;
                        info("GameWindow", "Hitboxes shown");
                    }
                }

                // Car 0
                if (car0collisionon) {
                    if (e.keyCode === 90 || e.keyCode === 87 || ((location.search === "?sp" || location.search === "?online") && e.keyCode === 38)) { // Z
                        if (car0cspeed < car0speed) {
                            car0cspeed = car0cspeed + 0.2;
                        }
                        if (document.getElementById("car0").style.transform !== "rotate(-90deg)") {
                            require('electron').ipcRenderer.send('addstats', { catalog: "ingame", key: "turns", add: 1 });
                            document.getElementById("car0").style.transform = "rotate(-90deg)";
                            car0collisionon = false;
                            setTimeout(() => {
                                car0collisionon = true;
                            }, 500)
                        }
                    }
                    if (e.keyCode === 83 || ((location.search === "?sp" || location.search === "?online") && e.keyCode === 40)) { // S
                        if (car0cspeed < car0speed) {
                            car0cspeed = car0cspeed + 0.2;
                        }
                        if (document.getElementById("car0").style.transform !== "rotate(90deg)") {
                            require('electron').ipcRenderer.send('addstats', { catalog: "ingame", key: "turns", add: 1 });
                            document.getElementById("car0").style.transform = "rotate(90deg)";
                            car0collisionon = false;
                            setTimeout(() => {
                                car0collisionon = true;
                            }, 500)
                        }
                    }
                    if (e.keyCode === 81 || e.keyCode === 65 || ((location.search === "?sp" || location.search === "?online") && e.keyCode === 37)) { // Q
                        if (car0cspeed < car0speed) {
                            car0cspeed = car0cspeed + 0.2;
                        }
                        if (document.getElementById("car0").style.transform !== "rotate(180deg)") {
                            require('electron').ipcRenderer.send('addstats', { catalog: "ingame", key: "turns", add: 1 });
                            document.getElementById("car0").style.transform = "rotate(180deg)";
                            car0collisionon = false;
                            setTimeout(() => {
                                car0collisionon = true;
                            }, 500)
                        }
                    }
                    if (e.keyCode === 68 || ((location.search === "?sp" || location.search === "?online") && e.keyCode === 39)) { // D
                        if (car0cspeed < car0speed) {
                            car0cspeed = car0cspeed + 0.2;
                        }
                        if (document.getElementById("car0").style.transform !== "rotate(0deg)") {
                            require('electron').ipcRenderer.send('addstats', { catalog: "ingame", key: "turns", add: 1 });
                            document.getElementById("car0").style.transform = "rotate(0deg)";
                            car0collisionon = false;
                            setTimeout(() => {
                                car0collisionon = true;
                            }, 500)
                        }
                    }
                }

                // Car 1
                if (car1collisionon) {
                    if (location.search !== "?sp" && location.search !== "?online") {
                        if (e.keyCode === 38) { // up
                            if (car1cspeed < car1speed) {
                                car1cspeed = car1cspeed + 0.2;
                            }
                            if (document.getElementById("car1").style.transform !== "rotate(-90deg)") {
                                document.getElementById("car1").style.transform = "rotate(-90deg)";
                                car1collisionon = false;
                                setTimeout(() => {
                                    car1collisionon = true;
                                }, 500)
                            }
                        }
                        if (e.keyCode === 40) { // down
                            if (car1cspeed < car1speed) {
                                car1cspeed = car1cspeed + 0.2;
                            }
                            if (document.getElementById("car1").style.transform !== "rotate(90deg)") {
                                document.getElementById("car1").style.transform = "rotate(90deg)";
                                car1collisionon = false;
                                setTimeout(() => {
                                    car1collisionon = true;
                                }, 500)
                            }
                        }
                        if (e.keyCode === 37) { // left
                            if (car1cspeed < car1speed) {
                                car1cspeed = car1cspeed + 0.2;
                            }
                            if (document.getElementById("car1").style.transform !== "rotate(180deg)") {
                                document.getElementById("car1").style.transform = "rotate(180deg)";
                                car1collisionon = false;
                                setTimeout(() => {
                                    car1collisionon = true;
                                }, 500)
                            }
                        }
                        if (e.keyCode === 39) { // right
                            if (car1cspeed < car1speed) {
                                car1cspeed = car1cspeed + 0.2;
                            }
                            if (document.getElementById("car1").style.transform !== "rotate(0deg)") {
                                document.getElementById("car1").style.transform = "rotate(0deg)";
                                car1collisionon = false;
                                setTimeout(() => {
                                    car1collisionon = true;
                                }, 500)
                            }
                        }
                    }
                }
                if (e.keyCode === 27 || e.keyCode === 8) { // esc
                    pause(true);
                }
            } else {
                if (e.keyCode === 13 || e.keyCode === 88 || e.keyCode === 32 || e.keyCode === 16) { // enter
                    if ($(".services").is(":visible")) {
                        selectOption();
                    } else {
                        $(".services").show();
                    }
                }
                if (e.keyCode === 38 || e.keyCode === 90) { // up
                    Sound.menu();
                    var selected = $(".selected");
                    $(".services li").removeClass("selected");
                    if (selected.prev().length === 0) {
                        selected.siblings().last().addClass("selected");
                    } else {
                        selected.prev().addClass("selected");
                    }
                }
                if (e.keyCode === 40 || e.keyCode === 83) { // down
                    Sound.menu();
                    var selected = $(".selected");
                    $(".services li").removeClass("selected");
                    if (selected.next().length === 0) {
                        selected.siblings().first().addClass("selected");
                    } else {
                        selected.next().addClass("selected");
                    }
                }
                if (e.keyCode === 27 || e.keyCode === 8) { // esc
                    pause(false);
                }
            }
        }
    });
})