Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ws.onmessage = function(b) {
- if (ws == this && (b = new Uint8Array(b.data), rdps += b.length, 2 <= b.length)) {
- lptm = cptm;
- cptm = Date.now();
- var c = b[0] << 8 | b[1],
- e = cptm - lptm;
- 0 == lptm && (e = 0);
- etm += Math.max(-180, Math.min(180, e - c));
- testing && (rdpspc[b[2]] += b.length);
- var h = String.fromCharCode(b[2]),
- c = 3,
- f = b.length,
- e = b.length - 2,
- q = b.length - 3;
- if ("a" == h) connecting = !1, playing = connected = !0, play_btn_click_mtm = -1, grd = b[c] << 16 | b[c + 1] << 8 | b[c + 2], c += 3, e = b[c] << 8 | b[c + 1], c += 2, sector_size = b[c] << 8 | b[c + 1], c += 2, sector_count_along_edge = b[c] << 8 | b[c + 1], c += 2, spangdv = b[c] / 10, c++, nsp1 = (b[c] << 8 | b[c + 1]) / 100, c += 2, nsp2 = (b[c] << 8 | b[c + 1]) / 100, c += 2, nsp3 = (b[c] <<
- 8 | b[c + 1]) / 100, c += 2, mamu = (b[c] << 8 | b[c + 1]) / 1E3, c += 2, mamu2 = (b[c] << 8 | b[c + 1]) / 1E3, c += 2, cst = (b[c] << 8 | b[c + 1]) / 1E3, c += 2, c < f && (protocol_version = b[c]), setMscps(e), lbh.style.display = "inline", lbs.style.display = "inline", lbn.style.display = "inline", lbp.style.display = "inline", lbf.style.display = "inline", vcm.style.display = "inline", loch.style.display = "inline", startShowGame();
- else if ("e" == h || "E" == h || "3" == h || "4" == h || "5" == h) {
- var t = b[c] << 8 | b[c + 1],
- c = c + 2,
- u = -1,
- z = -1,
- I = -1,
- M = -1;
- if (6 <= protocol_version) 6 == e ? (u = "e" == h ? 1 : 2, z = 2 * b[c] *
- Math.PI / 256, c++, I = 2 * b[c] * Math.PI / 256, c++, M = b[c] / 18) : 5 == e ? "e" == h ? (z = 2 * b[c] * Math.PI / 256, c++, M = b[c] / 18) : "E" == h ? (u = 1, I = 2 * b[c] * Math.PI / 256, c++, M = b[c] / 18) : "4" == h ? (u = 2, I = 2 * b[c] * Math.PI / 256, c++, M = b[c] / 18) : "3" == h ? (u = 1, z = 2 * b[c] * Math.PI / 256, c++, I = 2 * b[c] * Math.PI / 256) : "5" == h && (u = 2, z = 2 * b[c] * Math.PI / 256, c++, I = 2 * b[c] * Math.PI / 256) : 4 == e && ("e" == h ? z = 2 * b[c] * Math.PI / 256 : "E" == h ? (u = 1, I = 2 * b[c] * Math.PI / 256) : "4" == h ? (u = 2, I = 2 * b[c] * Math.PI / 256) : "3" == h && (M = b[c] / 18));
- else if (3 <= protocol_version) {
- "3" != h && (8 == e || 7 == e || 6 == e && "3" !=
- h || 5 == e && "3" != h) && (u = "e" == h ? 1 : 2);
- if (8 == e || 7 == e || 5 == e && "3" == h || 6 == e && "3" == h) z = 2 * (b[c] << 8 | b[c + 1]) * Math.PI / 65535, c += 2;
- if (8 == e || 7 == e || 5 == e && "3" != h || 6 == e && "3" != h) I = 2 * (b[c] << 8 | b[c + 1]) * Math.PI / 65535, c += 2;
- if (8 == e || 6 == e || 4 == e) M = b[c] / 18
- } else {
- if (11 == q || 8 == q || 9 == q || 6 == q) u = b[c] - 48, c++;
- if (11 == q || 7 == q || 9 == q || 5 == q) z = 2 * (b[c] << 16 | b[c + 1] << 8 | b[c + 2]) * Math.PI / 16777215, c += 3;
- if (11 == q || 8 == q || 9 == q || 6 == q) I = 2 * (b[c] << 16 | b[c + 1] << 8 | b[c + 2]) * Math.PI / 16777215, c += 3;
- if (11 == q || 7 == q || 8 == q || 4 == q) M = (b[c] << 8 | b[c + 1]) / 1E3
- }
- if (f = os["s" + t]) {
- -1 !=
- u && (f.dir = u);
- anguc++;
- if (-1 != z) {
- f.ang == z && angnuc++;
- b = (z - f.ang) % pi2;
- 0 > b && (b += pi2);
- b > Math.PI && (b -= pi2);
- t = f.fapos;
- for (q = 0; q < afc; q++) f.fas[t] -= b * afas[q], t++, t >= afc && (t = 0);
- f.fatg = afc;
- f.ang = z
- } - 1 != I && (f.wang == I && wangnuc++, f.wang = I, f != snake && (f.eang = I)); - 1 != M && (f.sp = M, f.spang = f.sp / spangdv, 1 < f.spang && (f.spang = 1))
- }
- } else if ("h" == h) {
- if (t = b[c] << 8 | b[c + 1], c += 2, u = (b[c] << 16 | b[c + 1] << 8 | b[c + 2]) / 16777215, f = os["s" + t]) f.fam = u, snl(f)
- } else if ("r" == h) {
- if (t = b[c] << 8 | b[c + 1], c += 2, f = os["s" + t]) {
- 4 <= q && (f.fam = (b[c] << 16 | b[c + 1] << 8 | b[c +
- 2]) / 16777215);
- for (q = 0; q < f.pts.length; q++)
- if (!f.pts[q].dying) {
- f.pts[q].dying = !0;
- f.sct--;
- f.sc = Math.min(6, 1 + (f.sct - 2) / 106);
- f.scang = .13 + .87 * Math.pow((7 - f.sc) / 6, 2);
- f.ssp = nsp1 + nsp2 * f.sc;
- f.fsp = f.ssp + .1;
- f.wsep = 6 * f.sc;
- b = nsep / gsc;
- f.wsep < b && (f.wsep = b);
- break
- }
- snl(f)
- }
- } else if ("g" == h || "n" == h || "G" == h || "N" == h) {
- if (playing) {
- var y = "n" == h || "N" == h,
- t = b[c] << 8 | b[c + 1],
- c = c + 2;
- if (f = os["s" + t]) {
- if (y) f.sct++;
- else
- for (q = 0; q < f.pts.length; q++)
- if (!f.pts[q].dying) {
- f.pts[q].dying = !0;
- break
- } var E = f.pts[f.pts.length - 1],
- q = E;
- 3 <= protocol_version ?
- "g" == h || "n" == h ? (e = b[c] << 8 | b[c + 1], c += 2, F = b[c] << 8 | b[c + 1], c += 2) : (e = q.xx + b[c] - 128, c++, F = q.yy + b[c] - 128, c++) : (e = (b[c] << 16 | b[c + 1] << 8 | b[c + 2]) / 5, c += 3, F = (b[c] << 16 | b[c + 1] << 8 | b[c + 2]) / 5, c += 3);
- y && (f.fam = (b[c] << 16 | b[c + 1] << 8 | b[c + 2]) / 16777215);
- (E = points_dp.get()) || (E = {
- exs: [],
- eys: [],
- efs: [],
- ems: []
- });
- E.eiu = 0;
- E.xx = e;
- E.yy = F;
- E.fx = 0;
- E.fy = 0;
- E.da = 0;
- E.ebx = E.xx - q.xx;
- E.eby = E.yy - q.yy;
- f.pts.push(E);
- f.iiv && (b = f.xx + f.fx - E.xx, c = f.yy + f.fy - E.yy, E.fx += b, E.fy += c, E.exs[E.eiu] = b, E.eys[E.eiu] = c, E.efs[E.eiu] = 0, E.ems[E.eiu] = 1, E.eiu++);
- t = f.pts.length -
- 3;
- if (1 <= t)
- for (u = f.pts[t], h = n = 0, q = t - 1; 0 <= q; q--) t = f.pts[q], n++, b = t.xx, c = t.yy, 4 >= n && (h = cst * n / 4), t.xx += (u.xx - t.xx) * h, t.yy += (u.yy - t.yy) * h, f.iiv && (b -= t.xx, c -= t.yy, t.fx += b, t.fy += c, t.exs[t.eiu] = b, t.eys[t.eiu] = c, t.efs[t.eiu] = 0, t.ems[t.eiu] = 2, t.eiu++), u = t;
- f.sc = Math.min(6, 1 + (f.sct - 2) / 106);
- f.scang = .13 + .87 * Math.pow((7 - f.sc) / 6, 2);
- f.ssp = nsp1 + nsp2 * f.sc;
- f.fsp = f.ssp + .1;
- f.wsep = 6 * f.sc;
- b = nsep / gsc;
- f.wsep < b && (f.wsep = b);
- y && snl(f);
- f.lnp = E;
- f == snake && (ovxx = snake.xx + snake.fx, ovyy = snake.yy + snake.fy);
- t = etm / 8 * f.sp / 4;
- t *= lag_mult;
- q = f.chl - 1;
- f.chl = t / f.msl;
- h = f.xx;
- y = f.yy;
- f.xx = e + Math.cos(f.ang) * t;
- f.yy = F + Math.sin(f.ang) * t;
- b = f.xx - h;
- c = f.yy - y;
- e = f.chl - q;
- t = f.fpos;
- for (q = 0; q < rfc; q++) f.fxs[t] -= b * rfas[q], f.fys[t] -= c * rfas[q], f.fchls[t] -= e * rfas[q], t++, t >= rfc && (t = 0);
- f.fx = f.fxs[f.fpos];
- f.fy = f.fys[f.fpos];
- f.fchl = f.fchls[f.fpos];
- f.ftg = rfc;
- f.ehl = 0;
- if (f == snake) {
- b = view_xx;
- c = view_yy;
- view_xx = snake.xx + snake.fx;
- view_yy = snake.yy + snake.fy;
- bgx -= view_xx - b;
- bgy -= view_yy - c;
- b = view_xx - ovxx;
- c = view_yy - ovyy;
- t = fvpos;
- for (q = 0; q < vfc; q++) fvxs[t] -= b * vfas[q], fvys[t] -=
- c * vfas[q], t++, t >= vfc && (t = 0);
- fvtg = vfc
- }
- }
- }
- } else if ("l" == h) {
- if (playing) {
- wumsts = !0;
- z = E = F = "";
- M = I = 0; - 1 == lb_fr && -1 == dead_mtm && (lb_fr = 0);
- var H = b[c];
- c++;
- rank = b[c] << 8 | b[c + 1];
- rank < best_rank && (best_rank = rank);
- c += 2;
- snake_count = b[c] << 8 | b[c + 1];
- snake_count > biggest_snake_count && (biggest_snake_count = snake_count);
- for (c += 2; c < f;) {
- var K = b[c] << 8 | b[c + 1],
- c = c + 2,
- u = (b[c] << 16 | b[c + 1] << 8 | b[c + 2]) / 16777215,
- c = c + 3,
- y = b[c] % 9;
- c++;
- e = b[c];
- c++;
- M++;
- h = "";
- for (q = 0; q < e; q++) t = b[c], h += String.fromCharCode(t), c++;
- M == H ? (h = my_nick, e = h.length) : gdnm(h) ||
- (h = "");
- for (var N = "", q = 0; q < e; q++) t = h.charCodeAt(q), N = 38 == t ? N + "&" : 60 == t ? N + "<" : 62 == t ? N + ">" : 32 == t ? N + " " : N + String.fromCharCode(t);
- h = N;
- I++;
- score = Math.floor(15 * (fpsls[K] + u / fmlts[K] - 1) - 5) / 1;
- t = M == H ? 1 : .7 * (.3 + .7 * (1 - I / 10));
- F += '<span style="opacity:' + t + "; color:" + per_color_imgs[y].cs + ';">' + score + "</span><BR>";
- E += '<span style="opacity:' + t + "; color:" + per_color_imgs[y].cs + ";" + (M == H ? "font-weight:bold;" : "") + '">' + h + "</span><BR>";
- z += '<span style="opacity:' + t + "; color:" + per_color_imgs[y].cs + ';">#' + I + "</span><BR>"
- }
- lbs.innerHTML =
- F;
- lbn.innerHTML = E;
- lbp.innerHTML = z
- }
- } else if ("v" == h) 2 == b[c] ? (want_close_socket = !0, want_victory_message = !1, want_hide_victory = 1, hvfr = 0) : (dead_mtm = Date.now(), play_btn.setEnabled(!0), e = Math.floor(15 * (fpsls[snake.sct] + snake.fam / fmlts[snake.sct] - 1) - 5) / 1, twt.href = "http://twitter.com/intent/tweet?status=" + encodeURIComponent("I got a length of " + e + " in http://slither.io! Can you beat that? #slitherio"), F = "Your final length was", "de" == lang ? F = "Deine endg\u00fcltige L\u00e4nge war" : "fr" == lang ? F = "Votre longueur finale \u00e9tait de" :
- "pt" == lang && (F = "Seu comprimento final foi de"), f = "", 1E3 < e && (f = "!"), lastscore.innerHTML = '<span style="opacity: .45;">' + F + " </span><b>" + e + "</b>" + f, e = "Play Again", "fr" == lang ? e = "Jouer" : "pt" == lang && (e = "Joga"), play_btn.setText(String.fromCharCode(160) + e + String.fromCharCode(160)), 1 == b[c] ? (nick_holder.style.display = "none", playh.style.display = "none", smh.style.display = "none", victory_holder.style.display = "inline", saveh.style.display = "block", want_victory_focus = want_victory_message = !0, victory.disabled = !1, save_btn.setEnabled(!0)) :
- want_close_socket = !0);
- else if ("W" == h) e = b[c], c++, F = b[c], f = {}, f.xx = e, f.yy = F, sectors.push(f);
- else if ("w" == h)
- if (8 <= protocol_version ? (f = 2, e = b[c], c++, F = b[c]) : (f = b[c], c++, e = b[c] << 8 | b[c + 1], c += 2, F = b[c] << 8 | b[c + 1]), 1 == f) f = {}, f.xx = e, f.yy = F, sectors.push(f);
- else {
- for (y = cm1 = foods_c - 1; 0 <= y; y--) q = foods[y], q.sx == e && q.sy == F && (y == cm1 ? foods[y] = null : (foods[y] = foods[cm1], foods[cm1] = null), foods_c--, cm1--);
- for (y = sectors.length - 1; 0 <= y; y--) f = sectors[y], f.xx == e && f.yy == F && sectors.splice(y, 1)
- }
- else if ("m" == h) {
- K = b[c] << 16 | b[c + 1] <<
- 8 | b[c + 2];
- c += 3;
- u = (b[c] << 16 | b[c + 1] << 8 | b[c + 2]) / 16777215;
- c += 3;
- F = Math.floor(15 * (fpsls[K] + u / fmlts[K] - 1) - 5) / 1;
- e = b[c];
- c++;
- q = "";
- for (y = 0; y < e; y++) q += String.fromCharCode(b[c]), c++;
- gdnm(q) || (q = "");
- for (e = ""; c < f;) e += String.fromCharCode(b[c]), c++;
- gdnm(e) || (e = "");
- q = q.split("&").join("&").split("<").join("<").split(">").join(">");
- e = e.split("&").join("&").split("<").join("<").split(">").join(">");
- 0 < F && (b = "", 0 < e.length && (b += "<span style='font-size:17px;'><b><i><span style='opacity: .5;'>"</span>" +
- e + "<span style='opacity: .5;'>"</span></i></b></span><BR><div style='height: 5px;'></div>"), 0 < q.length ? (b = 0 < e.length ? b + ("<i><span style='opacity: .5;'>- </span><span style='opacity: .75;'><b>" + q + "</b></span><span style='opacity: .5;'>, today's longest</span></i>") : "<i><span style='opacity: .5;'>Today's longest was </span><span style='opacity: .75;'><b>" + q + "</b></span></i>", b += "<br><i><span style='opacity: .5;'>with a length of </span><span style='opacity: .65;'><b>" + F + "</b></span></i>") : b = 0 <
- e.length ? b + "<i><span style='opacity: .5;'>- </span><span style='opacity: .5;'>today's longest</span></i>" + ("<br><i><span style='opacity: .5;'>with a length of </span><span style='opacity: .65;'><b>" + F + "</b></span></i>") : b + ("<i><span style='opacity: .5;'>Today's longest: </span><span style='opacity: .75;'><b>" + F + "</b></span></i>"), vcm.innerHTML = b)
- } else if ("p" == h) wfpr = !1, lagging && (etm *= lag_mult, lagging = !1);
- else if ("u" == h) {
- q = asmc.getContext("2d");
- q.clearRect(0, 0, 80, 80);
- q.fillStyle = "#FFFFFF";
- for (var F =
- e = 0; c < f && !(80 <= F);)
- if (t = b[c++], 128 <= t)
- for (t -= 128, y = 0; y < t && !(e++, 80 <= e && (e = 0, F++, 80 <= F)); y++);
- else
- for (y = 0; 7 > y && !(0 < (t & u_m[y]) && q.fillRect(e, F, 1, 1), e++, 80 <= e && (e = 0, F++, 80 <= F)); y++);
- } else if ("s" == h) {
- if (playing)
- if (t = b[c] << 8 | b[c + 1], c += 2, 6 < q) {
- z = 2 * (b[c] << 16 | b[c + 1] << 8 | b[c + 2]) * Math.PI / 16777215;
- c += 3;
- c++;
- I = 2 * (b[c] << 16 | b[c + 1] << 8 | b[c + 2]) * Math.PI / 16777215;
- c += 3;
- M = (b[c] << 8 | b[c + 1]) / 1E3;
- c += 2;
- u = (b[c] << 16 | b[c + 1] << 8 | b[c + 2]) / 16777215;
- c += 3;
- y = b[c];
- c++;
- H = [];
- K = (b[c] << 16 | b[c + 1] << 8 | b[c + 2]) / 5;
- c += 3;
- N = (b[c] << 16 | b[c + 1] << 8 | b[c +
- 2]) / 5;
- c += 3;
- e = b[c];
- c++;
- h = "";
- for (q = 0; q < e; q++) h += String.fromCharCode(b[c]), c++;
- for (var F = e = 0, O, L = !1; c < f;) q = e, O = F, L ? (e += (b[c] - 127) / 2, c++, F += (b[c] - 127) / 2, c++) : (e = (b[c] << 16 | b[c + 1] << 8 | b[c + 2]) / 5, c += 3, F = (b[c] << 16 | b[c + 1] << 8 | b[c + 2]) / 5, c += 3, q = e, O = F, L = !0), (E = points_dp.get()) || (E = {
- exs: [],
- eys: [],
- efs: [],
- ems: []
- }), E.eiu = 0, E.xx = e, E.yy = F, E.fx = 0, E.fy = 0, E.da = 0, E.ebx = e - q, E.eby = F - O, H.push(E);
- f = newSnake(t, K, N, y, z, H);
- null == snake ? (view_xx = e, view_yy = F, snake = f, snake.md = !1, snake.wmd = !1, f.nk = my_nick) : (f.nk = h, gdnm(h) || (f.nk = ""));
- f.eang = f.wang = I;
- f.sp = M;
- f.spang = f.sp / spangdv;
- 1 < f.spang && (f.spang = 1);
- f.fam = u;
- f.sc = Math.min(6, 1 + (f.sct - 2) / 106);
- f.scang = .13 + .87 * Math.pow((7 - f.sc) / 6, 2);
- f.ssp = nsp1 + nsp2 * f.sc;
- f.fsp = f.ssp + .1;
- f.wsep = 6 * f.sc;
- b = nsep / gsc;
- f.wsep < b && (f.wsep = b);
- f.sep = f.wsep;
- snl(f)
- } else
- for (b = 1 == b[c], y = snakes.length - 1; 0 <= y; y--)
- if (snakes[y].id == t) {
- snakes[y].id = -1234;
- b ? (snakes[y].dead = !0, snakes[y].dead_amt = 0, snakes[y].edir = 0) : snakes.splice(y, 1);
- delete os["s" + t];
- break
- }
- } else if ("F" == h)
- if (4 <= protocol_version)
- for (h = !1; c < f;) y = b[c], c++, e =
- b[c] << 8 | b[c + 1], c += 2, F = b[c] << 8 | b[c + 1], c += 2, q = b[c] / 5, c++, t = F * grd * 3 + e, q = newFood(t, e, F, q, !0, y), h || (h = !0, u = Math.floor(e / sector_size), E = Math.floor(F / sector_size)), q.sx = u, q.sy = E;
- else
- for (u = b[c] << 8 | b[c + 1], c += 2, E = b[c] << 8 | b[c + 1], c += 2; c < f;) t = b[c] << 16 | b[c + 1] << 8 | b[c + 2], c += 3, y = b[c], c++, e = sector_size * (u + b[c] / 255), c++, F = sector_size * (E + b[c] / 255), c++, q = b[c] / 5, c++, q = newFood(t, e, F, q, !0, y), q.sx = u, q.sy = E;
- else if ("b" == h || "f" == h) 4 <= protocol_version ? (y = b[c], c++, 4 < q && (e = b[c] << 8 | b[c + 1], c += 2, F = b[c] << 8 | b[c + 1], t = F * grd * 3 + e, q = b[c +
- 2] / 5, q = newFood(t, e, F, q, "b" == h, y), q.sx = Math.floor(e / sector_size), q.sy = Math.floor(F / sector_size))) : (t = b[c] << 16 | b[c + 1] << 8 | b[c + 2], c += 3, 4 < q && (y = b[c], c++, u = b[c] << 8 | b[c + 1], c += 2, E = b[c] << 8 | b[c + 1], c += 2, e = sector_size * (u + b[c] / 255), c++, F = sector_size * (E + b[c] / 255), c++, q = b[c] / 5, q = newFood(t, e, F, q, "b" == h, y), q.sx = u, q.sy = E));
- else if ("c" == h) {
- 4 <= protocol_version ? (e = b[c] << 8 | b[c + 1], c += 2, F = b[c] << 8 | b[c + 1], c += 2, t = F * grd * 3 + e) : (t = b[c] << 16 | b[c + 1] << 8 | b[c + 2], c += 3);
- for (y = cm1 = foods_c - 1; 0 <= y; y--)
- if (q = foods[y], q.id == t) {
- q.eaten = !0;
- c +
- 2 <= f ? (b = b[c] << 8 | b[c + 1], q.eaten_by = os["s" + b], q.eaten_fr = 0) : (y == cm1 ? foods[y] = null : (foods[y] = foods[cm1], foods[cm1] = null), foods_c--, cm1--);
- t = -1;
- break
- }
- testing && -1 != t && console.log("wtf")
- } else if ("j" == h) {
- t = b[c] << 8 | b[c + 1];
- c += 2;
- e = 1 + 3 * (b[c] << 8 | b[c + 1]);
- c += 2;
- F = 1 + 3 * (b[c] << 8 | b[c + 1]);
- c += 2;
- f = null;
- for (y = preys.length - 1; 0 <= y; y--)
- if (preys[y].id == t) {
- f = preys[y];
- break
- }
- if (f) {
- t = etm / 8 * f.sp / 4;
- t *= lag_mult;
- h = f.xx;
- y = f.yy;
- 15 == q ? (f.dir = b[c] - 48, c++, f.ang = 2 * (b[c] << 16 | b[c + 1] << 8 | b[c + 2]) * Math.PI / 16777215, c += 3, f.wang = 2 * (b[c] << 16 | b[c +
- 1] << 8 | b[c + 2]) * Math.PI / 16777215, c += 3, f.sp = (b[c] << 8 | b[c + 1]) / 1E3) : 11 == q ? (f.ang = 2 * (b[c] << 16 | b[c + 1] << 8 | b[c + 2]) * Math.PI / 16777215, c += 3, f.sp = (b[c] << 8 | b[c + 1]) / 1E3) : 12 == q ? (f.dir = b[c] - 48, c++, f.wang = 2 * (b[c] << 16 | b[c + 1] << 8 | b[c + 2]) * Math.PI / 16777215, c += 3, f.sp = (b[c] << 8 | b[c + 1]) / 1E3) : 13 == q ? (f.dir = b[c] - 48, c++, f.ang = 2 * (b[c] << 16 | b[c + 1] << 8 | b[c + 2]) * Math.PI / 16777215, c += 3, f.wang = 2 * (b[c] << 16 | b[c + 1] << 8 | b[c + 2]) * Math.PI / 16777215) : 9 == q ? f.ang = 2 * (b[c] << 16 | b[c + 1] << 8 | b[c + 2]) * Math.PI / 16777215 : 10 == q ? (f.dir = b[c] - 48, c++, f.wang = 2 * (b[c] <<
- 16 | b[c + 1] << 8 | b[c + 2]) * Math.PI / 16777215) : 8 == q && (f.sp = (b[c] << 8 | b[c + 1]) / 1E3);
- f.xx = e + Math.cos(f.ang) * t;
- f.yy = F + Math.sin(f.ang) * t;
- b = f.xx - h;
- c = f.yy - y;
- t = f.fpos;
- for (q = 0; q < rfc; q++) f.fxs[t] -= b * rfas[q], f.fys[t] -= c * rfas[q], t++, t >= rfc && (t = 0);
- f.fx = f.fxs[f.fpos];
- f.fy = f.fys[f.fpos];
- f.ftg = rfc
- }
- } else if ("y" == h)
- if (t = b[c] << 8 | b[c + 1], c += 2, 2 == q)
- for (y = preys.length - 1; 0 <= y; y--) {
- if (f = preys[y], f.id == t) {
- preys.splice(y, 1);
- break
- }
- } else if (4 == q)
- for (b = b[c] << 8 | b[c + 1], y = preys.length - 1; 0 <= y; y--) {
- if (f = preys[y], f.id == t) {
- f.eaten = !0;
- f.eaten_by =
- os["s" + b];
- f.eaten_by ? f.eaten_fr = 0 : preys.splice(y, 1);
- break
- }
- } else y = b[c], c++, e = (b[c] << 16 | b[c + 1] << 8 | b[c + 2]) / 5, c += 3, F = (b[c] << 16 | b[c + 1] << 8 | b[c + 2]) / 5, c += 3, q = b[c] / 5, c++, u = b[c] - 48, c++, I = 2 * (b[c] << 16 | b[c + 1] << 8 | b[c + 2]) * Math.PI / 16777215, c += 3, z = 2 * (b[c] << 16 | b[c + 1] << 8 | b[c + 2]) * Math.PI / 16777215, c += 3, M = (b[c] << 8 | b[c + 1]) / 1E3, newPrey(t, e, F, q, y, u, I, z, M)
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement