// ==UserScript==
// @name TagPro Highlight Own Ball
// @version 1.1
// @description Highlights your own ball (optionally only after spawning)
// @author Ko
// @include http://tagpro-*.koalabeast.com:*
// @include http://tagpro-*.koalabeast.com:*
// @include http://tangent.jukejuice.com:*
// @include http://tagpro-*.koalabeast.com/game
// @include http://tagpro-*.koalabeast.com/game
// @include http://tangent.jukejuice.com/game
// @include http://*.newcompte.fr:*
// @license MIT
// @namespace https://greasyfork.org/users/152992
// ==/UserScript==
////////////////////////////////////////////////////////////////////////////////////////////
// ### --- OPTIONS --- ### //
//////////////////////////////////////////////////////////////////////////////////////// //
// //
// This is the time (seconds) that the highlight should // //
// be shown on the ball *after* respawning. Setting this // //
// at 0 will make your ball highlighted forever. // //
const time = 0 ; // //
// //
// Color of the highlight (seperate for red and blue balls) // //
// All colors on this website are supported: // //
// https://www.w3schools.com/colors/colors_hex.asp // //
// Don't forget the "quotes" // //
// If you do this wrong, the highlight will be black. Ugh. // //
const red_color = "lightpink" ; // //
const blue_color = "lightblue" ; // //
// //
// You can also use hexadecimal values for colors. Example: // //
// const red_color = 0xff0000; // //
// //
// The opacity of the highlight, between 0 and 1. // //
// If you choose 1, the real ball will be invisble, // //
// and only the color of the highlight will be visible. // //
const alpha = 0.6 ; // //
// //
// Want to highlight the ball you are spectating too? // //
// Change the next option to false ; // //
const hide_while_spectating = true ; // //
// //
//////////////////////////////////////////////////////////////////////////////////////// //
// ### --- END OF OPTIONS --- ### //
////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////
// SCROLL FURTHER AT YOUR OWN RISK! //
//////////////////////////////////////
tagpro.ready(function(){
var highlight = new PIXI.Graphics();
function updateHighlight(attempt=0){
// This function resets the color and ball to place the highlight on.
// Usefull when switching teams, or looking at another ball while spectating.
// 'you' could be your ball, OR the ball you are currently spectating.
var you = tagpro.players[ tagpro.playerId ];
if (!you || !you.sprites) return setTimeout(()=>updateHighlight(attempt+1),50);
if (attempt > 60) return console.warn('TagPro Highlight Own Ball: Something went wrong. I can\'t show a highlight at the moment!');
let color;
if (you.team == 1) color = colors[red_color.toLowerCase()] || red_color;
if (you.team == 2) color = colors[blue_color.toLowerCase()] || blue_color;
highlight.beginFill( color , alpha ).drawCircle(20,20,19);
// Adding the highlight to a ball,
// will remove it from the previous one (if any)
you.sprites.ball.addChild(highlight);
}
if (tagpro.playerId) updateHighlight();
tagpro.socket.on('id',updateHighlight);
var timeout;
if (time) {
tagpro.socket.on('p',function(p){
p = p.u || p;
for ( var player of p ) if (player.id == tagpro.playerId) {
if (player.dead == false) {
highlight.visible = true;
clearTimeout(timeout);
timeout = setTimeout(()=> highlight.visible = false, time*1000 );
}
if (player.team) updateHighlight();
}
});
}
if (hide_while_spectating) {
highlight.alpha = !tagpro.spectator && alpha;
tagpro.socket.on('spectator', function(spectator) {
highlight.alpha = !spectator && alpha;
updateHighlight();
});
}
});
// List of color names
var colors = {"aliceblue":0xf0f8ff,
"antiquewhite":0xfaebd7,
"aqua":0x00ffff,
"aquamarine":0x7fffd4,
"azure":0xf0ffff,
"beige":0xf5f5dc,
"bisque":0xffe4c4,
"black":0x000000,
"blanchedalmond":0xffebcd,
"blue":0x0000ff,
"blueviolet":0x8a2be2,
"brown":0xa52a2a,
"burlywood":0xdeb887,
"cadetblue":0x5f9ea0,
"chartreuse":0x7fff00,
"chocolate":0xd2691e,
"coral":0xff7f50,
"cornflowerblue":0x6495ed,
"cornsilk":0xfff8dc,
"crimson":0xdc143c,
"cyan":0x00ffff,
"darkblue":0x00008b,
"darkcyan":0x008b8b,
"darkgoldenrod":0xb8860b,
"darkgray":0xa9a9a9,
"darkgrey":0xa9a9a9,
"darkgreen":0x006400,
"darkkhaki":0xbdb76b,
"darkmagenta":0x8b008b,
"darkolivegreen":0x556b2f,
"darkorange":0xff8c00,
"darkorchid":0x9932cc,
"darkred":0x8b0000,
"darksalmon":0xe9967a,
"darkseagreen":0x8fbc8f,
"darkslateblue":0x483d8b,
"darkslategray":0x2f4f4f,
"darkslategrey":0x2f4f4f,
"darkturquoise":0x00ced1,
"darkviolet":0x9400d3,
"deeppink":0xff1493,
"deepskyblue":0x00bfff,
"dimgray":0x696969,
"dimgrey":0x696969,
"dodgerblue":0x1e90ff,
"firebrick":0xb22222,
"floralwhite":0xfffaf0,
"forestgreen":0x228b22,
"fuchsia":0xff00ff,
"gainsboro":0xdcdcdc,
"ghostwhite":0xf8f8ff,
"gold":0xffd700,
"goldenrod":0xdaa520,
"gray":0x808080,
"grey":0x808080,
"green":0x008000,
"greenyellow":0xadff2f,
"honeydew":0xf0fff0,
"hotpink":0xff69b4,
"indianred":0xcd5c5c,
"indigo":0x4b0082,
"ivory":0xfffff0,
"khaki":0xf0e68c,
"lavender":0xe6e6fa,
"lavenderblush":0xfff0f5,
"lawngreen":0x7cfc00,
"lemonchiffon":0xfffacd,
"lightblue":0xadd8e6,
"lightcoral":0xf08080,
"lightcyan":0xe0ffff,
"lightgoldenrodyellow":0xfafad2,
"lightgray":0xd3d3d3,
"lightgrey":0xd3d3d3,
"lightgreen":0x90ee90,
"lightpink":0xffb6c1,
"lightsalmon":0xffa07a,
"lightseagreen":0x20b2aa,
"lightskyblue":0x87cefa,
"lightslategray":0x778899,
"lightslategrey":0x778899,
"lightsteelblue":0xb0c4de,
"lightyellow":0xffffe0,
"lime":0x00ff00,
"limegreen":0x32cd32,
"linen":0xfaf0e6,
"magenta":0xff00ff,
"maroon":0x800000,
"mediumaquamarine":0x66cdaa,
"mediumblue":0x0000cd,
"mediumorchid":0xba55d3,
"mediumpurple":0x9370db,
"mediumseagreen":0x3cb371,
"mediumslateblue":0x7b68ee,
"mediumspringgreen":0x00fa9a,
"mediumturquoise":0x48d1cc,
"mediumvioletred":0xc71585,
"midnightblue":0x191970,
"mintcream":0xf5fffa,
"mistyrose":0xffe4e1,
"moccasin":0xffe4b5,
"navajowhite":0xffdead,
"navy":0x000080,
"oldlace":0xfdf5e6,
"olive":0x808000,
"olivedrab":0x6b8e23,
"orange":0xffa500,
"orangered":0xff4500,
"orchid":0xda70d6,
"palegoldenrod":0xeee8aa,
"palegreen":0x98fb98,
"paleturquoise":0xafeeee,
"palevioletred":0xdb7093,
"papayawhip":0xffefd5,
"peachpuff":0xffdab9,
"peru":0xcd853f,
"pink":0xffc0cb,
"plum":0xdda0dd,
"powderblue":0xb0e0e6,
"purple":0x800080,
"rebeccapurple":0x663399,
"red":0xff0000,
"rosybrown":0xbc8f8f,
"royalblue":0x4169e1,
"saddlebrown":0x8b4513,
"salmon":0xfa8072,
"sandybrown":0xf4a460,
"seagreen":0x2e8b57,
"seashell":0xfff5ee,
"sienna":0xa0522d,
"silver":0xc0c0c0,
"skyblue":0x87ceeb,
"slateblue":0x6a5acd,
"slategray":0x708090,
"slategrey":0x708090,
"snow":0xfffafa,
"springgreen":0x00ff7f,
"steelblue":0x4682b4,
"tan":0xd2b48c,
"teal":0x008080,
"thistle":0xd8bfd8,
"tomato":0xff6347,
"turquoise":0x40e0d0,
"violet":0xee82ee,
"wheat":0xf5deb3,
"white":0xffffff,
"whitesmoke":0xf5f5f5,
"yellow":0xffff00,
"yellowgreen":0x9acd32};