From 3cf288afdc06797d2ce538ccfb090f573ca5f25a Mon Sep 17 00:00:00 2001 From: nuno Date: Sat, 17 Dec 2016 16:32:12 +0000 Subject: [PATCH 1/8] bugfix --- js/Hex.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/Hex.js b/js/Hex.js index 64f917b0c..1705efdc2 100644 --- a/js/Hex.js +++ b/js/Hex.js @@ -32,7 +32,7 @@ function Hex(sideLength) { var dy = Math.sin(angle) * obj.magnitude; gdx -= dx; gdy += dy; - obj.magnitude /= 2 * this.dt; + obj.magnitude /= 2 * (this.dt+0.5); if (obj.magnitude < 1) { for (var i = 0; i < this.shakes.length; i++) { if (this.shakes[i] == obj) { From 939bce838bc0e0e1ac5adba8b0002bb101cf8b4b Mon Sep 17 00:00:00 2001 From: nuno Date: Sat, 17 Dec 2016 18:47:41 +0000 Subject: [PATCH 2/8] hex changes color when adrenalinemode --- js/Hex.js | 4 +++- js/checking.js | 6 +++++- js/comboTimer.js | 4 ++-- js/render.js | 6 +++++- 4 files changed, 15 insertions(+), 5 deletions(-) diff --git a/js/Hex.js b/js/Hex.js index 1705efdc2..1b92c1705 100644 --- a/js/Hex.js +++ b/js/Hex.js @@ -18,7 +18,9 @@ function Hex(sideLength) { this.ct = 0; this.lastCombo = this.ct - settings.comboTime; this.lastColorScored = "#000"; - this.comboTime = 1; + this.adrenalineMode = -1000; + this.adrenalineDuration = 1000; + this.combosToAdrenaline = 2; this.texts = []; this.lastRotate = Date.now(); for (var i = 0; i < this.sides; i++) { diff --git a/js/checking.js b/js/checking.js index 800013709..cebcbe8b7 100644 --- a/js/checking.js +++ b/js/checking.js @@ -65,12 +65,16 @@ function consolidateBlocks(hex,side,index){ // add scores var now = MainHex.ct; - if(now - hex.lastCombo < settings.comboTime ){ + if(now - hex.lastCombo < settings.comboTime && now - MainHex.adrenalineMode > MainHex.adrenalineDuration){ settings.comboTime = (1/settings.creationSpeedModifier) * (waveone.nextGen/16.666667) * 3; hex.comboMultiplier += 1; hex.lastCombo = now; var coords = findCenterOfBlocks(deletedBlocks); hex.texts.push(new Text(coords['x'],coords['y'],"x "+hex.comboMultiplier.toString(),"bold Q","#fff",fadeUpAndOut)); + if(hex.comboMultiplier >= MainHex.combosToAdrenaline){ + hex.adrenalineMode = now; + hex.comboMultiplier = 1; + } } else{ settings.comboTime = 240; diff --git a/js/comboTimer.js b/js/comboTimer.js index b514906bc..2fca89b9e 100644 --- a/js/comboTimer.js +++ b/js/comboTimer.js @@ -4,10 +4,10 @@ function drawTimer() { var rightVertexes = []; if(MainHex.ct - MainHex.lastCombo < settings.comboTime){ for(var i=0;i<6;i++){ - var done = (MainHex.ct -MainHex.lastCombo); + var done = (MainHex.ct - MainHex.lastCombo); if(done<(settings.comboTime)*(5-i)*(1/6)){ leftVertexes.push(calcSide(i,i+1,1,1)); - rightVertexes.push(calcSide(12-i,11-i,1,1)); + rightVertexes.push(calcSide(12-i,11-i,1,1)); } else{ leftVertexes.push(calcSide(i,i+1,1-((done*6)/settings.comboTime)%(1),1)); diff --git a/js/render.js b/js/render.js index 4c3a550fd..f3f500f74 100644 --- a/js/render.js +++ b/js/render.js @@ -1,5 +1,6 @@ function render() { var grey = '#bdc3c7'; + var red = '#ff93a5'; if (gameState === 0) { grey = "rgb(220, 223, 225)"; } @@ -11,7 +12,10 @@ function render() { op += 0.01; } ctx.globalAlpha = op; - drawPolygon(trueCanvas.width / 2 , trueCanvas.height / 2 , 6, (settings.rows * settings.blockHeight) * (2/Math.sqrt(3)) + settings.hexWidth, 30, grey, false,6); + if(MainHex.ct - MainHex.adrenalineMode < MainHex.adrenalineDuration) + drawPolygon(trueCanvas.width / 2 , trueCanvas.height / 2 , 6, (settings.rows * settings.blockHeight) * (2/Math.sqrt(3)) + settings.hexWidth, 30, red, false,6); + else + drawPolygon(trueCanvas.width / 2 , trueCanvas.height / 2 , 6, (settings.rows * settings.blockHeight) * (2/Math.sqrt(3)) + settings.hexWidth, 30, grey, false,6); drawTimer(); ctx.globalAlpha = 1; } From e50dac0e26905ce0e3119867f4b01f9b9c08fad5 Mon Sep 17 00:00:00 2001 From: nuno Date: Sat, 17 Dec 2016 20:15:56 +0000 Subject: [PATCH 3/8] finished --- js/Hex.js | 6 +++-- js/checking.js | 1 + js/main.js | 4 ++- js/wavegen.js | 70 ++++++++++++++++++++++++++++++++++++-------------- 4 files changed, 59 insertions(+), 22 deletions(-) diff --git a/js/Hex.js b/js/Hex.js index 1b92c1705..300752dea 100644 --- a/js/Hex.js +++ b/js/Hex.js @@ -19,8 +19,10 @@ function Hex(sideLength) { this.lastCombo = this.ct - settings.comboTime; this.lastColorScored = "#000"; this.adrenalineMode = -1000; - this.adrenalineDuration = 1000; - this.combosToAdrenaline = 2; + this.adrenalineDuration = 800; + this.combosToAdrenaline = 6; + this.adrenalineColor = 1; + this.adrenalineMultiplier = 2; this.texts = []; this.lastRotate = Date.now(); for (var i = 0; i < this.sides; i++) { diff --git a/js/checking.js b/js/checking.js index cebcbe8b7..6a647bb19 100644 --- a/js/checking.js +++ b/js/checking.js @@ -74,6 +74,7 @@ function consolidateBlocks(hex,side,index){ if(hex.comboMultiplier >= MainHex.combosToAdrenaline){ hex.adrenalineMode = now; hex.comboMultiplier = 1; + hex.adrenalineColor = randInt(0, colors.length); } } else{ diff --git a/js/main.js b/js/main.js index afc8515d6..223d0f0d3 100644 --- a/js/main.js +++ b/js/main.js @@ -183,7 +183,9 @@ function init(b) { } function addNewBlock(blocklane, color, iter, distFromHex, settled) { //last two are optional parameters - iter *= settings.speedModifier; + if(MainHex.ct - MainHex.adrenalineMode > MainHex.adrenalineDuration) + iter *= settings.speedModifier; + else iter *= settings.speedModifier*2; if (!history[MainHex.ct]) { history[MainHex.ct] = {}; } diff --git a/js/wavegen.js b/js/wavegen.js index a4e85ff77..42b2c7fda 100644 --- a/js/wavegen.js +++ b/js/wavegen.js @@ -24,23 +24,31 @@ function waveGen(hex) { this.hex = hex; this.difficulty = 1; this.dt = 0; + this.adrenalineMultiplier = 1; this.update = function() { this.currentFunction(); this.dt = (settings.platform == 'mobile' ? 14 : 16.6667) * MainHex.ct; this.computeDifficulty(); + if(MainHex.ct - MainHex.adrenalineMode > MainHex.adrenalineDuration){ + this.adrenalineMultiplier = 1; + }else this.adrenalineMultiplier = MainHex.adrenalineMultiplier; if ((this.dt - this.lastGen) * settings.creationSpeedModifier > this.nextGen) { if (this.nextGen > 600) { this.nextGen -= 11 * ((this.nextGen / 1300)) * settings.creationSpeedModifier; - } - } + }} }; this.randomGeneration = function() { - if (this.dt - this.lastGen > this.nextGen) { + if (this.dt - this.lastGen > this.nextGen / this.adrenalineMultiplier) { this.ct++; this.lastGen = this.dt; var fv = randInt(0, MainHex.sides); - addNewBlock(fv, colors[randInt(0, colors.length)], 1.6 + (this.difficulty / 15) * 3); + + if(MainHex.ct - MainHex.adrenalineMode > MainHex.adrenalineDuration) + addNewBlock(fv, colors[randInt(0, colors.length)], 1.6 + (this.difficulty / 15) * 3); + else + addNewBlock(fv, colors[MainHex.adrenalineColor], 1.6 + (this.difficulty / 15) * 3); + var lim = 5; if (this.ct > lim) { var nextPattern = randInt(0, 3 + 21); @@ -80,7 +88,7 @@ function waveGen(hex) { }; this.circleGeneration = function() { - if (this.dt - this.lastGen > this.nextGen + 500) { + if (this.dt - this.lastGen > (this.nextGen + 500) / this.adrenalineMultiplier) { var numColors = randInt(1, 4); if (numColors == 3) { numColors = randInt(1, 4); @@ -99,7 +107,10 @@ function waveGen(hex) { } for (var i = 0; i < MainHex.sides; i++) { - addNewBlock(i, colorList[i % numColors], 1.5 + (this.difficulty / 15) * 3); + if(MainHex.ct - MainHex.adrenalineMode > MainHex.adrenalineDuration) + addNewBlock(i, colorList[i % numColors], 1.5 + (this.difficulty / 15) * 3); + else + addNewBlock(i, colors[MainHex.adrenalineColor], 1.5 + (this.difficulty / 15) * 3); } this.ct += 15; @@ -109,7 +120,7 @@ function waveGen(hex) { }; this.halfCircleGeneration = function() { - if (this.dt - this.lastGen > (this.nextGen + 500) / 2) { + if (this.dt - this.lastGen > ((this.nextGen + 500) / 2 ) / this.adrenalineMultiplier) { var numColors = randInt(1, 3); var c = colors[randInt(0, colors.length)]; var colorList = [c, c, c]; @@ -119,7 +130,10 @@ function waveGen(hex) { var d = randInt(0, 6); for (var i = 0; i < 3; i++) { - addNewBlock((d + i) % 6, colorList[i], 1.5 + (this.difficulty / 15) * 3); + if(MainHex.ct - MainHex.adrenalineMode > MainHex.adrenalineDuration) + addNewBlock((d + i) % 6, colorList[i], 1.5 + (this.difficulty / 15) * 3); + else + addNewBlock((d + i) % 6, colors[MainHex.adrenalineColor], 1.5 + (this.difficulty / 15) * 3); } this.ct += 8; @@ -129,11 +143,16 @@ function waveGen(hex) { }; this.crosswiseGeneration = function() { - if (this.dt - this.lastGen > this.nextGen) { + if (this.dt - this.lastGen > this.nextGen / this.adrenalineMultiplier) { var ri = randInt(0, colors.length); var i = randInt(0, colors.length); - addNewBlock(i, colors[ri], 0.6 + (this.difficulty / 15) * 3); - addNewBlock((i + 3) % MainHex.sides, colors[ri], 0.6 + (this.difficulty / 15) * 3); + if(MainHex.ct - MainHex.adrenalineMode > MainHex.adrenalineDuration){ + addNewBlock(i, colors[ri], 0.6 + (this.difficulty / 15) * 3); + addNewBlock((i + 3) % MainHex.sides, colors[ri], 0.6 + (this.difficulty / 15) * 3); + }else{ + addNewBlock(i, colors[MainHex.adrenalineColor], 0.6 + (this.difficulty / 15) * 3); + addNewBlock((i + 3) % MainHex.sides, colors[MainHex.adrenalineColor], 0.6 + (this.difficulty / 15) * 3); + } this.ct += 1.5; this.lastGen = this.dt; this.shouldChangePattern(); @@ -142,11 +161,19 @@ function waveGen(hex) { this.spiralGeneration = function() { var dir = randInt(0, 2); - if (this.dt - this.lastGen > this.nextGen * (2 / 3)) { - if (dir) { - addNewBlock(5 - (this.ct % MainHex.sides), colors[randInt(0, colors.length)], 1.5 + (this.difficulty / 15) * (3 / 2)); - } else { - addNewBlock(this.ct % MainHex.sides, colors[randInt(0, colors.length)], 1.5 + (this.difficulty / 15) * (3 / 2)); + if (this.dt - this.lastGen > (this.nextGen * (2 / 3))/ this.adrenalineMultiplier) { + if(MainHex.ct - MainHex.adrenalineMode > MainHex.adrenalineDuration){ + if (dir) { + addNewBlock(5 - (this.ct % MainHex.sides), colors[randInt(0, colors.length)], 1.5 + (this.difficulty / 15) * (3 / 2)); + } else { + addNewBlock(this.ct % MainHex.sides, colors[randInt(0, colors.length)], 1.5 + (this.difficulty / 15) * (3 / 2)); + } + }else{ + if (dir) { + addNewBlock(5 - (this.ct % MainHex.sides), colors[MainHex.adrenalineColor], 1.5 + (this.difficulty / 15) * (3 / 2)); + } else { + addNewBlock(this.ct % MainHex.sides, colors[MainHex.adrenalineColor], 1.5 + (this.difficulty / 15) * (3 / 2)); + } } this.ct += 1; this.lastGen = this.dt; @@ -155,10 +182,15 @@ function waveGen(hex) { }; this.doubleGeneration = function() { - if (this.dt - this.lastGen > this.nextGen) { + if (this.dt - this.lastGen > this.nextGen / this.adrenalineMultiplier) { var i = randInt(0, colors.length); - addNewBlock(i, colors[randInt(0, colors.length)], 1.5 + (this.difficulty / 15) * 3); - addNewBlock((i + 1) % MainHex.sides, colors[randInt(0, colors.length)], 1.5 + (this.difficulty / 15) * 3); + if(MainHex.ct - MainHex.adrenalineMode > MainHex.adrenalineDuration){ + addNewBlock(i, colors[randInt(0, colors.length)], 1.5 + (this.difficulty / 15) * 3); + addNewBlock((i + 1) % MainHex.sides, colors[randInt(0, colors.length)], 1.5 + (this.difficulty / 15) * 3); + }else{ + addNewBlock(i, colors[MainHex.adrenalineColor], 1.5 + (this.difficulty / 15) * 3); + addNewBlock((i + 1) % MainHex.sides, colors[MainHex.adrenalineColor], 1.5 + (this.difficulty / 15) * 3); + } this.ct += 2; this.lastGen = this.dt; this.shouldChangePattern(); From 990f7d329aa6e7e7eab0807282447d2cef0be621 Mon Sep 17 00:00:00 2001 From: nuno Date: Sat, 17 Dec 2016 20:43:54 +0000 Subject: [PATCH 4/8] fix --- js/main.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/main.js b/js/main.js index 223d0f0d3..545f34f30 100644 --- a/js/main.js +++ b/js/main.js @@ -185,7 +185,7 @@ function init(b) { function addNewBlock(blocklane, color, iter, distFromHex, settled) { //last two are optional parameters if(MainHex.ct - MainHex.adrenalineMode > MainHex.adrenalineDuration) iter *= settings.speedModifier; - else iter *= settings.speedModifier*2; + else iter *= settings.speedModifier*MainHex.adrenalineMultiplier; if (!history[MainHex.ct]) { history[MainHex.ct] = {}; } From a6508138bd36564e437ae74ace0408f049c38fc7 Mon Sep 17 00:00:00 2001 From: nuno Date: Sun, 18 Dec 2016 16:11:23 +0000 Subject: [PATCH 5/8] made code better --- js/Hex.js | 8 +++++++- js/checking.js | 2 +- js/main.js | 2 +- js/render.js | 2 +- js/wavegen.js | 14 +++++++------- 5 files changed, 17 insertions(+), 11 deletions(-) diff --git a/js/Hex.js b/js/Hex.js index 300752dea..0377355e3 100644 --- a/js/Hex.js +++ b/js/Hex.js @@ -20,9 +20,15 @@ function Hex(sideLength) { this.lastColorScored = "#000"; this.adrenalineMode = -1000; this.adrenalineDuration = 800; - this.combosToAdrenaline = 6; + this.combosToAdrenaline = 8; this.adrenalineColor = 1; this.adrenalineMultiplier = 2; + + this.adrenalineOn = function(){ + return this.ct - this.adrenalineMode < this.adrenalineDuration; + } + + this.texts = []; this.lastRotate = Date.now(); for (var i = 0; i < this.sides; i++) { diff --git a/js/checking.js b/js/checking.js index 6a647bb19..8ea8284a5 100644 --- a/js/checking.js +++ b/js/checking.js @@ -65,7 +65,7 @@ function consolidateBlocks(hex,side,index){ // add scores var now = MainHex.ct; - if(now - hex.lastCombo < settings.comboTime && now - MainHex.adrenalineMode > MainHex.adrenalineDuration){ + if(now - hex.lastCombo < settings.comboTime && !MainHex.adrenalineOn()){ settings.comboTime = (1/settings.creationSpeedModifier) * (waveone.nextGen/16.666667) * 3; hex.comboMultiplier += 1; hex.lastCombo = now; diff --git a/js/main.js b/js/main.js index 545f34f30..7693cd780 100644 --- a/js/main.js +++ b/js/main.js @@ -183,7 +183,7 @@ function init(b) { } function addNewBlock(blocklane, color, iter, distFromHex, settled) { //last two are optional parameters - if(MainHex.ct - MainHex.adrenalineMode > MainHex.adrenalineDuration) + if(!MainHex.adrenalineOn()) iter *= settings.speedModifier; else iter *= settings.speedModifier*MainHex.adrenalineMultiplier; if (!history[MainHex.ct]) { diff --git a/js/render.js b/js/render.js index f3f500f74..cdad8044d 100644 --- a/js/render.js +++ b/js/render.js @@ -12,7 +12,7 @@ function render() { op += 0.01; } ctx.globalAlpha = op; - if(MainHex.ct - MainHex.adrenalineMode < MainHex.adrenalineDuration) + if(MainHex.adrenalineOn()) drawPolygon(trueCanvas.width / 2 , trueCanvas.height / 2 , 6, (settings.rows * settings.blockHeight) * (2/Math.sqrt(3)) + settings.hexWidth, 30, red, false,6); else drawPolygon(trueCanvas.width / 2 , trueCanvas.height / 2 , 6, (settings.rows * settings.blockHeight) * (2/Math.sqrt(3)) + settings.hexWidth, 30, grey, false,6); diff --git a/js/wavegen.js b/js/wavegen.js index 42b2c7fda..4d7891373 100644 --- a/js/wavegen.js +++ b/js/wavegen.js @@ -29,7 +29,7 @@ function waveGen(hex) { this.currentFunction(); this.dt = (settings.platform == 'mobile' ? 14 : 16.6667) * MainHex.ct; this.computeDifficulty(); - if(MainHex.ct - MainHex.adrenalineMode > MainHex.adrenalineDuration){ + if(!MainHex.adrenalineOn()){ this.adrenalineMultiplier = 1; }else this.adrenalineMultiplier = MainHex.adrenalineMultiplier; if ((this.dt - this.lastGen) * settings.creationSpeedModifier > this.nextGen) { @@ -44,7 +44,7 @@ function waveGen(hex) { this.lastGen = this.dt; var fv = randInt(0, MainHex.sides); - if(MainHex.ct - MainHex.adrenalineMode > MainHex.adrenalineDuration) + if(!MainHex.adrenalineOn()) addNewBlock(fv, colors[randInt(0, colors.length)], 1.6 + (this.difficulty / 15) * 3); else addNewBlock(fv, colors[MainHex.adrenalineColor], 1.6 + (this.difficulty / 15) * 3); @@ -107,7 +107,7 @@ function waveGen(hex) { } for (var i = 0; i < MainHex.sides; i++) { - if(MainHex.ct - MainHex.adrenalineMode > MainHex.adrenalineDuration) + if(!MainHex.adrenalineOn()) addNewBlock(i, colorList[i % numColors], 1.5 + (this.difficulty / 15) * 3); else addNewBlock(i, colors[MainHex.adrenalineColor], 1.5 + (this.difficulty / 15) * 3); @@ -130,7 +130,7 @@ function waveGen(hex) { var d = randInt(0, 6); for (var i = 0; i < 3; i++) { - if(MainHex.ct - MainHex.adrenalineMode > MainHex.adrenalineDuration) + if(!MainHex.adrenalineOn()) addNewBlock((d + i) % 6, colorList[i], 1.5 + (this.difficulty / 15) * 3); else addNewBlock((d + i) % 6, colors[MainHex.adrenalineColor], 1.5 + (this.difficulty / 15) * 3); @@ -146,7 +146,7 @@ function waveGen(hex) { if (this.dt - this.lastGen > this.nextGen / this.adrenalineMultiplier) { var ri = randInt(0, colors.length); var i = randInt(0, colors.length); - if(MainHex.ct - MainHex.adrenalineMode > MainHex.adrenalineDuration){ + if(!MainHex.adrenalineOn()){ addNewBlock(i, colors[ri], 0.6 + (this.difficulty / 15) * 3); addNewBlock((i + 3) % MainHex.sides, colors[ri], 0.6 + (this.difficulty / 15) * 3); }else{ @@ -162,7 +162,7 @@ function waveGen(hex) { this.spiralGeneration = function() { var dir = randInt(0, 2); if (this.dt - this.lastGen > (this.nextGen * (2 / 3))/ this.adrenalineMultiplier) { - if(MainHex.ct - MainHex.adrenalineMode > MainHex.adrenalineDuration){ + if(!MainHex.adrenalineOn()){ if (dir) { addNewBlock(5 - (this.ct % MainHex.sides), colors[randInt(0, colors.length)], 1.5 + (this.difficulty / 15) * (3 / 2)); } else { @@ -184,7 +184,7 @@ function waveGen(hex) { this.doubleGeneration = function() { if (this.dt - this.lastGen > this.nextGen / this.adrenalineMultiplier) { var i = randInt(0, colors.length); - if(MainHex.ct - MainHex.adrenalineMode > MainHex.adrenalineDuration){ + if(!MainHex.adrenalineOn()){ addNewBlock(i, colors[randInt(0, colors.length)], 1.5 + (this.difficulty / 15) * 3); addNewBlock((i + 1) % MainHex.sides, colors[randInt(0, colors.length)], 1.5 + (this.difficulty / 15) * 3); }else{ From 7225da011e84e1c149406d30283bfa71c304b184 Mon Sep 17 00:00:00 2001 From: nuno Date: Sun, 18 Dec 2016 17:05:53 +0000 Subject: [PATCH 6/8] changed from 8 to 12 combos needed --- js/Hex.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/Hex.js b/js/Hex.js index 0377355e3..c8972f772 100644 --- a/js/Hex.js +++ b/js/Hex.js @@ -20,7 +20,7 @@ function Hex(sideLength) { this.lastColorScored = "#000"; this.adrenalineMode = -1000; this.adrenalineDuration = 800; - this.combosToAdrenaline = 8; + this.combosToAdrenaline = 12; this.adrenalineColor = 1; this.adrenalineMultiplier = 2; From e145e7ced7566167300225339d3038a196dc0455 Mon Sep 17 00:00:00 2001 From: nuno Date: Sun, 18 Dec 2016 17:14:09 +0000 Subject: [PATCH 7/8] unmade bugfix --- js/Hex.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/Hex.js b/js/Hex.js index c8972f772..b67d6656e 100644 --- a/js/Hex.js +++ b/js/Hex.js @@ -42,7 +42,7 @@ function Hex(sideLength) { var dy = Math.sin(angle) * obj.magnitude; gdx -= dx; gdy += dy; - obj.magnitude /= 2 * (this.dt+0.5); + obj.magnitude /= 2 * this.dt; if (obj.magnitude < 1) { for (var i = 0; i < this.shakes.length; i++) { if (this.shakes[i] == obj) { From c8130a8525fdec24461389ca542f9a74d97d65a0 Mon Sep 17 00:00:00 2001 From: nuno Date: Sun, 18 Dec 2016 19:34:46 +0000 Subject: [PATCH 8/8] changed combos to adrenaline --- js/Hex.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/Hex.js b/js/Hex.js index b67d6656e..e9710643c 100644 --- a/js/Hex.js +++ b/js/Hex.js @@ -20,7 +20,7 @@ function Hex(sideLength) { this.lastColorScored = "#000"; this.adrenalineMode = -1000; this.adrenalineDuration = 800; - this.combosToAdrenaline = 12; + this.combosToAdrenaline = 9; this.adrenalineColor = 1; this.adrenalineMultiplier = 2;