Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ==UserScript==
- // @name brioche_textureLightV2
- // @namespace http://www.reddit.com/user/briochemc
- // @description brioche light v2
- // @include http://*.koalabeast.com:*
- // @license GPL
- // @author brioche
- // @version 1
- // ==/UserScript==
- function myRotatingBallsScript() {
- tagpro.ready(function(){
- //This is important.
- if(tagpro.events.drawPlayer)
- return;
- // Ball images
- var Border2 = new Image();
- Border2.src = "http://i.imgur.com/8cFYAFx.png";
- var Lighting2 = new Image();
- Lighting2.src = "http://i.imgur.com/b9cMef6.png";
- var redInside2 = new Image();
- redInside2.src = "http://i.imgur.com/5PS7CBp.png";
- var blueInside2 = new Image();
- blueInside2.src = "http://i.imgur.com/keDBrp7.png";
- var EyesAndMouthBlue = new Image();
- EyesAndMouthBlue.src = "http://i.imgur.com/mgYgnyw.png";
- var EyesAndMouthRed = new Image();
- EyesAndMouthRed.src = "http://i.imgur.com/z5DlwGJ.png";
- // texture pack images
- document.getElementById("tiles").src = "http://i.imgur.com/jirnxIT.png";
- document.getElementById("splats").src = "http://i.imgur.com/3m8yX7z.png";
- document.getElementById("speedpad").src = "http://i.imgur.com/q1Jylmv.png";
- document.getElementById("speedpadred").src = "http://i.imgur.com/IoAJ7Tj.png";
- document.getElementById("speedpadblue").src = "http://i.imgur.com/Ycxcudc.png";
- document.getElementById("portal").src = "http://i.imgur.com/qDUaiqD.png";
- //Wait 1 second then redraw textures
- setTimeout(tagpro.api.redrawBackground,1000);
- // for follwoing function
- function componentToHex(c) {
- var hex = c.toString(16);
- return hex.length == 1 ? "0" + hex : hex;
- }
- // RGB to HEX function
- function rgbToHex(r, g, b) {
- return "#" + componentToHex(r) + componentToHex(g) + componentToHex(b);
- }
- // HSV to RGB function
- function hsvToRgb(h, s, v) {
- var r, g, b;
- var i;
- var f, p, q, t;
- h = Math.max(0, Math.min(360, h));
- s = Math.max(0, Math.min(100, s));
- v = Math.max(0, Math.min(100, v));
- s /= 100;
- v /= 100;
- if(s == 0) {
- // Achromatic (grey)
- r = g = b = v;
- return [Math.round(r * 255), Math.round(g * 255), Math.round(b * 255)];
- }
- h /= 60; // sector 0 to 5
- i = Math.floor(h);
- f = h - i; // factorial part of h
- p = v * (1 - s);
- q = v * (1 - s * f);
- t = v * (1 - s * (1 - f));
- switch(i) {
- case 0:
- r = v;
- g = t;
- b = p;
- break;
- case 1:
- r = q;
- g = v;
- b = p;
- break;
- case 2:
- r = p;
- g = v;
- b = t;
- break;
- case 3:
- r = p;
- g = q;
- b = v;
- break;
- case 4:
- r = t;
- g = p;
- b = v;
- break;
- default: // case 5:
- r = v;
- g = p;
- b = q;
- }
- return [Math.round(r * 255), Math.round(g * 255), Math.round(b * 255)];
- }
- // Now we draw...
- if (tagpro.events.drawPlayer) {return;}
- tagpro.events.register({
- drawPlayer: function(player, context, drawPos, TILESIZE) {
- // Draw transparent inside
- context.save();
- context.globalAlpha = 0.7; // Here is transparency
- if (player.team == 1)
- context.drawImage(redInside2, 0, 0, 40, 40, drawPos.x, drawPos.y, 40 / tagpro.zoom, 40 / tagpro.zoom);
- if (player.team == 2)
- context.drawImage(blueInside2, 0, 0, 40, 40, drawPos.x, drawPos.y, 40 / tagpro.zoom, 40 / tagpro.zoom);
- context.restore();
- // Draw pixel perfect rolling bomb
- if (player.bomb && Math.round(Math.random() * 4) == 1) {
- context.fillStyle = "rgba(255, 255, 0, .60)";
- context.beginPath();
- context.arc(drawPos.x + (TILESIZE / 2) * (1 / tagpro.zoom), drawPos.y + (TILESIZE / 2) * (1 / tagpro.zoom), 17 * (1 / tagpro.zoom), 0, Math.PI*2, true);
- context.closePath();
- context.fill();
- };
- // Draw pixel perfect tagpro
- if (player.tagpro) {
- var tagpro360 = Math.round((new Date).getTime()/1000*360) % 120 ;
- if (tagpro360 >= 60)
- tagpro360 = 120 - tagpro360 ;
- if (player.team == 1)
- tagpro360 = tagpro360 + 60 ;
- if (player.team == 2)
- tagpro360 = tagpro360 + 120 ;
- var tagproRGB = hsvToRgb(tagpro360, 100, 100) ;
- var tagproHex = rgbToHex(tagproRGB[0],tagproRGB[1],tagproRGB[2]) ;
- context.strokeStyle = tagproHex ;
- var tagproString = tagproRGB.toString() ;
- context.fillStyle = "rgba(" + tagproString + ", .00)";
- context.lineWidth = 2 * (1 / tagpro.zoom);
- context.beginPath();
- context.arc(drawPos.x + (TILESIZE / 2) * (1 / tagpro.zoom), drawPos.y + (TILESIZE / 2) * (1 / tagpro.zoom), 16 * (1 / tagpro.zoom), 0, Math.PI*2, true);
- context.closePath();
- if (!player.bomb)
- context.fill();
- context.stroke();
- };
- // Draw muscle cup lighting
- context.save();
- context.globalAlpha = 0.7; // Here is transparency
- context.drawImage(Lighting2, 0, 0, 40, 40, drawPos.x, drawPos.y, 40 / tagpro.zoom, 40 / tagpro.zoom);
- context.restore();
- // Draw rotating eyes and mouth
- context.save();
- context.globalAlpha = 1; // Here is transparency
- context.translate(drawPos.x + (TILESIZE / 2) * (1 / tagpro.zoom), drawPos.y + (TILESIZE / 2) * (1 / tagpro.zoom));
- context.rotate(player.angle);
- context.translate(-drawPos.x - (TILESIZE / 2) * (1 / tagpro.zoom), -drawPos.y - (TILESIZE / 2) * (1 / tagpro.zoom));
- if (player.team == 1)
- context.drawImage(EyesAndMouthRed, 0, 0, 40, 40, drawPos.x, drawPos.y, 40 / tagpro.zoom, 40 / tagpro.zoom);
- if (player.team == 2)
- context.drawImage(EyesAndMouthBlue, 0, 0, 40, 40, drawPos.x, drawPos.y, 40 / tagpro.zoom, 40 / tagpro.zoom);
- context.restore();
- // Draw border
- context.save();
- context.globalAlpha = 1; // Here is transparency
- context.drawImage(Border2, 0, 0, 40, 40, drawPos.x, drawPos.y, 40 / tagpro.zoom, 40 / tagpro.zoom);
- context.restore();
- }
- });
- });
- }
- var source = "("+ myRotatingBallsScript + ")()";
- var script = document.createElement('script');
- script.setAttribute("type", "application/javascript");
- script.textContent = source;
- document.body.appendChild(script);
Add Comment
Please, Sign In to add comment