Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ba = (() => {
- function b(b, a, d, e, g, f = 0, z) {
- b.beginPath();
- if (g)
- if (g instanceof Array) {
- var c = Math.cos(f);
- f = Math.sin(f);
- for (let [h, l] of g) b.lineTo(a + e * (h * c - l * f), d + e * (l * c + h * f));
- b.closePath()
- } else {
- if ("string" === typeof g) {
- g = new Path2D(g);
- b.save();
- b.translate(a, d);
- b.scale(e, e);
- b.lineWidth /= e;
- b.rotate(f);
- B.graphical.inversedRender ? (b.stroke(g), b.fill(g)) : (b.fill(g), b.stroke(g));
- b.restore();
- return
- }
- if (0 > g) {
- 0 === g % 2 && (f += Math.PI / g);
- g = -g;
- let l = 1 - 6 / (g * g);
- b.lineJoin = B.graphical.sharp ? 'miter' : 'round';
- b.moveTo(a + e * Math.cos(f), d + e * Math.sin(f));
- for (let k = 0; k < g; k++) {
- c = (k + 1) / g * 2 * Math.PI;
- var h = (k + .5) / g * 2 * Math.PI;
- b.quadraticCurveTo(a + e * l * Math.cos(h + f), d + e * l * Math.sin(h + f), a + e * Math.cos(c + f), d + e * Math.sin(c + f))
- }
- B.graphical.pointy && b.closePath();
- B.graphical.inversedRender ?
- (b.stroke(), b.fill()) : (b.fill(), b.stroke());
- b.lineJoin = B.graphical.sharp ? 'miter' : 'round';
- //B.graphical.pointy && (b.lineJoin = "round");
- return
- }
- if (0 < g) {
- 0 === g % 2 && (f += Math.PI / g);
- for (c = 0; c < g; c++) h = c / g * 2 * Math.PI, b.lineTo(a + e * Math.cos(h + f), d + e * Math.sin(h + f));
- b.closePath()
- }
- }
- else b.arc(a, d, e, 0, 2 * Math.PI);
- B.graphical.inversedRender ? (b.stroke(), b.fill()) : (b.fill(), b.stroke())
- }
- return (a, c, d, x, t = 1, f = 1, m = 0, p = !1, z = !1, q = !1, F = d.render) => {
- let h = z || g,
- u = q ? 1 : F.status.getFade();
- f = f * x * d.size;
- let n = M[d.index],
- y = a,
- R = c;
- q = !1 === q ? d : q;
- if (0 !== u && 0 !== t) {
- F.expandsWithDeath && (f *=
- 1 + .5 * (1 - u));
- if (z !== Ma && (1 !== u || 1 !== t))
- if (B.graphical.fancyAnimations) h = Ma, h.canvas.width = h.canvas.height = f * n.position.axis + 20 * x, y = h.canvas.width / 2 - f * n.position.axis * n.position.middle.x * Math.cos(m) / 4, R = h.canvas.height / 2 - f * n.position.axis * n.position.middle.x * Math.sin(m) / 4, z = !1;
- else if (.5 > u * t) return;
- "object" !== typeof h && (h = g);
- h.lineCap = "round";
- h.lineJoin = B.graphical.sharp ? 'miter' : 'round' ;
- if (q.turrets.length === n.turrets.length)
- for (var E = 0; E < n.turrets.length; E++) {
- var v = n.turrets[E];
- if (0 === v.layer) {
- var w = v.direction + v.angle + m,
- A =
- v.offset * f;
- ba(y + A * Math.cos(w), R + A * Math.sin(w), v, x, t, f / x / v.size * v.sizeFactor, q.turrets[E].facing + p * m, p, h, q.turrets[E], F)
- }
- } else throw Error("Mismatch turret number with mockup.");
- q.guns.update();//guncolour
- h.lineWidth = Math.max(B.graphical.mininumBorderChunk, x * B.graphical.borderChunk);
- E = F.status.getColor();
- w = F.status.getBlend();
- E = T(e(d.color), E, w);
- d.invuln && 100 > (Date.now() - d.invuln) % 200 && (v = T(v, l.vlgrey, .3), E = T(E, l.vlgrey, .3));
- if (q.guns.length === n.guns.length)
- for (w = q.guns.getPositions(),
- A = 0; A < n.guns.length; A++) {
- var D = n.guns[A],
- r = 1 === D.aspect ? w[A] / 2 : w[A]; {
- d = h;
- v = y + f * (D.offset * Math.cos(D.direction + D.angle + m) + (D.length / 2 - r) * Math.cos(D.angle + m));
- r = R + f * (D.offset * Math.sin(D.direction + D.angle + m) + (D.length / 2 - r) * Math.sin(D.angle + m));
- var C = f * (D.length / 2 - (1 === D.aspect ? w[A] : 0)),
- L = f * D.width / 2,
- G = D.aspect;
- D = D.angle + m;
- var X = L;
- 0 < G ? X *= G : 0 > G && (L *= -G);
- G = Math.atan2(X, C);
- let b = Math.atan2(L, C);
- X = Math.sqrt(C * C + X * X);
- C = Math.sqrt(C * C + L * L);
- var lol = (D.color != null) ? T(e(D.color), F.status.getColor(), F.status.getBlend()) : T(l.grey, F.status.getColor(), F.status.getBlend());
- k(h, lol);
- d.beginPath();
- d.moveTo(v + X * Math.cos(D + G), r + X * Math.sin(D + G));
- d.lineTo(v +
- C * Math.cos(D + Math.PI - b), r + C * Math.sin(D + Math.PI - b));
- d.lineTo(v + C * Math.cos(D + Math.PI + b), r + C * Math.sin(D + Math.PI + b));
- d.lineTo(v + X * Math.cos(D - G), r + X * Math.sin(D - G));
- d.closePath();
- B.graphical.inversedRender ? (d.stroke(), d.fill()) : (d.fill(), d.stroke())
- }
- } else throw Error("Mismatch gun number with mockup.");
- h.globalAlpha = 1;
- k(h, E);
- b(h, y, R, f / n.size * n.realSize, n.shape, m);
- if (q.turrets.length === n.turrets.length)
- for (E = 0; E < n.turrets.length; E++) d = n.turrets[E], 1 === d.layer && (v = d.direction + d.angle + m, w = d.offset * f, ba(y +
- w * Math.cos(v), R + w * Math.sin(v), d, x, t, f / x / d.size * d.sizeFactor, q.turrets[E].facing + p * m, p, h, q.turrets[E], F));
- else throw Error("Mismatch turret number with mockup.");
- z || h === g || (g.save(), g.globalAlpha = t * u, g.drawImage(h.canvas, a - y, c - R), g.restore())
- }
- }
- })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement