diff --git a/docs/js/idle.js b/docs/js/idle.js index ba6b384..f146971 100644 --- a/docs/js/idle.js +++ b/docs/js/idle.js @@ -15,8 +15,11 @@ window.addEventListener('mousemove', (e) => { }); document.querySelector('canvas').addEventListener('click', (e) => { - let p1 = MDN.perspectiveMatrix(Math.PI * 100 / 180, ratio, 0.01, 1000); + let p1 = MDN.perspectiveMatrix(Math.PI * 100 / 180, ratio, 0.01, 1000) + for (let cubieI in cubePos) { + let bonus = 1 + counts.doNothing / (cubieI + 2); + let cubie = cubePos[cubieI]; let p2 = MDN.multiplyPoint(p1, [cubie[0], cubie[1], cubie[2], 0]); @@ -27,7 +30,8 @@ document.querySelector('canvas').addEventListener('click', (e) => { p2[1] += (my - height / 2) / height * 2; let b = 1 / (Math.sqrt(p2[0] ** 2 + p2[1] ** 2) + .03); - b = (b * b) * 0.0001; + b = (b * b) * 0.0001 + b *= bonus; getBonus += b; } @@ -38,11 +42,15 @@ setInterval(function () { nGain = 0.003 + 0.003 * cubePos.length; getBonus *= 0.93; - for (let a of cubePos) { - let f = (nGain + getBonus * 10000 + 10) / (nothingness + 10); + for (let ab in cubePos) { + let a = cubePos[ab]; + let bonus = 1 + counts.doNothing / (ab + 2); + bonus = (bonus) ** 0.05; + + let f = (nGain + getBonus * bonus * 10000 + 10) / (nothingness + 10); let dist = Math.sqrt(a[0] ** 2 + a[1] ** 2) - dist = (f*90 / dist) ** 0.1; + dist = (f * 90 / dist) ** 0.1; a[3] = a[3] * 0.9 + a[0] * (dist - 1); a[4] = a[4] * 0.9 + a[1] * (dist - 1); @@ -50,9 +58,9 @@ setInterval(function () { a[0] += a[3] * 0.01; a[1] += a[4] * 0.01; - a[3] += Math.sin(f*0.1) * a[1]; + a[3] += Math.sin(f * 0.1) * a[1]; - a[4] += -Math.sin(f*0.1) * a[0]; + a[4] += -Math.sin(f * 0.1) * a[0]; } }, 1000 / 60) diff --git a/docs/js/index.js b/docs/js/index.js index 4774bb7..6140b77 100644 --- a/docs/js/index.js +++ b/docs/js/index.js @@ -132,12 +132,17 @@ function renderThing() { if (sizes > 10) sizes = 10; if (sizes < 3) sizes = 3; - positions = MDN.createCubeData(1,1,1); + positions = MDN.createCubeData(1, 1, 1); gl.bufferData(gl.ARRAY_BUFFER, new Float32Array(positions), gl.STATIC_DRAW); - for (let cubie of cubePos) { + for (let ii in cubePos) { + let cubie = cubePos[ii]; let vp = MDN.rotateYMatrix(Math.log(nothingness + 1) * cubie[2] / 10); - vp = MDN.multiplyMatrices(MDN.scaleMatrix(sizes,sizes,sizes), vp) + + let bonus = 1 + counts.doNothing / (ii + 2); + bonus = bonus ** (1 / 2); + + vp = MDN.multiplyMatrices(MDN.scaleMatrix(sizes * bonus, sizes * bonus, sizes * bonus), vp) vp = MDN.multiplyMatrices(MDN.translateMatrix(cubie[0], cubie[1], cubie[2]), vp) gl.uniformMatrix4fv(vpBuffer, false, new Float32Array(vp)); diff --git a/docs/js/upgrade.js b/docs/js/upgrade.js index f1eb859..c2e47bc 100644 --- a/docs/js/upgrade.js +++ b/docs/js/upgrade.js @@ -1,5 +1,9 @@ let exec = {}; +exec.doNothing = function() { + +} + exec.addCube = function () { cubePos.push([Math.random() * 1000 - 500, Math.random() * 1000 - 500, Math.random() * 30 - 200, Math.random() * 2 - 1, Math.random() * 2 - 1, Math.random() * 2 - 1 @@ -11,6 +15,12 @@ upgrades = [ 'price': 30, 'exec': 'addCube', 'desc': 'Clicks and waiting generate more nil' + }, + { + 'name': 'Union', + 'price': 1000, + 'exec': 'doNothing', + 'desc': 'Earlier-bought Sets are more powerful' } ];