Skip to content

Instantly share code, notes, and snippets.

@Poeticalto
Created April 17, 2020 23:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Poeticalto/ff2cea79d4ca0d7e02067e85b73667b9 to your computer and use it in GitHub Desktop.
Save Poeticalto/ff2cea79d4ca0d7e02067e85b73667b9 to your computer and use it in GitHub Desktop.
// ==UserScript==
// @name Jerseys Testing Script
// @author Poeticalto
// @namespace https://poeticalto.github.io/
// @supportURL https://www.reddit.com/message/compose/?to=Poeticalto
// @include *://*.koalabeast.com/game*
// @description Testing script for jerseys compatible with comp stats script
// @version 0.0001
// ==/UserScript==
console.log(GM_info.script.name + ' active (Version: ' + GM_info.script.version + ')');
// Start Script (Group functions)
tagpro.ready(function() {
// only put the imgur ID here. Ex: https://i.imgur.com/zDLs2gc.png becomes zDLs2gc
// if no jersey, put "none"
// red jersey
var red = "zDLs2gc";
// blue jersey
var blue = "75YFH0n";
// transparency of the jersey on the ball, 0 is fully transparent, 1 is fully opaque
var redJerseyTransparency = 1;
var blueJerseyTransparency = 1;
// transparency of the ball under the jersey, 0 is fully transparent, 1 is fully opaque
var redBallTransparency = 1;
var blueBallTransparency = 1;
var jersey = [red === "none" ? false : red, blue === "none" ? false : blue, redBallTransparency, blueBallTransparency, redJerseyTransparency, blueJerseyTransparency]; // set an array for jersey data for easy processing
if (jersey[0] || jersey[1]) { // If either team has jerseys, get the jersey image
var tr = tagpro.renderer,
oldUPSP = tr.updatePlayerSpritePosition;
tr.createJersey = function(player) {
if (!jersey[player.team - 1]) { // make empty container if one team doesn't have a jersey
if (player.sprites.jersey) player.sprites.ball.removeChild(player.sprites.jersey);
player.sprites.jersey = new PIXI.DisplayObjectContainer();
player.sprites.jersey.team = player.team;
player.sprites.ball.addChildAt(player.sprites.jersey, 1);
}
else { // make container for jersey
if (player.sprites.jersey) {
player.sprites.ball.removeChild(player.sprites.jersey);
}
player.sprites.jersey = new PIXI.Sprite(PIXI.Texture.fromImage("https://i.imgur.com/" + jersey[player.team - 1] + ".png"));
player.sprites.jersey.team = player.team;
player.sprites.ball.addChildAt(player.sprites.jersey, 1); //add on top of ball, below other stuff
player.sprites.jersey.anchor.x = 0.5;
player.sprites.jersey.anchor.y = 0.5;
player.sprites.jersey.x = 20;
player.sprites.jersey.y = 20;
if (jersey[player.team + 1] < 1 && jersey[player.team + 1] >= 0) { // set transparency value for actual ball
player.sprites.actualBall.alpha = jersey[player.team + 1];
}
else { // reset
player.sprites.actualBall.alpha = 1;
}
if (jersey[player.team + 3] < 1 && jersey[player.team + 3] >= 0) { // set transparency value for jersey
player.sprites.jersey.alpha = jersey[player.team + 3];
}
else { // reset
player.sprites.jersey.alpha = 1;
}
}
};
tr.updatePlayerSpritePosition = function(player) {
if (!player.sprites.jersey) {
tr.createJersey(player);
}
if (player.sprites.jersey.team !== player.team) {
tr.createJersey(player);
}
var index = player.sprites.ball.getChildIndex(player.sprites.actualBall) + 1;
if (index !== player.sprites.ball.getChildIndex(player.sprites.jersey)) {
player.sprites.ball.setChildIndex(player.sprites.jersey, index);
}
player.sprites.jersey.rotation = player.angle;
oldUPSP(player);
};
}
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment