Last active
November 2, 2017 20:50
Revisions
-
nabbynz revised this gist
Nov 2, 2017 . 1 changed file with 2 additions and 2 deletions.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,7 +1,7 @@ // ==UserScript== // @name Fireworks FTW // @description Shows some fireworks when you win a normal pub game (and/or the raptors) // @version 0.0.5 // @include http://tagpro-*.koalabeast.com:* // @include http://*.newcompte.fr:* // @updateURL https://gist.github.com/nabbynz/fcc6c8b663d46b800ec4216c6065c2e5/raw/Fireworks_FTW.user.js @@ -215,7 +215,7 @@ tagpro.ready(function() { } if (showGordons) { if (Math.abs(tagpro.score.r - tagpro.score.b) === 3) { //parade if we win 3:0 var interval = 100; for (var id=0; id<images.length; id++) { setTimeout(function(id) { -
nabbynz revised this gist
Nov 2, 2017 . 1 changed file with 22 additions and 21 deletions.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,7 +1,7 @@ // ==UserScript== // @name Fireworks FTW // @description Shows some fireworks when you win a normal pub game (and/or the raptors) // @version 0.0.4 // @include http://tagpro-*.koalabeast.com:* // @include http://*.newcompte.fr:* // @updateURL https://gist.github.com/nabbynz/fcc6c8b663d46b800ec4216c6065c2e5/raw/Fireworks_FTW.user.js @@ -17,7 +17,7 @@ if ($('script[src]').toArray().some(e => e.src.endsWith('easter-2017.js'))) retu // Options... var showFireworks = true; var showGordons = true; var fireworksCount = 5; //the total number of fireworks to show (Default: 5) var fireworksNumber = 100; //the number of particles per firework (Default: 100) var fireworksTime = 1; //the max number of seconds that the fireworks are on screen for at the end of the game (Default: 1) @@ -26,17 +26,15 @@ var fireworksColor = '#00ff00'; //only used if fireworksType is 'color' (Default tagpro.ready(function() { if (showGordons) { var images = []; images.push("https://i.imgur.com/ID2lhJS.png"); images.push("https://i.imgur.com/FzoxvLn.png"); images.push("https://i.imgur.com/Ktg8C2D.png"); images.push("https://i.imgur.com/FgWDO4X.png"); images.push("https://i.imgur.com/7ukfF4H.png"); images.push("https://i.imgur.com/FG1pxpS.png"); const raptorSprites = images.map(function(v, i) { var raptorSprite = new PIXI.Sprite.fromImage(v); @@ -48,7 +46,7 @@ tagpro.ready(function() { return raptorSprite; }); var initRaptor = function(id, speed=5) { var raptorSprite = raptorSprites[id]; if (raptorSprite.visible) { @@ -62,18 +60,20 @@ tagpro.ready(function() { raptorSprite.y = tagpro.renderer.renderer.height - raptorSprite.height; raptorSprite.visible = true; var moveRaptor = function(speed) { raptorSprite.x -= speed; if (raptorSprite.x < -raptorSprite.width) { raptorSprite.visible = false; return; } setTimeout(function() { moveRaptor(speed); }, 1000 / 60); }; moveRaptor(speed); }; } @@ -147,7 +147,7 @@ tagpro.ready(function() { tr.createFireworks = function (x, y) { if (!tr.options.disableParticles) { var emitter = new PIXI.particles.Emitter( tr.layers.foreground, [tr.particleTexture, tr.particleFireTexture], tagpro.particleDefinitions.firework @@ -209,18 +209,19 @@ tagpro.ready(function() { tagpro.socket.on("end", function(data) { if ( (data.winner === 'red' && tagpro.players[tagpro.playerId].team === 1) || (data.winner === 'blue' && tagpro.players[tagpro.playerId].team === 2) ) { if (showFireworks) { initFireworks(); } if (showGordons) { if (tagpro.score.r - tagpro.score.b === 3) { //parade if we win 3:0 var interval = 100; for (var id=0; id<images.length; id++) { setTimeout(function(id) { initRaptor(id, 10); }, interval, id); interval += 500; } } else { -
nabbynz revised this gist
Jun 5, 2017 . 1 changed file with 0 additions and 1 deletion.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -208,7 +208,6 @@ tagpro.ready(function() { } tagpro.socket.on("end", function(data) { if ( (data.winner === 'red' && tagpro.players[tagpro.playerId].team === 1) || (data.winner === 'blue' && tagpro.players[tagpro.playerId].team === 2) ) { if (showFireworks) { initFireworks(); -
nabbynz revised this gist
Jun 5, 2017 . 1 changed file with 76 additions and 60 deletions.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,8 +1,9 @@ // ==UserScript== // @name Fireworks FTW // @description Shows some fireworks when you win a normal pub game (and/or the raptors) // @version 0.0.3 // @include http://tagpro-*.koalabeast.com:* // @include http://*.newcompte.fr:* // @updateURL https://gist.github.com/nabbynz/fcc6c8b663d46b800ec4216c6065c2e5/raw/Fireworks_FTW.user.js // @downloadURL https://gist.github.com/nabbynz/fcc6c8b663d46b800ec4216c6065c2e5/raw/Fireworks_FTW.user.js // @grant none @@ -11,12 +12,17 @@ console.log('START: ' + GM_info.script.name + ' (v' + GM_info.script.version + ' by ' + GM_info.script.author + ')'); if ($('script[src]').toArray().some(e => e.src.endsWith('easter-2017.js'))) return; //don't run if eggball (snaps) // Options... var showFireworks = true; var showRaptors = false; var fireworksCount = 5; //the total number of fireworks to show (Default: 5) var fireworksNumber = 100; //the number of particles per firework (Default: 100) var fireworksTime = 1; //the max number of seconds that the fireworks are on screen for at the end of the game (Default: 1) var fireworksType = 'rainbow'; //can be either: 'rainbow' (multi-colors) or 'team' (winning red/blue team color) or 'color' (uses fireworksColor below) var fireworksColor = '#00ff00'; //only used if fireworksType is 'color' (Default: '#00ff00' - green). tagpro.ready(function() { @@ -25,7 +31,7 @@ tagpro.ready(function() { //add the 17 original raptors by rohlin... for (var i=1; i<=17; i++) { images.push("http://static.koalabeast.com/events/easter-2017/images/raptor" + i + ".png"); //http://static.koalabeast.com/ } //you can also add other images to the array like this... @@ -41,6 +47,34 @@ tagpro.ready(function() { return raptorSprite; }); var initRaptor = function(id) { var raptorSprite = raptorSprites[id]; if (raptorSprite.visible) { return; } tagpro.renderer.layers.ui.removeChild(raptorSprite); tagpro.renderer.layers.ui.addChild(raptorSprite); raptorSprite.x = tagpro.renderer.renderer.width; raptorSprite.y = tagpro.renderer.renderer.height - raptorSprite.height; raptorSprite.visible = true; var moveRaptor = function() { raptorSprite.x -= 5; if (raptorSprite.x < -raptorSprite.width) { raptorSprite.visible = false; return; } setTimeout(moveRaptor, 1000 / 60); }; moveRaptor(); }; } if (showFireworks) { @@ -52,7 +86,7 @@ tagpro.ready(function() { }, "scale": { "start": 0.01, "end": 0.33, "minimumScaleMultiplier": 0.75 }, "color": { @@ -61,7 +95,7 @@ tagpro.ready(function() { }, "speed": { "start": 100, "end": 750, "minimumSpeedMultiplier": 1 }, "acceleration": { @@ -101,7 +135,7 @@ tagpro.ready(function() { } ], "frequency": 0.005, "emitterLifetime": 1, "maxParticles": fireworksNumber, "pos": { "x": 0, @@ -115,15 +149,15 @@ tagpro.ready(function() { if (!tr.options.disableParticles) { var emitter = new cloudkid.Emitter( tr.layers.foreground, [tr.particleTexture, tr.particleFireTexture], tagpro.particleDefinitions.firework ); emitter.updateSpawnPos(x, y); tr.emitters.push(emitter); } }; var rainbow = function(numOfSteps, step) { //From: https://stackoverflow.com/questions/1484506/random-color-generator-in-javascript var r, g, b; var h = step / numOfSteps; @@ -140,65 +174,47 @@ tagpro.ready(function() { } var c = "#" + ("00" + (~ ~(r * 255)).toString(16)).slice(-2) + ("00" + (~ ~(g * 255)).toString(16)).slice(-2) + ("00" + (~ ~(b * 255)).toString(16)).slice(-2); return (c); }; var initFireworks = function() { let vpWidth = $('#viewport').width(); let vpHeight = $('#viewport').height(); let startX = tagpro.players[tagpro.playerId].x - vpWidth / 2; let startY = tagpro.players[tagpro.playerId].y + vpHeight / 2; let fwPos = vpWidth / (fireworksCount+1); for (var i=1; i<=fireworksCount; i++) { let x = startX + fwPos * i; let y = startY; let c1, c2; if (fireworksType === 'team') { c1 = tagpro.players[tagpro.playerId].team === 1 ? '#ffffff' : '#ffffff'; c2 = tagpro.players[tagpro.playerId].team === 1 ? '#ff0000' : '#0000ff'; } else if (fireworksType === 'color') { c1 = '#ffffff'; c2 = fireworksColor; } else { c1 = rainbow(fireworksCount, i); c2 = rainbow(fireworksCount, i+1); } tagpro.particleDefinitions.firework.color.start = c1; tagpro.particleDefinitions.firework.color.end = c2; tagpro.particleDefinitions.firework.emitterLifetime = fireworksTime; tr.createFireworks(x, y); } }; } tagpro.socket.on("end", function(data) { console.log(tr.updatePlayerSpritePosition); if ( (data.winner === 'red' && tagpro.players[tagpro.playerId].team === 1) || (data.winner === 'blue' && tagpro.players[tagpro.playerId].team === 2) ) { if (showFireworks) { initFireworks(); } if (showRaptors) { if (tagpro.score.r - tagpro.score.b === 3) { //parade if we win 3:0 var interval = 100; for (var id=0; id<images.length; id++) { -
nabbynz revised this gist
Jun 3, 2017 . 1 changed file with 163 additions and 157 deletions.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,7 +1,7 @@ // ==UserScript== // @name Fireworks FTW // @description Shows some fireworks when you win (and/or the raptors) // @version 0.0.2 // @include http://tagpro-*.koalabeast.com:* // @updateURL https://gist.github.com/nabbynz/fcc6c8b663d46b800ec4216c6065c2e5/raw/Fireworks_FTW.user.js // @downloadURL https://gist.github.com/nabbynz/fcc6c8b663d46b800ec4216c6065c2e5/raw/Fireworks_FTW.user.js @@ -14,186 +14,191 @@ console.log('START: ' + GM_info.script.name + ' (v' + GM_info.script.version + ' // Options... var showRaptors = false; var showFireworks = true; var fireworksCount = 5; //the total number of fireworks to show (Default: 5) var fireworksNumber = 100; //the number of particles per firework (Default: 100) var fireworksTime = 1; //the max number of seconds that the fireworks are on screen for at the end of the game (Default: 1) tagpro.ready(function() { if (showRaptors) { var images = []; //add the 17 original raptors by rohlin... for (var i=1; i<=17; i++) { images.push("events/easter-2017/images/raptor" + i + ".png"); //http://static.koalabeast.com/ } //you can also add other images to the array like this... //images.push("http://i.imgur.com/6h2Fna8.png"); const raptorSprites = images.map(function(v, i) { var raptorSprite = new PIXI.Sprite.fromImage(v); raptorSprite.visible = false; tagpro.renderer.layers.ui.addChild(raptorSprite); return raptorSprite; }); } if (showFireworks) { var tr = tagpro.renderer; tagpro.particleDefinitions.firework = { "alpha": { "start": 0.28, "end": 0.74 }, "scale": { "start": 0.01, "end": 0.57, "minimumScaleMultiplier": 0.75 }, "color": { "start": "#2b0aff", "end": "#f78d2a" }, "speed": { "start": 100, "end": 1000, "minimumSpeedMultiplier": 1 }, "acceleration": { "x": 0, "y": 0 }, "maxSpeed": 0, "startRotation": { "min": 180, "max": 360 }, "noRotation": false, "rotationSpeed": { "min": 0, "max": 200 }, "lifetime": { "min": 0.5, "max": 1 }, "blendMode": "normal", "ease": [ { "s": 0, "cp": 0.329, "e": 0.548 }, { "s": 0.548, "cp": 0.767, "e": 0.876 }, { "s": 0.876, "cp": 0.985, "e": 1 } ], "frequency": 0.005, "emitterLifetime": 0.25, "maxParticles": fireworksNumber, "pos": { "x": 0, "y": 0 }, "addAtBack": true, "spawnType": "point" }; tr.createFireworks = function (x, y) { if (!tr.options.disableParticles) { var emitter = new cloudkid.Emitter( tr.layers.foreground, [tr.particleTexture], tagpro.particleDefinitions.firework ); emitter.updateSpawnPos(x, y); tr.emitters.push(emitter); } }; function rainbow(numOfSteps, step) { //From: https://stackoverflow.com/questions/1484506/random-color-generator-in-javascript var r, g, b; var h = step / numOfSteps; var i = ~~(h * 6); var f = h * 6 - i; var q = 1 - f; switch(i % 6){ case 0: r = 1; g = f; b = 0; break; case 1: r = q; g = 1; b = 0; break; case 2: r = 0; g = 1; b = f; break; case 3: r = 0; g = q; b = 1; break; case 4: r = f; g = 0; b = 1; break; case 5: r = 1; g = 0; b = q; break; } var c = "#" + ("00" + (~ ~(r * 255)).toString(16)).slice(-2) + ("00" + (~ ~(g * 255)).toString(16)).slice(-2) + ("00" + (~ ~(b * 255)).toString(16)).slice(-2); return (c); } } tagpro.socket.on("end", function(data) { if ( (data.winner === 'red' && tagpro.players[tagpro.playerId].team === 1) || (data.winner === 'blue' && tagpro.players[tagpro.playerId].team === 2) ) { if (showFireworks) { var initFireworks = function() { let vpWidth = $('#viewport').width(); let vpHeight = $('#viewport').height(); let startX = tagpro.players[tagpro.playerId].x - vpWidth / 2; let startY = tagpro.players[tagpro.playerId].y + vpHeight / 2; let fwPos = vpWidth / (fireworksCount+1); for (var i=1; i<=fireworksCount; i++) { let x = startX + fwPos * i; let y = startY; let c1 = rainbow(fireworksCount, i); let c2 = rainbow(fireworksCount, i+1); tagpro.particleDefinitions.firework.color.start = c1; tagpro.particleDefinitions.firework.color.end = c2; tagpro.particleDefinitions.firework.emitterLifetime = Math.random() * fireworksTime + 0.1; tr.createFireworks(x, y); } }; initFireworks(); } if (showRaptors) { var initRaptor = function(id) { var raptorSprite = raptorSprites[id]; if (raptorSprite.visible) { return; } tagpro.renderer.layers.ui.removeChild(raptorSprite); tagpro.renderer.layers.ui.addChild(raptorSprite); raptorSprite.x = tagpro.renderer.renderer.width; raptorSprite.y = tagpro.renderer.renderer.height - raptorSprite.height; raptorSprite.visible = true; var moveRaptor = function() { raptorSprite.x -= 5; if (raptorSprite.x < -raptorSprite.width) { raptorSprite.visible = false; return; } setTimeout(moveRaptor, 1000 / 60); }; moveRaptor(); }; if (tagpro.score.r - tagpro.score.b === 3) { //parade if we win 3:0 var interval = 100; for (var id=0; id<images.length; id++) { @@ -207,6 +212,7 @@ tagpro.ready(function() { initRaptor(Math.floor(Math.random()*images.length-1)+1); } } } }); -
nabbynz revised this gist
Jun 3, 2017 . 1 changed file with 0 additions and 1 deletion.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -3,7 +3,6 @@ // @description Shows some fireworks (and/or the raptors) when you win // @version 0.0.1 // @include http://tagpro-*.koalabeast.com:* // @updateURL https://gist.github.com/nabbynz/fcc6c8b663d46b800ec4216c6065c2e5/raw/Fireworks_FTW.user.js // @downloadURL https://gist.github.com/nabbynz/fcc6c8b663d46b800ec4216c6065c2e5/raw/Fireworks_FTW.user.js // @grant none -
nabbynz revised this gist
Jun 3, 2017 . 1 changed file with 3 additions and 0 deletions.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -4,6 +4,9 @@ // @version 0.0.1 // @include http://tagpro-*.koalabeast.com:* // @include http://*.newcompte.fr:* // @updateURL https://gist.github.com/nabbynz/fcc6c8b663d46b800ec4216c6065c2e5/raw/Fireworks_FTW.user.js // @downloadURL https://gist.github.com/nabbynz/fcc6c8b663d46b800ec4216c6065c2e5/raw/Fireworks_FTW.user.js // @grant none // @author nabby // ==/UserScript== -
nabbynz created this gist
Jun 3, 2017 .There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,211 @@ // ==UserScript== // @name Fireworks FTW // @description Shows some fireworks (and/or the raptors) when you win // @version 0.0.1 // @include http://tagpro-*.koalabeast.com:* // @include http://*.newcompte.fr:* // @author nabby // ==/UserScript== console.log('START: ' + GM_info.script.name + ' (v' + GM_info.script.version + ' by ' + GM_info.script.author + ')'); // Options... var showRaptors = false; var showFireworks = true; var fireworksCount = 5; //number of fireworks to show (Default: 5) tagpro.ready(function() { var tr = tagpro.renderer; var images = []; //add the 17 original raptors by rohlin... for (var i=1; i<=17; i++) { images.push("events/easter-2017/images/raptor" + i + ".png"); //http://static.koalabeast.com/ } //you can also add other images to the array like this... //images.push("http://i.imgur.com/6h2Fna8.png"); const raptorSprites = images.map(function(v, i) { var raptorSprite = new PIXI.Sprite.fromImage(v); raptorSprite.visible = false; tagpro.renderer.layers.ui.addChild(raptorSprite); return raptorSprite; }); tagpro.particleDefinitions.firework = { "alpha": { "start": 0.28, "end": 0.74 }, "scale": { "start": 0.01, "end": 0.57, "minimumScaleMultiplier": 0.75 }, "color": { "start": "#2b0aff", "end": "#f78d2a" }, "speed": { "start": 100, "end": 1000, "minimumSpeedMultiplier": 1 }, "acceleration": { "x": 0, "y": 0 }, "maxSpeed": 0, "startRotation": { "min": 180, "max": 360 }, "noRotation": false, "rotationSpeed": { "min": 0, "max": 200 }, "lifetime": { "min": 0.5, "max": 1 }, "blendMode": "normal", "ease": [ { "s": 0, "cp": 0.329, "e": 0.548 }, { "s": 0.548, "cp": 0.767, "e": 0.876 }, { "s": 0.876, "cp": 0.985, "e": 1 } ], "frequency": 0.005, "emitterLifetime": 0.25, "maxParticles": 200, "pos": { "x": 0, "y": 0 }, "addAtBack": true, "spawnType": "point" }; tr.createFireworks = function (x, y) { if (!tr.options.disableParticles) { var emitter = new cloudkid.Emitter( tr.layers.foreground, [tr.particleTexture], tagpro.particleDefinitions.firework ); emitter.updateSpawnPos(x, y); tr.emitters.push(emitter); } }; function rainbow(numOfSteps, step) { //From: https://stackoverflow.com/questions/1484506/random-color-generator-in-javascript var r, g, b; var h = step / numOfSteps; var i = ~~(h * 6); var f = h * 6 - i; var q = 1 - f; switch(i % 6){ case 0: r = 1; g = f; b = 0; break; case 1: r = q; g = 1; b = 0; break; case 2: r = 0; g = 1; b = f; break; case 3: r = 0; g = q; b = 1; break; case 4: r = f; g = 0; b = 1; break; case 5: r = 1; g = 0; b = q; break; } var c = "#" + ("00" + (~ ~(r * 255)).toString(16)).slice(-2) + ("00" + (~ ~(g * 255)).toString(16)).slice(-2) + ("00" + (~ ~(b * 255)).toString(16)).slice(-2); return (c); } tagpro.socket.on("end", function(data) { if ( (data.winner === 'red' && tagpro.players[tagpro.playerId].team === 1) || (data.winner === 'blue' && tagpro.players[tagpro.playerId].team === 2) ) { var initRaptor = function(id) { var raptorSprite = raptorSprites[id]; if (raptorSprite.visible) { return; } tagpro.renderer.layers.ui.removeChild(raptorSprite); tagpro.renderer.layers.ui.addChild(raptorSprite); raptorSprite.x = tagpro.renderer.renderer.width; raptorSprite.y = tagpro.renderer.renderer.height - raptorSprite.height; raptorSprite.visible = true; var moveRaptor = function() { raptorSprite.x -= 5; if (raptorSprite.x < -raptorSprite.width) { raptorSprite.visible = false; return; } setTimeout(moveRaptor, 1000 / 60); }; moveRaptor(); }; var initFireworks = function() { let vpWidth = $('#viewport').width(); let vpHeight = $('#viewport').height(); let startX = tagpro.players[tagpro.playerId].x - vpWidth / 2; let startY = tagpro.players[tagpro.playerId].y + vpHeight / 2; let fwPos = vpWidth / (fireworksCount+1); for (var i=1; i<=fireworksCount; i++) { let x = startX + fwPos * i; let y = startY; let c1 = rainbow(fireworksCount, i); let c2 = rainbow(fireworksCount, i+1); tagpro.particleDefinitions.firework.color.start = c1; tagpro.particleDefinitions.firework.color.end = c2; tagpro.particleDefinitions.firework.emitterLifetime = Math.random() * 4 + 0.1; tr.createFireworks(x, y); } }; if (showFireworks) { initFireworks(); } if (showRaptors) { if (tagpro.score.r - tagpro.score.b === 3) { //parade if we win 3:0 var interval = 100; for (var id=0; id<images.length; id++) { setTimeout(function(id) { initRaptor(id); }, interval, id); interval += 400; } } else { initRaptor(Math.floor(Math.random()*images.length-1)+1); } } } }); });