From 8a211e81ec9077ed9730f09938465953ad9291d9 Mon Sep 17 00:00:00 2001 From: landgreen Date: Tue, 11 Jul 2023 21:37:11 -0700 Subject: [PATCH] mass production new community levels: tlinat by Richard0820 ruins by SiddhUPe tech: mass production - tech have +3 choices to spawn ammo, research, or heals --- img/ammo.webp | Bin 0 -> 30978 bytes img/heals.webp | Bin 0 -> 42004 bytes img/mass production.webp | Bin 0 -> 32136 bytes img/research.webp | Bin 0 -> 28446 bytes js/bullet.js | 80 +-- js/level.js | 1477 +++++++++++++++++++++++++++++++++++++- js/powerup.js | 36 +- js/spawn.js | 6 +- js/tech.js | 87 ++- lib/decomp.min.js | 1 - todo.txt | 57 +- 11 files changed, 1611 insertions(+), 133 deletions(-) create mode 100644 img/ammo.webp create mode 100644 img/heals.webp create mode 100644 img/mass production.webp create mode 100644 img/research.webp delete mode 100644 lib/decomp.min.js diff --git a/img/ammo.webp b/img/ammo.webp new file mode 100644 index 0000000000000000000000000000000000000000..782d63d55ad0df01aa2e12772b40e76e110ae9d2 GIT binary patch literal 30978 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 Pm=4cw`^oZtO#lD@jHk2e literal 0 HcmV?d00001 diff --git a/img/research.webp b/img/research.webp new file mode 100644 index 0000000000000000000000000000000000000000..99ac39628bfc873ee1cc2556ddafd9febc2660bd GIT binary patch literal 28446 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 2 for (let i = this.waves.length - 1; i > -1; i--) { const v1 = Vector.add(this.waves[i].position, Vector.mult(this.waves[i].unit1, this.waves[i].radius)) @@ -5649,7 +5649,7 @@ const b = { if (!who.isShielded) { who.force.x += 0.01 * (Math.random() - 0.5) * who.mass who.force.y += 0.01 * (Math.random() - 0.5) * who.mass - Matter.Body.setVelocity(who, { x: who.velocity.x * 0.95, y: who.velocity.y * 0.95 }); + Matter.Body.setVelocity(who, { x: who.velocity.x * 0.98, y: who.velocity.y * 0.98 }); let vertices = who.vertices; const vibe = 50 + who.radius * 0.15 ctx.moveTo(vertices[0].x + vibe * (Math.random() - 0.5), vertices[0].y + vibe * (Math.random() - 0.5)); @@ -5687,8 +5687,8 @@ const b = { for (let j = 0, len = Math.min(30, hits.length); j < len; j++) { const who = hits[j].body //make them shake around - who.force.x += 0.01 * (Math.random() - 0.5) * who.mass - who.force.y += (0.01 * (Math.random() - 0.5) - simulation.g * 0.25) * who.mass //remove force of gravity + who.force.x += 0.005 * (Math.random() - 0.5) * who.mass + who.force.y += (0.005 * (Math.random() - 0.5) - simulation.g * 0.1) * who.mass //remove force of gravity let vertices = who.vertices; const vibe = 25 ctx.moveTo(vertices[0].x + vibe * (Math.random() - 0.5), vertices[0].y + vibe * (Math.random() - 0.5)); @@ -6742,13 +6742,13 @@ const b = { x: SPEED * Math.cos(dir), y: SPEED * Math.sin(dir) }); - bullet[me].endCycle = simulation.cycle + 40 * tech.isBulletsLastLonger + bullet[me].endCycle = simulation.cycle + 40 * tech.bulletsLastLonger bullet[me].minDmgSpeed = 15 if (tech.isShotgunReversed) Matter.Body.setDensity(bullet[me], 0.0015) // bullet[me].restitution = 0.4 bullet[me].frictionAir = 0.034; bullet[me].do = function () { - const scale = 1 - 0.034 / tech.isBulletsLastLonger + const scale = 1 - 0.034 / tech.bulletsLastLonger Matter.Body.scale(this, scale, scale); }; } @@ -6820,7 +6820,7 @@ const b = { const me = bullet.length; bullet[me] = Bodies.rectangle(m.pos.x + 50 * Math.cos(m.angle), m.pos.y + 50 * Math.sin(m.angle), 17, 4, b.fireAttributes(dir)); const end = END + Math.random() * 4 - bullet[me].endCycle = 2 * end * tech.isBulletsLastLonger + simulation.cycle + bullet[me].endCycle = 2 * end * tech.bulletsLastLonger + simulation.cycle const speed = 25 * end / END const dirOff = dir + (Math.random() - 0.5) * spread Matter.Body.setVelocity(bullet[me], { @@ -7066,7 +7066,7 @@ const b = { ctx.strokeStyle = "rgba(0,0,0,0.6)" //"000"; ctx.lineWidth = 2 * tech.wavePacketDamage ctx.beginPath(); - const end = 700 * Math.sqrt(tech.isBulletsLastLonger) + const end = 700 * Math.sqrt(tech.bulletsLastLonger) const damage = 2.3 * m.dmgScale * tech.wavePacketDamage * tech.waveBeamDamage * (tech.isBulletTeleport ? 1.43 : 1) * (tech.isInfiniteWaveAmmo ? 0.75 : 1) //damage is lower for large radius mobs, since they feel the waves longer for (let i = this.waves.length - 1; i > -1; i--) { @@ -7163,7 +7163,7 @@ const b = { ctx.strokeStyle = "rgba(0,0,0,0.6)" //"000"; ctx.lineWidth = 2 * tech.wavePacketDamage ctx.beginPath(); - const end = 1100 * tech.isBulletsLastLonger + const end = 1100 * tech.bulletsLastLonger const damage = 2.3 * m.dmgScale * tech.wavePacketDamage * tech.waveBeamDamage * (tech.isBulletTeleport ? 1.4 : 1) * (tech.isInfiniteWaveAmmo ? 0.75 : 1) //damage is lower for large radius mobs, since they feel the waves longer for (let i = this.waves.length - 1; i > -1; i--) { const v1 = Vector.add(this.waves[i].position, Vector.mult(this.waves[i].unit1, this.waves[i].radius)) @@ -7270,7 +7270,7 @@ const b = { // } }, fireTransverse() { - totalCycles = Math.floor((3.5) * 35 * tech.waveReflections * tech.isBulletsLastLonger / Math.sqrt(tech.waveReflections * 0.5)) + totalCycles = Math.floor((3.5) * 35 * tech.waveReflections * tech.bulletsLastLonger / Math.sqrt(tech.waveReflections * 0.5)) const me = bullet.length; bullet[me] = Bodies.polygon(m.pos.x + 25 * Math.cos(m.angle), m.pos.y + 25 * Math.sin(m.angle), 5, 4, { angle: m.angle, diff --git a/js/level.js b/js/level.js index 85cc774..62d16ad 100644 --- a/js/level.js +++ b/js/level.js @@ -10,7 +10,7 @@ const level = { // playableLevels: ["pavilion", "pavilion", "pavilion", "pavilion", "pavilion", "pavilion", "pavilion", "pavilion", "pavilion", "pavilion", "pavilion"], //see level.populateLevels: (intro, ... , reservoir or factory, reactor, ... , gauntlet, final) added later playableLevels: ["labs", "rooftops", "skyscrapers", "warehouse", "highrise", "office", "aerie", "satellite", "sewers", "testChamber", "pavilion", "lock"], - communityLevels: ["gauntlet", "stronghold", "basement", "crossfire", "vats", "run", "ngon", "house", "perplex", "coliseum", "tunnel", "islands", "temple", "dripp", "biohazard", "stereoMadness", "yingYang", "staircase", "fortress", "commandeer", "clock", "buttonbutton", "downpour", "superNgonBros", "underpass", "cantilever", "dojo"], + communityLevels: ["gauntlet", "stronghold", "basement", "crossfire", "vats", "run", "ngon", "house", "perplex", "coliseum", "tunnel", "islands", "temple", "dripp", "biohazard", "stereoMadness", "yingYang", "staircase", "fortress", "commandeer", "clock", "buttonbutton", "downpour", "superNgonBros", "underpass", "cantilever", "dojo", "tlinat", "ruins"], trainingLevels: ["walk", "crouch", "jump", "hold", "throw", "throwAt", "deflect", "heal", "fire", "nailGun", "shotGun", "superBall", "matterWave", "missile", "stack", "mine", "grenades", "harpoon"], levels: [], start() { @@ -37,8 +37,8 @@ const level = { // tech.giveTech("von Neumann probe") // tech.giveTech("path integration") // tech.giveTech("cordyceps") - // for (let i = 0; i < 1; ++i) tech.giveTech("sympathetic resonance") - // for (let i = 0; i < 1; ++i) tech.giveTech("sound-bot") + // for (let i = 0; i < 1; ++i) tech.giveTech("mass production") + // for (let i = 0; i < 2; ++i) tech.giveTech("sound-bot") // for (let i = 0; i < 1; ++i) tech.giveTech("foam-bot") // for (let i = 0; i < 1; ++i) tech.giveTech("nail-bot") // for (let i = 0; i < 1; ++i) tech.giveTech("sound-bot upgrade") @@ -61,7 +61,7 @@ const level = { // spawn.tetherBoss(1900, -500, { x: 1900, y: -500 }) // for (let i = 0; i < 40; ++i) tech.giveTech() - level[simulation.isTraining ? "walk" : "intro"]() //normal starting level ************************************************ + level[simulation.isTraining ? "walk" : "intro"]() //normal starting level ************************************************** // simulation.isAutoZoom = false; //look in close // simulation.zoomScale *= 0.5; @@ -4251,10 +4251,7 @@ const level = { let isDoorLeft, isDoorRight, x, y doCustom = [] doCustomTopLayer = [] - offset = { - x: 0, - y: 0 - } + offset = { x: 0, y: 0 } const mobSpawnChance = 0 // Math.random() < chance + 0.07 * simulation.difficulty enterOptions = [ (x = offset.x, y = offset.y) => { //lasers @@ -10790,9 +10787,9 @@ const level = { spawn.randomLevelBoss(x, y, ["historyBoss"]); tech.isScaleMobsWithDuplication = false } else if (tech.isResearchBoss) { - if (powerUps.research.count > 3) { - powerUps.research.changeRerolls(-4) - simulation.makeTextLog(`m.research -= 4
${powerUps.research.count}`) + if (powerUps.research.count > 2) { + powerUps.research.changeRerolls(-3) + simulation.makeTextLog(`m.research -= 3
${powerUps.research.count}`) } else { tech.addJunkTechToPool(0.49) } @@ -13778,10 +13775,10 @@ const level = { spawn.historyBoss(x, y) tech.isScaleMobsWithDuplication = false } else if (tech.isResearchBoss) { - if (powerUps.research.count > 3) { - powerUps.research.changeRerolls(-4) + if (powerUps.research.count > 2) { + powerUps.research.changeRerolls(-3) simulation.makeTextLog( - `m.research -= 4
${powerUps.research.count}` + `m.research -= 3
${powerUps.research.count}` ) } else { tech.addJunkTechToPool(0.49) @@ -16409,7 +16406,6 @@ const level = { level.custom = () => { level.exit.drawAndCheck(); - level.enter.draw(); }; level.customTopLayer = () => { @@ -21437,8 +21433,8 @@ const level = { ctx.strokeStyle = "rgba(0,0,0,0.6)" //"000"; ctx.lineWidth = 2 * tech.wavePacketDamage ctx.beginPath(); - // const end = 1100 * tech.isBulletsLastLonger / Math.sqrt(tech.waveReflections * 0.5) //should equal about 1767 - const end = 1100 * tech.isBulletsLastLonger * Math.pow(0.93, tech.waveReflections) //should equal about 1767 + // const end = 1100 * tech.bulletsLastLonger / Math.sqrt(tech.waveReflections * 0.5) //should equal about 1767 + const end = 1100 * tech.bulletsLastLonger * Math.pow(0.93, tech.waveReflections) //should equal about 1767 const damage = 0.0005 * simulation.dmgScale//normal damage for m basically shreds m, so had to nerf this for (let i = this.waves.length - 1; i > -1; i--) { const v1 = Vector.add(this.waves[i].position, Vector.mult(this.waves[i].unit1, this.waves[i].radius)) @@ -24619,8 +24615,8 @@ const level = { ctx.strokeStyle = "rgba(0,0,0,0.6)" //"000"; ctx.lineWidth = 2 * tech.wavePacketDamage ctx.beginPath(); - // const end = 1100 * tech.isBulletsLastLonger / Math.sqrt(tech.waveReflections * 0.5) //should equal about 1767 - const end = 1100 * tech.isBulletsLastLonger * Math.pow(0.93, tech.waveReflections) //should equal about 1767 + // const end = 1100 * tech.bulletsLastLonger / Math.sqrt(tech.waveReflections * 0.5) //should equal about 1767 + const end = 1100 * tech.bulletsLastLonger * Math.pow(0.93, tech.waveReflections) //should equal about 1767 const damage = 0.0005 * simulation.dmgScale//normal damage for m basically shreds m, so had to nerf this for (let i = this.waves.length - 1; i > -1; i--) { const v1 = Vector.add(this.waves[i].position, Vector.mult(this.waves[i].unit1, this.waves[i].radius)) @@ -26052,6 +26048,1449 @@ const level = { boss.showHealthBar = true; powerUps.addResearchToLevel() //needs to run after mobs are spawned }, + tlinat() { // _Destined_ formerly Richard0820#2652 + simulation.makeTextLog(`tlinat by Richard0820`); + + simulation.fallHeight = Infinity; + level.setPosToSpawn(0, -1000); + level.exit.x = 5100; + level.exit.y = 3770; + spawn.mapRect(level.enter.x, level.enter.y + 20, 100, 20); + spawn.mapRect(level.exit.x, level.exit.y + 20, 100, 20); + level.defaultZoom = 2500 + simulation.zoomTransition(level.defaultZoom) + document.body.style.backgroundColor = "#d8dadf"; + let teleportIndex = 0; + let footIndex = 0; + simulation.makeTextLog(`Walk right to tp to maze
Exit is at the bottom left`) + Matter.Body.scale(player.parts[3], 2, 2); + level.custom = () => { + level.exit.drawAndCheck(); + level.enter.draw(); + if (player.position.y > 100000) { + Matter.Body.setPosition(player, { + x: 5100, + y: -5925 + }) + } + if (player.position.x > 2500 && teleportIndex == 0) { + Matter.Body.setPosition(player, { + x: 5100, + y: -5925 + }) + teleportIndex++; + for (let i = 0; i < map.length; i++) { + if (Math.random() < 0.75) { //75% chance + spawn.ghoster(map[i].position.x, map[i].position.y) + } + } + simulation.makeTextLog(`Watch out for ghosters
Peace ✌️`) + } + if ( //check + player.position.x > level.exit.x && + player.position.x < level.exit.x + 100 && + player.position.y > level.exit.y - 150 && + player.position.y < level.exit.y - 0 && + player.velocity.y < 0.15 && + footIndex == 0 + ) { + footIndex++; + Matter.Body.scale(player.parts[3], 1 / 2, 1 / 2); + } + //ctx.drawImage(image, 1650 - 750, -2450, 725, 725) + }; + level.customTopLayer = () => { + if (player.position.x > -1200 && player.position.x < 4500) { //does not render when in the maze + drawText(2000, -3000, "JOIN OUR DISCORD SERVER"); + ctx.fillStyle = "black" + ctx.fillRect(1725, -2375, 25, 175); + ctx.fillRect(1725, -2375, 175, 25); + ctx.fillRect(1875, -2375, 25, 175); + ctx.fillRect(1725, -2225, 175, 25); + ctx.fillRect(1800, -2325, 25, 25); + ctx.fillRect(1775, -2325, 75, 75); + ctx.fillRect(1925, -2350, 50, 25); + ctx.fillRect(1950, -2350, 25, 25); + ctx.fillRect(1950, -2375, 25, 100); + ctx.fillRect(1925, -2300, 50, 25); + ctx.fillRect(1925, -2250, 25, 50); + ctx.fillRect(1975, -2275, 25, 75); + ctx.fillRect(1975, -2325, 50, 25); + ctx.fillRect(2000, -2350, 25, 75); + ctx.fillRect(2000, -2350, 100, 25); + ctx.fillRect(2075, -2375, 25, 50); + ctx.fillRect(2125, -2375, 25, 25); + ctx.fillRect(2175, -2375, 25, 175); + ctx.fillRect(2175, -2225, 175, 25); + ctx.fillRect(2325, -2375, 25, 175); + ctx.fillRect(2175, -2375, 175, 25); + ctx.fillRect(2225, -2300, 25, 25); + ctx.fillRect(2225, -2325, 75, 75); + ctx.fillRect(2025, -2275, 25, 25); + ctx.fillRect(2050, -2300, 25, 25); + ctx.fillRect(2100, -2300, 50, 50); + ctx.fillRect(2050, -2250, 75, 25); + ctx.fillRect(2075, -2250, 25, 50); + ctx.fillRect(1725, -2175, 125, 25); + ctx.fillRect(1800, -2175, 50, 50); + ctx.fillRect(1875, -2175, 100, 25); + ctx.fillRect(1725, -2125, 25, 175); + ctx.fillRect(1725, -2125, 50, 25); + ctx.fillRect(1725, -2075, 75, 50); + ctx.fillRect(1775, -2100, 25, 75); + ctx.fillRect(1775, -2075, 50, 25); + ctx.fillRect(1825, -2050, 25, 50); + ctx.fillRect(1800, -2025, 50, 25); + ctx.fillRect(1775, -2000, 25, 25); + ctx.fillRect(1800, -1975, 25, 25); + ctx.fillRect(1975, -2175, 25, 25); + ctx.fillRect(1900, -2175, 25, 150); + ctx.fillRect(1875, -2025, 25, 25); + ctx.fillRect(1925, -2025, 25, 25); + ctx.fillRect(1900, -2000, 25, 25); + ctx.fillRect(1875, -1975, 25, 25); + ctx.fillRect(1950, -2000, 25, 25); + ctx.fillRect(1925, -1975, 75, 50); + ctx.fillRect(1925, -1925, 25, 25); + ctx.fillRect(2025, -2225, 25, 75); + ctx.fillRect(2125, -2225, 25, 50); + ctx.fillRect(1875, -2125, 50, 25); + ctx.fillRect(1850, -2075, 125, 25); + ctx.fillRect(1950, -2175, 25, 125); + ctx.fillRect(1950, -2100, 75, 25); + ctx.fillRect(2000, -2125, 25, 75); + ctx.fillRect(1975, -2050, 25, 25); + ctx.fillRect(2025, -2050, 25, 25); + ctx.fillRect(2000, -2125, 75, 25); + ctx.fillRect(2050, -2125, 25, 50); + ctx.fillRect(2050, -2100, 50, 25); + ctx.fillRect(2075, -2175, 50, 50); + ctx.fillRect(2100, -2150, 25, 50); + ctx.fillRect(2100, -2075, 25, 25); + ctx.fillRect(2125, -2100, 50, 25); + ctx.fillRect(2150, -2175, 25, 100); + ctx.fillRect(2100, -2150, 75, 25); + ctx.fillRect(1725, -1925, 25, 175); + ctx.fillRect(1725, -1925, 175, 25); + ctx.fillRect(1875, -1925, 25, 175); + ctx.fillRect(1725, -1775, 175, 25); + ctx.fillRect(1775, -1875, 75, 75); + ctx.fillRect(1925, -1875, 25, 125); + ctx.fillRect(1925, -1775, 75, 25); + ctx.fillRect(1925, -1875, 125, 25); + ctx.fillRect(2025, -1875, 25, 100); + ctx.fillRect(1975, -1900, 25, 75); + ctx.fillRect(1975, -1900, 50, 25); + ctx.fillRect(2000, -1925, 100, 25); + ctx.fillRect(2050, -2025, 50, 25); + ctx.fillRect(2050, -2025, 25, 50); + ctx.fillRect(2025, -2000, 50, 25); + ctx.fillRect(2025, -2000, 25, 50); + ctx.fillRect(2025, -1825, 75, 25); + ctx.fillRect(2075, -1825, 25, 50); + ctx.fillRect(2100, -1775, 25, 25); + ctx.fillRect(2075, -1875, 25, 25); + ctx.fillRect(2100, -1850, 50, 25); + ctx.fillRect(2125, -1975, 25, 150); + ctx.fillRect(2150, -2125, 50, 25); + ctx.fillRect(2200, -2175, 25, 50); + ctx.fillRect(2200, -2150, 50, 25); + ctx.fillRect(2225, -2150, 25, 50); + ctx.fillRect(2250, -2175, 25, 25); + ctx.fillRect(2300, -2175, 25, 25); + ctx.fillRect(2325, -2150, 25, 25); + ctx.fillRect(2275, -2125, 25, 25); + ctx.fillRect(2175, -2075, 100, 25); + ctx.fillRect(2300, -2075, 50, 25); + ctx.fillRect(2125, -2050, 125, 25); + ctx.fillRect(2225, -2075, 25, 75); + ctx.fillRect(2175, -2050, 25, 50); + ctx.fillRect(2150, -2050, 25, 75); + ctx.fillRect(2075, -1975, 200, 25); + ctx.fillRect(2225, -1975, 25, 200); + ctx.fillRect(2175, -1925, 25, 25); + ctx.fillRect(2125, -1875, 150, 25); + ctx.fillRect(2250, -1900, 25, 50); + ctx.fillRect(2275, -1925, 75, 25); + ctx.fillRect(2325, -2025, 25, 125); + ctx.fillRect(2275, -2025, 75, 25); + ctx.fillRect(2300, -2025, 50, 50); + ctx.fillRect(2175, -1875, 25, 50); + ctx.fillRect(2125, -1800, 150, 25); + ctx.fillRect(2275, -1825, 25, 25); + ctx.fillRect(2300, -1850, 50, 25); + ctx.fillRect(2325, -1850, 25, 50); + ctx.fillRect(2300, -1800, 25, 50); + ctx.fillRect(2275, -1775, 75, 25); + } + }; + spawn.mapRect(-1000, -950, 5950, 100); + spawn.mapRect(-1325, -3450, 100, 2575); + spawn.mapRect(-1325, -950, 350, 100); + spawn.mapRect(4850, -3400, 100, 2550); + spawn.mapRect(-1325, -3450, 6275, 100); + maze(10000, -1000, 10000, 10000, 50); + + function maze(x, y, width, height, cells) { + const cellWidth = width / cells; + const cellHeight = height / cells; + const startX = x - (width / 2); + const startY = y - (height / 2); + const matrix = []; + for (let i = 0; i < cells; i++) { + matrix[i] = []; + for (let j = 0; j < cells; j++) { + matrix[i][j] = 1; + } + } + const stack = []; + + function carveMaze(x, y) { + matrix[x][y] = 0; + const directions = [{ + dx: 0, + dy: -1 + }, // Up + { + dx: 1, + dy: 0 + }, // Right + { + dx: 0, + dy: 1 + }, // Down + { + dx: -1, + dy: 0 + } // Left + ]; + directions.sort(() => Math.random() - 0.5); + for (const direction of directions) { + const nextX = x + direction.dx * 2; + const nextY = y + direction.dy * 2; + if (nextX >= 0 && nextX < cells && nextY >= 0 && nextY < cells && matrix[nextX][nextY] === 1) { + matrix[x + direction.dx][y + direction.dy] = 0; + matrix[nextX][nextY] = 0; + stack.push({ + x: x + direction.dx, + y: y + direction.dy + }); + carveMaze(nextX, nextY); + } + } + } + carveMaze(0, 0); + matrix[cells - 1][cells - 1] = 1; + for (let i = -1; i < cells + 1; i++) { + let startCol = -1; + let endCol = -1; + for (let j = -1; j < cells + 1; j++) { + if (i >= 0 && i < cells && j >= 0 && j < cells && matrix[i][j] === 1) { + if (startCol === -1) { + startCol = j; + } + endCol = j; + } else { + if (startCol !== -1) { + const rectX = startX + i * cellWidth; + const rectY = startY + startCol * cellHeight; + const rectWidth = cellWidth; + const rectHeight = (endCol - startCol + 1) * cellHeight; + if (rectHeight !== cellHeight) { + spawn.mapRect(rectX, rectY, rectWidth, rectHeight); + } + startCol = -1; + endCol = -1; + } + } + } + } + for (let j = -1; j < cells + 1; j++) { + let startRow = -1; + let endRow = -1; + for (let i = -1; i < cells + 1; i++) { + if (i >= 0 && i < cells && j >= 0 && j < cells && matrix[i][j] === 1) { + if (startRow === -1) { + startRow = i; + } + endRow = i; + } else { + if (startRow !== -1) { + const rectX = startX + startRow * cellWidth; + const rectY = startY + j * cellHeight; + const rectWidth = (endRow - startRow + 1) * cellWidth; + const rectHeight = cellHeight; + if (rectWidth !== cellWidth) { + spawn.mapRect(rectX, rectY, rectWidth, rectHeight); + } + startRow = -1; + endRow = -1; + } + } + } + } + spawn.mapRect(startX - cellWidth, startY - cellHeight, cellWidth * cells, cellHeight) + spawn.mapRect(startX - cellWidth, startY - cellHeight, cellWidth, cellHeight * cells) + spawn.mapRect(startX + (cells - 1) * cellWidth, startY - cellHeight, cellWidth, cellHeight * (cells + 1)) + spawn.mapRect(startX - cellWidth, startY + (cells - 1) * cellHeight, cellWidth * (cells + 1), cellHeight) + return matrix; + } + + function countAdjacentWalls(matrix, x, y) { + let count = 0; + const directions = [{ + dx: 0, + dy: -1 + }, // Up + { + dx: 1, + dy: 0 + }, // Right + { + dx: 0, + dy: 1 + }, // Down + { + dx: -1, + dy: 0 + } // Left + ]; + for (const direction of directions) { + const neighborX = x + direction.dx; + const neighborY = y + direction.dy; + if (neighborX >= 0 && neighborX < matrix.length && neighborY >= 0 && neighborY < matrix[0].length && matrix[neighborX][neighborY] === 1) { + count++; + } + } + return count; + } + function drawText(x, y, letters) { + const blockSize = 50; + const padding = -30; + const lettersData = { + 'J': [' #### ', ' # ', ' # ', ' # ', ' # # ', ' # # ', ' ## ',], + 'I': [' # ', ' # ', ' # ', ' # ', ' # ', ' # ', ' # ',], + 'N': [' # # ', ' ## # ', ' ## # ', ' # ## ', ' # ## ', ' # # ', ' # # ',], + ' ': [' ', ' ', ' ', ' ', ' ', ' ', ' ',], + 'O': [' ## ', ' # # ', ' # # ', ' # # ', ' # # ', ' # # ', ' ## ',], + 'U': [' # # ', ' # # ', ' # # ', ' # # ', ' # # ', ' # # ', ' ### ',], + 'R': [' #### ', ' # #', ' #### ', ' # # ', ' # # ', ' # #', ' # #',], + 'D': [' ### ', ' # ## ', ' # # ', ' # # ', ' # # ', ' # ## ', ' ### ',], + 'S': [' #### ', ' # ', ' # ', ' ### ', ' ## ', ' # ', ' ##### ',], + 'C': [' ##### ', ' # ', ' # ', ' # ', ' # ', ' # ', ' ##### ',], + 'V': [' # # ', ' # # ', ' # # ', ' # # ', ' # # ', ' # # ', ' # ',], + 'E': [' ##### ', ' # ', ' # ', ' ##### ', ' # ', ' # ', ' ##### ',], + }; + const drawBlock = (x, y) => { + ctx.fillStyle = "black" + ctx.fillRect(x, y, blockSize, blockSize); + }; + const drawLetter = (letter, x, y) => { + const letterData = lettersData[letter]; + if (letterData) { + for (let row = 0; row < letterData.length; row++) { + const rowData = letterData[row]; + for (let col = 0; col < rowData.length; col++) { + const char = rowData[col]; + if (char === '#') { + const blockX = x + (col * (blockSize + padding)); + const blockY = y + (row * (blockSize + padding)); + drawBlock(blockX, blockY); + } + } + } + } + }; + for (let i = 0; i < letters.length; i++) { + const char = letters[i]; + const letterX = x + (i * (blockSize * 5)) - Math.abs(x * 1.5); // Adjust spacing between letters + const letterY = y; + drawLetter(char, letterX, letterY); + } + } + }, + ruins() { // by SiddhUPe + // simulation.enableConstructMode() + simulation.makeTextLog(`ruins by SiddhUPe`); + + level.setPosToSpawn(0, -50); //normal spawn + level.exit.x = 19531; + level.exit.y = 882 + 70; + spawn.mapRect(level.enter.x, level.enter.y + 20, 100, 20); //bump for level entrance + spawn.mapRect(level.exit.x, level.exit.y + 20, 100, 20); //bump for level exit + level.defaultZoom = 1800 + simulation.zoomTransition(level.defaultZoom) + document.body.style.backgroundColor = "#d8dadf"; + // color.map = "#444" //custom map color + + + level.customTopLayer = () => { }; + spawn.mapRect(875, 0, 1000, 100); + spawn.mapRect(1825, -400, 50, 225); + spawn.mapRect(1825, -400, 675, 50); + spawn.mapRect(1825, 0, 675, 100); + spawn.mapRect(2500, -575, 50, 225); + spawn.mapRect(2500, -575, 850, 50); + spawn.mapRect(2500, -100, 875, 175); + spawn.mapRect(2500, 75, 875, 25); + spawn.mapRect(3350, -575, 25, 50); + spawn.mapRect(2450, -50, 75, 75); + spawn.mapRect(2425, -25, 25, 25); + spawn.mapRect(2475, -75, 25, 25); + spawn.mapRect(3375, -575, 75, 325); + spawn.mapRect(3375, -100, 75, 300); + spawn.mapRect(3450, -50, 25, 250); + spawn.mapRect(3475, -25, 25, 225); + spawn.mapRect(3500, 0, 25, 200); + spawn.mapRect(3525, 25, 25, 175); + spawn.mapRect(3550, 75, 25, 125); + spawn.mapRect(3550, 50, 25, 150); + spawn.mapRect(3575, 75, 25, 125); + spawn.mapRect(3600, 100, 25, 100); + spawn.mapRect(3625, 150, 25, 50); + spawn.mapRect(2875, -1375, 350, 75); + spawn.mapRect(3150, -1375, 75, 350); + spawn.mapRect(3100, -1300, 50, 50); + spawn.mapRect(3075, -1300, 25, 25); + spawn.mapRect(3125, -1250, 25, 25); + spawn.mapRect(2825, -1375, 50, 125); + spawn.mapRect(3100, -1025, 125, 50); + spawn.mapRect(2800, -1350, 25, 75); + spawn.mapRect(3125, -975, 75, 25); + spawn.mapRect(3225, -1350, 25, 300); + spawn.mapRect(2875, -1400, 275, 25); + spawn.mapRect(2900, -1425, 225, 25); + spawn.mapRect(3250, -1325, 25, 250); + spawn.mapRect(2875, -1300, 25, 25); + spawn.mapRect(3125, -1050, 50, 25); + spawn.mapRect(5325, 800, 50, 225); + spawn.mapRect(5325, 975, 300, 50); + spawn.mapRect(5375, 925, 50, 50); + spawn.mapRect(5375, 900, 25, 25); + spawn.mapRect(5425, 950, 25, 25); + spawn.mapRect(5325, 775, 100, 25); + spawn.mapRect(5625, 925, 25, 100); + spawn.mapRect(5350, 800, 50, 25); + spawn.mapRect(5600, 950, 25, 50); + spawn.mapRect(5300, 800, 25, 175); + spawn.mapRect(5400, 1025, 225, 25); + spawn.mapRect(5450, 1050, 125, 25); + spawn.mapRect(5275, 850, 25, 100); + spawn.mapRect(5350, 750, 50, 25); + spawn.mapRect(5650, 950, 25, 50); + spawn.mapRect(16775, -975, 275, 50); + spawn.mapRect(17000, -975, 50, 200); + spawn.mapRect(16775, -975, 25, 100); + spawn.mapRect(17000, -775, 50, 50); + spawn.mapRect(16975, -725, 75, 25); + spawn.mapRect(16950, -925, 50, 50); + spawn.mapRect(16925, -925, 75, 25); + spawn.mapRect(17000, -925, 25, 75); + spawn.mapRect(16975, -925, 25, 50); + spawn.mapRect(16975, -925, 25, 75); + spawn.mapRect(16800, -1000, 200, 25); + spawn.mapRect(16850, -1025, 100, 25); + spawn.mapRect(17050, -925, 25, 200); + spawn.mapRect(17075, -925, 25, 150); + spawn.mapRect(16775, -925, 50, 25); + spawn.mapRect(17000, -750, 25, 25); + spawn.mapRect(16975, -750, 25, 50); + spawn.mapRect(16950, -725, 75, 25); + spawn.mapRect(9475, -1150, 50, 200); + spawn.mapRect(9475, -1150, 25, 25); + spawn.mapRect(9475, -1150, 300, 50); + spawn.mapRect(9725, -1150, 25, 25); + spawn.mapRect(9725, -1150, 50, 200); + spawn.mapRect(9500, -975, 25, 25); + spawn.mapRect(9500, -975, 75, 25); + spawn.mapRect(9700, -975, 25, 25); + spawn.mapRect(9675, -975, 75, 25); + spawn.mapRect(9525, -1175, 200, 25); + spawn.mapRect(9550, -1200, 150, 100); + spawn.mapRect(9450, -1125, 50, 150); + spawn.mapRect(9750, -1125, 50, 150); + spawn.mapRect(9525, -1100, 50, 50); + spawn.mapRect(9675, -1100, 50, 50); + spawn.mapRect(9575, -1100, 25, 25); + spawn.mapRect(9650, -1100, 25, 25); + spawn.mapRect(9500, -1050, 50, 25); + spawn.mapRect(9700, -1100, 25, 75); + spawn.mapRect(11925, -1175, 75, 275); + spawn.mapRect(11925, -1175, 475, 75); + spawn.mapRect(12325, -1175, 75, 275); + spawn.mapRect(11925, -925, 175, 25); + spawn.mapRect(12225, -925, 175, 25); + spawn.mapRect(11950, -925, 125, 50); + spawn.mapRect(12275, -925, 100, 50); + spawn.mapRect(11925, -1200, 475, 25); + spawn.mapRect(11975, -1225, 375, 25); + spawn.mapRect(12000, -1225, 50, 25); + spawn.mapRect(12000, -1275, 325, 75); + spawn.mapRect(11900, -1175, 50, 250); + spawn.mapRect(12375, -1175, 50, 250); + spawn.mapRect(11900, -1150, 50, 150); + spawn.mapRect(11875, -1150, 50, 200); + spawn.mapRect(12375, -1150, 75, 200); + spawn.mapRect(11975, -1100, 50, 25); + spawn.mapRect(12300, -1100, 75, 25); + spawn.mapRect(12300, -950, 25, 50); + spawn.mapRect(12000, -950, 25, 75); + + spawn.mapRect(3625, 125, 25, 50); + spawn.mapRect(3650, 150, 25, 50); + spawn.mapRect(3675, 175, 25, 25); + spawn.mapRect(3450, -75, 25, 50); + spawn.mapRect(3475, -50, 25, 125); + spawn.mapRect(3500, -25, 25, 125); + spawn.mapRect(3500, 0, 50, 125); + spawn.mapRect(3550, 25, 25, 125); + spawn.mapRect(3575, 50, 25, 125); + spawn.mapRect(3600, 75, 25, 75); + spawn.mapRect(3600, 100, 50, 75); + spawn.mapRect(3650, 125, 25, 75); + spawn.mapRect(3675, 150, 25, 50); + spawn.mapRect(3675, 150, 75, 450); + spawn.mapRect(3675, 525, 700, 75); + spawn.mapRect(4300, 150, 75, 450); + mover = level.mover(3375, -100, 75, 100); + pool = level.hazard(3750, 200, 550, 325); + spawn.mapRect(-150, -225, 75, 325); + spawn.mapRect(-150, -325, 425, 100); + spawn.mapRect(-100, -400, 300, 75); + spawn.mapRect(-25, -475, 150, 75); + spawn.mapRect(200, -350, 25, 50); + spawn.mapRect(-50, -425, 25, 100); + spawn.mapRect(-125, -350, 25, 100); + spawn.mapRect(100, -425, 50, 125); + spawn.mapRect(1875, -450, 625, 50); + spawn.mapRect(1950, -500, 550, 50); + spawn.mapRect(2025, -525, 475, 25); + spawn.mapRect(2025, -550, 525, 25); + spawn.mapRect(2125, -575, 400, 25); + spawn.mapRect(2125, -600, 1325, 50); + spawn.mapRect(2475, -550, 950, 200); + spawn.mapRect(1825, -350, 100, 175); + spawn.mapRect(3350, -375, 25, 125); + spawn.mapRect(1850, -425, 50, 25); + spawn.mapRect(1925, -475, 125, 25); + spawn.mapRect(2000, -525, 125, 25); + spawn.mapRect(2100, -575, 200, 25); + spawn.mapRect(2400, -650, 725, 75); + spawn.mapRect(2500, -675, 475, 75); + spawn.mapRect(2625, -725, 225, 100); + spawn.mapRect(2675, -750, 125, 25); + spawn.mapRect(2600, -700, 25, 50); + spawn.mapRect(2850, -700, 25, 75); + spawn.mapRect(3075, -625, 75, 50); + spawn.mapRect(2375, -625, 50, 75); + spawn.mapRect(1900, -350, 100, 75); + spawn.mapRect(1925, -300, 50, 50); + spawn.mapRect(1975, -350, 75, 50); + spawn.mapRect(3325, -350, 50, 25); + spawn.mapRect(150, -25, 1425, 50); + spawn.mapRect(175, 75, 1200, 50); + spawn.mapRect(400, -25, 575, 25); + spawn.mapRect(425, -50, 750, 75); + spawn.mapRect(1250, -50, 125, 100); + spawn.mapRect(1175, -50, 100, 25); + spawn.mapRect(725, 100, 500, 50); + spawn.mapRect(625, -75, 300, 50); + spawn.mapRect(250, -25, 225, 25); + spawn.mapRect(1400, 75, 225, 50); + spawn.mapRect(950, -75, 200, 25); + spawn.mapRect(1200, -75, 125, 25); + spawn.mapRect(425, -50, 100, 25); + spawn.mapRect(450, -75, 100, 50); + spawn.mapRect(250, -50, 125, 50); + spawn.mapRect(250, 125, 125, 25); + spawn.mapRect(475, 100, 100, 50); + spawn.mapRect(650, 125, 25, 25); + spawn.mapRect(675, 100, 75, 50); + spawn.mapRect(825, 125, 200, 50); + spawn.mapRect(-75, 75, 325, 50); + spawn.mapRect(0, 100, 175, 50); + spawn.mapRect(775, -100, 275, 50); + spawn.mapRect(2475, 0, 925, 125); + spawn.mapRect(2500, 50, 875, 100); + spawn.mapRect(2550, 100, 775, 75); + spawn.mapRect(2625, 150, 600, 50); + spawn.mapRect(3225, 125, 275, 75); + spawn.mapRect(1750, -225, 150, 50); + spawn.mapRect(1800, -275, 50, 75); + spawn.mapRect(1775, -250, 75, 75); + spawn.mapRect(3200, -625, 250, 50); + spawn.mapRect(3275, -650, 75, 25); + spawn.mapRect(3175, -625, 25, 25); + spawn.mapRect(3250, -700, 100, 100); + spawn.mapRect(3200, -650, 75, 50); + spawn.mapRect(3225, -675, 75, 100); + spawn.mapRect(3325, -675, 50, 100); + spawn.mapRect(3375, -650, 25, 75); + spawn.mapRect(1575, -25, 100, 25); + spawn.mapRect(1450, 100, 125, 50); + spawn.mapRect(250, -300, 50, 50); + spawn.mapRect(275, -275, 50, 25); + spawn.mapRect(200, -275, 125, 50); + spawn.mapRect(3725, 200, 50, 375); + spawn.mapRect(3750, 275, 50, 300); + spawn.mapRect(3800, 350, 25, 200); + spawn.mapRect(3825, 425, 25, 150); + spawn.mapRect(3850, 500, 25, 75); + spawn.mapRect(4275, 250, 50, 325); + spawn.mapRect(4250, 300, 50, 300); + spawn.mapRect(4225, 375, 75, 200); + spawn.mapRect(4200, 450, 75, 150); + spawn.mapRect(4175, 500, 75, 75); + spawn.mapRect(3950, 500, 150, 50); + spawn.mapRect(4000, 500, 50, 25); + spawn.mapRect(3875, 500, 425, 25); + spawn.mapRect(3625, 200, 50, 75); + spawn.mapRect(3575, 200, 50, 25); + spawn.mapRect(3675, 275, 25, 25); + spawn.mapRect(3650, 275, 25, 25); + spawn.mapRect(3600, 200, 25, 50); + spawn.mapRect(2600, 175, 25, 25); + spawn.mapRect(2700, 175, 425, 100); + spawn.mapRect(2650, 200, 75, 50); + spawn.mapRect(3100, 200, 75, 50); + spawn.mapRect(2675, 250, 25, 25); + spawn.mapRect(2625, 200, 100, 25); + spawn.mapRect(3150, 200, 75, 25); + spawn.mapRect(3175, 225, 25, 25); + spawn.mapRect(3775, 250, 25, 50); + spawn.mapRect(3800, 275, 25, 125); + spawn.mapRect(3800, 325, 50, 225); + spawn.mapRect(3875, 400, 25, 200); + spawn.mapRect(3825, 425, 50, 125); + spawn.mapRect(3850, 375, 25, 100); + spawn.mapRect(3900, 450, 25, 75); + spawn.mapRect(3925, 475, 25, 50); + spawn.mapRect(3450, -600, 25, 325); + spawn.mapRect(3475, -575, 25, 275); + spawn.mapRect(3500, -525, 25, 200); + spawn.mapRect(3525, -500, 25, 150); + spawn.mapRect(3550, -475, 25, 100); + spawn.mapRect(2725, 250, 350, 50); + spawn.mapRect(2750, 275, 300, 50); + spawn.mapRect(3150, 250, 25, 25); + spawn.mapRect(4325, 150, 975, 75); + spawn.mapRect(4375, 225, 900, 25); + spawn.mapRect(4375, 175, 875, 100); + spawn.mapRect(4375, 225, 850, 75); + spawn.mapRect(4375, 225, 825, 100); + spawn.mapRect(4375, 275, 800, 75); + spawn.mapRect(4350, 325, 800, 50); + spawn.mapRect(4375, 350, 750, 50); + spawn.mapRect(4375, 350, 725, 75); + spawn.mapRect(4350, 375, 725, 75); + spawn.mapRect(4350, 400, 700, 75); + spawn.mapRect(4350, 425, 675, 75); + spawn.mapRect(4350, 475, 650, 50); + spawn.mapRect(4375, 500, 600, 50); + spawn.mapRect(4375, 500, 575, 75); + spawn.mapRect(4375, 550, 550, 50); + spawn.mapRect(4425, 125, 775, 75); + spawn.mapRect(5300, 175, 75, 50); + spawn.mapRect(4475, 100, 150, 25); + spawn.mapRect(4825, 125, 300, 25); + spawn.mapRect(4800, 100, 250, 25); + spawn.mapRect(5100, 100, 50, 25); + spawn.mapRect(4650, 100, 75, 25); + spawn.mapRect(5475, 225, 125, 300); + spawn.mapRect(5450, 275, 25, 125); + spawn.mapRect(5450, 450, 25, 75); + spawn.mapRect(5425, 325, 25, 75); + spawn.mapRect(5425, 475, 25, 50); + spawn.mapRect(5575, 250, 50, 150); + spawn.mapRect(5575, 450, 50, 50); + spawn.mapRect(5475, 525, 125, 25); + spawn.mapRect(5500, 550, 75, 25); + spawn.mapRect(5525, 575, 25, 25); + spawn.mapRect(3675, 575, 1050, 50); + spawn.mapRect(4175, 600, 250, 50); + spawn.mapRect(3850, 625, 100, 25); + spawn.mapRect(3700, 625, 75, 25); + spawn.mapRect(4050, 625, 50, 25); + spawn.mapRect(4500, 625, 225, 25); + spawn.mapRect(5725, 150, 75, 225); + spawn.mapRect(5700, 175, 25, 150); + spawn.mapRect(5775, 250, 50, 100); + spawn.mapRect(5950, 325, 75, 75); + spawn.mapRect(5925, 375, 25, 25); + spawn.mapRect(6000, 350, 50, 50); + spawn.mapRect(6125, 425, 1050, 75); + spawn.mapRect(6425, 0, 750, 75); + spawn.mapRect(6400, 25, 50, 50); + spawn.mapRect(6500, -25, 675, 75); + spawn.mapRect(6550, -25, 275, 25); + spawn.mapRect(6475, -25, 125, 75); + spawn.mapRect(6450, -25, 100, 100); + spawn.mapRect(6475, -75, 700, 75); + spawn.mapRect(6500, -75, 75, 25); + spawn.mapRect(6500, -125, 675, 125); + spawn.mapRect(6525, -150, 650, 125); + spawn.mapRect(6550, -175, 625, 50); + spawn.mapRect(6900, -200, 275, 75); + spawn.mapRect(6925, -250, 250, 175); + spawn.mapRect(6950, -275, 225, 75); + spawn.mapRect(6975, -300, 200, 50); + spawn.mapRect(7025, -325, 125, 125); + spawn.mapRect(6400, 50, 75, 175); + spawn.mapRect(6450, 50, 100, 100); + spawn.mapRect(6475, 150, 25, 25); + spawn.mapRect(6550, 75, 25, 25); + spawn.mapRect(6375, 75, 25, 150); + spawn.mapRect(6350, 100, 25, 75); + spawn.mapRect(6650, 50, 225, 50); + spawn.mapRect(6975, 75, 75, 25); + spawn.mapRect(6625, -175, 225, 25); + spawn.mapRect(6675, -200, 275, 25); + spawn.mapRect(6750, -225, 250, 25); + spawn.mapRect(6200, 475, 575, 50); + spawn.mapRect(6925, 500, 125, 25); + spawn.mapRect(6325, 400, 475, 25); + spawn.mapRect(6950, 400, 200, 25); + spawn.mapRect(7100, 75, 75, 100); + spawn.mapRect(7075, 75, 25, 25); + spawn.mapRect(7175, -300, 1650, 350); + spawn.mapRect(7325, -700, 100, 450); + spawn.mapRect(7600, -700, 100, 450); + spawn.mapRect(7900, -700, 100, 450); + spawn.mapRect(8200, -700, 100, 425); + spawn.mapRect(8500, -700, 100, 425); + spawn.mapRect(7275, -825, 1375, 125); + spawn.mapRect(7400, -700, 50, 25); + spawn.mapRect(7575, -700, 50, 25); + spawn.mapRect(7875, -700, 150, 25); + spawn.mapRect(8175, -700, 150, 25); + spawn.mapRect(8475, -700, 150, 25); + spawn.mapRect(7300, -325, 150, 75); + spawn.mapRect(7575, -325, 150, 75); + spawn.mapRect(7875, -325, 150, 75); + spawn.mapRect(8175, -325, 150, 75); + spawn.mapRect(8475, -325, 150, 75); + spawn.mapRect(7700, -700, 25, 25); + spawn.mapRect(7300, -700, 75, 25); + spawn.mapRect(7150, 50, 75, 50); + spawn.mapRect(7175, 100, 25, 25); + spawn.mapRect(7225, 50, 25, 25); + spawn.mapRect(7300, -850, 1325, 75); + spawn.mapRect(7325, -875, 1275, 50); + spawn.mapRect(7375, -900, 1200, 25); + spawn.mapRect(7350, -900, 25, 25); + spawn.mapRect(7375, -900, 200, 25); + + spawn.mapRect(7375, -925, 1175, 25); + spawn.mapRect(7400, -950, 1125, 25); + spawn.mapRect(7425, -975, 1075, 25); + spawn.mapRect(7450, -1000, 1025, 25); + spawn.mapRect(7675, -1050, 525, 50); + spawn.mapRect(7700, -1050, 100, 25); + spawn.mapRect(7700, -1075, 450, 25); + spawn.mapRect(7725, -1100, 400, 25); + spawn.mapRect(7775, -1125, 300, 25); + spawn.mapRect(7650, -1025, 75, 25); + spawn.mapRect(8200, -1025, 25, 25); + spawn.mapRect(8825, -275, 25, 300); + spawn.mapRect(8825, -225, 50, 125); + spawn.mapRect(8850, -50, 25, 75); + spawn.mapRect(7150, 425, 100, 425); + spawn.mapRect(7150, 775, 1600, 100); + spawn.mapRect(8750, 400, 75, 475); + spawn.mapRect(8825, 400, 25, 475); + spawn.mapRect(7225, 450, 50, 325); + spawn.mapRect(7250, 500, 50, 275); + spawn.mapRect(7300, 550, 25, 225); + spawn.mapRect(7325, 600, 25, 175); + spawn.mapRect(7350, 650, 25, 125); + spawn.mapRect(7375, 675, 25, 100); + spawn.mapRect(7400, 700, 25, 75); + spawn.mapRect(7425, 725, 25, 50); + spawn.mapRect(7450, 750, 25, 25); + spawn.mapRect(8725, 425, 50, 375); + spawn.mapRect(8700, 450, 75, 375); + spawn.mapRect(8675, 475, 100, 375); + spawn.mapRect(8650, 500, 125, 375); + spawn.mapRect(8600, 525, 100, 350); + spawn.mapRect(8575, 550, 100, 275); + spawn.mapRect(8550, 575, 150, 250); + spawn.mapRect(8525, 625, 100, 225); + spawn.mapRect(8500, 675, 100, 125); + spawn.mapRect(8625, 825, 25, 25); + spawn.mapRect(8475, 700, 75, 75); + spawn.mapRect(8450, 725, 50, 50); + spawn.mapRect(8425, 750, 100, 25); + wastepool = level.hazard(7250, 575, 1450, 200); + spawn.mapRect(7375, 0, 250, 75); + spawn.mapRect(7700, 0, 725, 75); + spawn.mapRect(8575, 50, 150, 25); + spawn.mapRect(7750, 50, 475, 50); + spawn.mapRect(7425, 50, 175, 50); + spawn.mapRect(8600, 50, 50, 50); + spawn.mapRect(7200, 850, 875, 50); + spawn.mapRect(8225, 850, 125, 50); + spawn.mapRect(8475, 850, 275, 50); + spawn.mapRect(7300, 875, 375, 50); + spawn.mapRect(7925, 875, 100, 50); + spawn.mapRect(8525, 875, 125, 50); + spawn.mapRect(8250, 875, 75, 50); + spawn.mapRect(7800, 900, 50, 25); + spawn.mapRect(8125, 875, 50, 50); + spawn.mapRect(8075, 875, 50, 50); + spawn.mapRect(7125, 500, 25, 325); + spawn.mapRect(7100, 475, 25, 300); + spawn.mapRect(7075, 600, 50, 125); + spawn.mapRect(7075, 500, 50, 25); + spawn.mapRect(8850, 425, 75, 450); + spawn.mapRect(8925, 475, 75, 400); + spawn.mapRect(9000, 550, 75, 325); + spawn.mapRect(9075, 650, 75, 25); + spawn.mapRect(9075, 625, 75, 250); + spawn.mapRect(9150, 675, 75, 200); + spawn.mapRect(9225, 750, 75, 125); + spawn.mapRect(8925, 450, 25, 25); + spawn.mapRect(9000, 500, 25, 75); + spawn.mapRect(9000, 525, 25, 100); + spawn.mapRect(9000, 525, 50, 100); + spawn.mapRect(9050, 575, 50, 100); + spawn.mapRect(9075, 600, 50, 75); + spawn.mapRect(9150, 650, 25, 100); + spawn.mapRect(9225, 725, 50, 100); + spawn.mapRect(9225, 700, 25, 100); + spawn.mapRect(9300, 800, 1375, 75); + spawn.mapRect(9300, 775, 25, 50); + spawn.mapRect(9425, 775, 200, 25); + spawn.mapRect(9500, 875, 200, 25); + spawn.mapRect(9725, 825, 200, 75); + spawn.mapRect(10000, 850, 125, 50); + spawn.mapRect(10225, 850, 400, 50); + spawn.mapRect(9775, 775, 125, 25); + spawn.mapRect(10100, 775, 75, 75); + spawn.mapRect(10275, 750, 225, 75); + spawn.mapRect(9975, 775, 25, 50); + spawn.mapRect(10000, 775, 25, 50); + spawn.mapRect(10025, 775, 25, 75); + spawn.mapRect(10675, 775, 50, 100); + spawn.mapRect(10725, 725, 50, 150); + spawn.mapRect(10775, 650, 50, 225); + spawn.mapRect(10825, 575, 50, 300); + spawn.mapRect(10875, 500, 50, 375); + spawn.mapRect(10925, 425, 275, 450); + spawn.mapRect(11200, 500, 50, 375); + spawn.mapRect(11250, 575, 50, 300); + spawn.mapRect(11300, 650, 50, 225); + spawn.mapRect(11350, 725, 50, 150); + spawn.mapRect(11400, 775, 50, 100); + spawn.mapRect(10700, 750, 75, 75); + spawn.mapRect(10775, 700, 25, 25); + spawn.mapRect(10750, 700, 75, 75); + spawn.mapRect(10800, 625, 125, 75); + spawn.mapRect(10850, 550, 125, 50); + spawn.mapRect(10900, 475, 150, 75); + spawn.mapRect(11125, 475, 100, 50); + spawn.mapRect(11200, 550, 75, 50); + spawn.mapRect(11275, 625, 50, 75); + spawn.mapRect(11325, 700, 50, 75); + spawn.mapRect(11375, 750, 50, 75); + spawn.mapRect(11550, 225, 1525, 75); + spawn.mapRect(11450, 825, 1625, 50); + spawn.mapRect(11450, 800, 1625, 75); + spawn.mapRect(11525, -350, 50, 650); + spawn.mapRect(11850, -350, 50, 650); + spawn.mapRect(12225, -350, 50, 650); + spawn.mapRect(12600, -350, 50, 650); + spawn.mapRect(13000, -350, 75, 650); + spawn.mapRect(11525, -200, 1525, 50); + spawn.mapRect(11525, 50, 1550, 50); + spawn.mapRect(11525, -400, 1550, 50); + spawn.mapRect(11575, -425, 1450, 50); + spawn.mapRect(11625, -450, 1325, 75); + spawn.mapRect(11700, -475, 1175, 75); + spawn.mapRect(11725, -500, 1125, 75); + spawn.mapRect(11825, -400, 100, 75); + spawn.mapRect(11825, 200, 100, 75); + spawn.mapRect(12200, -375, 100, 50); + spawn.mapRect(12200, 200, 100, 75); + spawn.mapRect(12575, 200, 100, 75); + spawn.mapRect(12575, -375, 100, 50); + spawn.mapRect(11500, 825, 50, 25); + spawn.mapRect(11550, 775, 175, 25); + spawn.mapRect(11525, 875, 250, 25); + spawn.mapRect(11875, 750, 225, 50); + spawn.mapRect(11950, 850, 375, 50); + spawn.mapRect(12500, 775, 250, 75); + spawn.mapRect(12750, 850, 175, 50); + + + // books + spawn.bodyRect(11575, -300, 25, 100); + spawn.bodyRect(11600, -300, 25, 100); + spawn.bodyRect(11625, -300, 25, 100); + spawn.bodyRect(11650, -300, 25, 100); + spawn.bodyRect(11675, -300, 25, 100); + spawn.bodyRect(11700, -300, 25, 100); + spawn.bodyRect(11725, -300, 25, 100); + spawn.bodyRect(11750, -300, 25, 100); + spawn.bodyRect(11775, -300, 25, 100); + spawn.bodyRect(11800, -300, 25, 100); + spawn.bodyRect(11825, -300, 25, 100); + spawn.bodyRect(11900, -50, 25, 100); + spawn.bodyRect(11925, -50, 25, 100); + spawn.bodyRect(11950, -50, 25, 100); + spawn.bodyRect(11975, -50, 50, 100); + spawn.bodyRect(12025, -50, 50, 100); + spawn.bodyRect(12075, -50, 25, 100); + spawn.bodyRect(12100, -50, 50, 100); + spawn.bodyRect(12150, -50, 25, 100); + spawn.bodyRect(12175, -50, 25, 100); + spawn.bodyRect(12200, -50, 25, 100); + spawn.bodyRect(11900, -300, 25, 100); + spawn.bodyRect(11925, -300, 25, 100); + spawn.bodyRect(11950, -225, 75, 25); + spawn.bodyRect(12650, -50, 25, 100); + spawn.bodyRect(12675, -50, 25, 100); + spawn.bodyRect(12725, -50, 25, 100); + spawn.bodyRect(12750, -50, 50, 100); + spawn.bodyRect(12650, -275, 25, 75); + spawn.bodyRect(12675, -275, 25, 75); + spawn.bodyRect(12700, -275, 50, 75); + spawn.bodyRect(12750, -275, 25, 75); + spawn.bodyRect(12775, -275, 25, 75); + spawn.bodyRect(12800, -275, 25, 75); + spawn.bodyRect(12825, -275, 25, 75); + spawn.bodyRect(12850, -275, 50, 75); + spawn.bodyRect(12900, -275, 50, 75); + spawn.bodyRect(12950, -275, 50, 75); + spawn.mapRect(12200, 775, 175, 50); + spawn.mapRect(11550, 250, 1500, 75); + spawn.mapRect(11575, 275, 1450, 75); + spawn.mapRect(11600, 325, 1400, 50); + spawn.mapRect(11625, 350, 1350, 50); + spawn.mapRect(11725, 375, 1150, 50); + spawn.mapRect(11900, 400, 800, 50); + spawn.mapRect(12100, 425, 425, 50); + spawn.mapRect(12125, 475, 375, 25); + spawn.mapRect(12200, 475, 225, 50); + spawn.mapRect(11475, -400, 50, 700); + spawn.mapRect(11450, -375, 50, 625); + spawn.mapRect(11425, -350, 100, 600); + spawn.mapRect(11400, -300, 75, 525); + spawn.mapRect(11375, -250, 100, 400); + spawn.mapRect(11350, -150, 50, 200); + spawn.mapRect(13075, 825, 25, 50); + spawn.mapRect(13100, 850, 25, 25); + spawn.mapRect(13200, 700, 100, 225); + spawn.mapRect(13300, 775, 25, 100); + spawn.mapRect(13325, 825, 25, 50); + spawn.mapRect(13175, 775, 25, 125); + spawn.mapRect(13225, 675, 50, 25); + spawn.mapRect(13225, 925, 50, 25); + spawn.mapRect(9250, 75, 1400, 150); + spawn.mapRect(9250, -225, 150, 300); + spawn.mapRect(9250, -275, 575, 50); + spawn.mapRect(9675, -225, 150, 300); + spawn.mapRect(9325, -325, 400, 50); + spawn.mapRect(9400, -350, 250, 25); + spawn.mapRect(9475, -375, 125, 25); + spawn.mapRect(9825, -225, 150, 300); + spawn.mapRect(10225, -225, 150, 300); + spawn.mapRect(9825, -275, 550, 50); + spawn.mapRect(9900, -325, 375, 50); + spawn.mapRect(9950, -350, 275, 25); + spawn.mapRect(10000, -375, 175, 25); + spawn.mapRect(10350, -275, 50, 375); + spawn.mapRect(10400, -250, 25, 325); + spawn.mapRect(10425, -225, 25, 375); + spawn.mapRect(10450, -200, 25, 325); + spawn.mapRect(10475, -175, 25, 350); + spawn.mapRect(10500, -150, 25, 300); + spawn.mapRect(10525, -125, 25, 300); + spawn.mapRect(10550, -100, 25, 225); + spawn.mapRect(10575, -75, 25, 200); + spawn.mapRect(10600, -50, 25, 150); + spawn.mapRect(10625, -25, 25, 175); + spawn.mapRect(9225, -225, 25, 450); + spawn.mapRect(9200, -175, 25, 400); + spawn.mapRect(9175, -150, 50, 375); + spawn.mapRect(9150, -125, 50, 350); + spawn.mapRect(9400, -175, 25, 275); + spawn.mapRect(9425, -125, 25, 200); + spawn.mapRect(9650, -175, 25, 250); + spawn.mapRect(9625, -125, 25, 275); + spawn.mapRect(9975, -175, 25, 300); + spawn.mapRect(10000, -125, 25, 250); + spawn.mapRect(10200, -175, 25, 300); + spawn.mapRect(10175, -125, 25, 225); + spawn.mapRect(9325, 225, 225, 25); + spawn.mapRect(9675, 225, 250, 50); + spawn.mapRect(10075, 225, 200, 25); + spawn.mapRect(10400, 200, 175, 50); + spawn.mapRect(13425, 675, 1425, 100); + spawn.mapRect(13450, 725, 375, 75); + spawn.mapRect(13850, 775, 225, 50); + spawn.mapRect(14150, 750, 300, 50); + spawn.mapRect(14575, 750, 200, 75); + spawn.mapRect(13550, 800, 150, 25); + spawn.mapRect(14250, 800, 225, 25); + spawn.mapRect(13425, 275, 1425, 100); + spawn.mapRect(13475, 250, 1325, 75); + spawn.mapRect(13550, 225, 1125, 75); + spawn.mapRect(13600, 200, 1025, 25); + spawn.mapRect(13650, 150, 925, 50); + spawn.mapRect(13725, 100, 775, 100); + spawn.mapRect(13825, 50, 525, 100); + spawn.mapRect(13900, 0, 350, 75); + spawn.mapRect(13975, -25, 175, 75); + spawn.mapRect(13875, 25, 50, 50); + spawn.mapRect(13800, 75, 75, 50); + spawn.mapRect(13700, 125, 75, 50); + spawn.mapRect(13625, 200, 50, 25); + spawn.mapRect(13650, 175, 25, 25); + spawn.mapRect(13625, 175, 125, 75); + spawn.mapRect(14350, 75, 25, 50); + spawn.mapRect(14250, 0, 25, 75); + spawn.mapRect(14275, 50, 25, 50); + spawn.mapRect(14275, 25, 25, 75); + spawn.mapRect(14500, 125, 25, 75); + spawn.mapRect(14575, 175, 25, 75); + spawn.mapRect(13475, 650, 400, 50); + spawn.mapRect(13975, 675, 75, 25); + spawn.mapRect(14000, 650, 50, 50); + spawn.mapRect(14150, 625, 675, 100); + spawn.mapRect(14325, 625, 100, 25); + spawn.mapRect(14300, 600, 325, 25); + spawn.mapRect(13525, 325, 375, 100); + spawn.mapRect(13975, 375, 400, 25); + spawn.mapRect(14500, 325, 100, 75); + spawn.mapRect(14850, 675, 50, 200); + spawn.mapRect(14875, 700, 50, 175); + spawn.mapRect(14925, 725, 50, 150); + spawn.mapRect(14975, 750, 50, 125); + spawn.mapRect(15025, 775, 50, 100); + spawn.mapRect(15075, 750, 1150, 100); + spawn.mapRect(15100, 825, 225, 50); + spawn.mapRect(15500, 850, 225, 25); + spawn.mapRect(15925, 775, 275, 100); + spawn.mapRect(15775, 825, 50, 50); + spawn.mapRect(15225, 250, 1050, 125); + spawn.mapRect(15250, 200, 1000, 50); + spawn.mapRect(15275, 175, 950, 50); + spawn.mapRect(15300, 150, 900, 50); + spawn.mapRect(15325, 125, 850, 25); + spawn.mapRect(15350, 100, 800, 25); + spawn.mapRect(15375, 75, 750, 25); + spawn.mapRect(15400, 50, 700, 100); + spawn.mapRect(15425, 25, 650, 75); + spawn.mapRect(15450, 0, 600, 50); + spawn.mapRect(15475, -25, 550, 75); + spawn.mapRect(15500, -50, 500, 75); + spawn.mapRect(15525, -75, 450, 75); + spawn.mapRect(15550, -100, 400, 75); + spawn.mapRect(15575, -125, 350, 75); + spawn.mapRect(15600, -150, 300, 50); + spawn.mapRect(15625, -175, 250, 50); + spawn.mapRect(15650, -200, 200, 25); + spawn.mapRect(15675, -225, 150, 75); + spawn.mapRect(15700, -250, 100, 75); + spawn.mapRect(16275, 250, 25, 125); + spawn.mapRect(16250, 225, 25, 25); + spawn.mapRect(15200, 250, 25, 125); + spawn.mapRect(15225, 225, 25, 25); + spawn.mapRect(15275, 350, 175, 50); + spawn.mapRect(15550, 350, 425, 75); + spawn.mapRect(16100, 375, 175, 25); + spawn.mapRect(14700, -375, 50, 325); + spawn.mapRect(14700, -425, 375, 50); + spawn.mapRect(14750, -375, 125, 100); + spawn.mapRect(14750, -275, 75, 75); + spawn.mapRect(14850, -375, 100, 50); + spawn.mapRect(14825, -275, 25, 25); + spawn.mapRect(14950, -375, 25, 25); + spawn.mapRect(14875, -325, 25, 25); + spawn.mapRect(14725, -200, 50, 25); + spawn.mapRect(14700, -75, 100, 25); + spawn.mapRect(15050, -425, 25, 100); + spawn.mapRect(14725, -450, 325, 25); + spawn.mapRect(14775, -475, 225, 25); + spawn.mapRect(14825, -500, 125, 25); + spawn.mapRect(14675, -350, 25, 100); + spawn.mapRect(14675, -175, 25, 75); + spawn.mapRect(14850, 325, 25, 50); + spawn.mapRect(5700, -725, 375, 50); + spawn.mapRect(6025, -725, 50, 325); + spawn.mapRect(5775, -675, 250, 25); + spawn.mapRect(6000, -675, 25, 225); + spawn.mapRect(5950, -650, 50, 75); + spawn.mapRect(5900, -650, 75, 25); + spawn.mapRect(6000, -575, 25, 25); + spawn.mapRect(6050, -700, 50, 275); + spawn.mapRect(5925, -625, 75, 25); + spawn.mapRect(5775, -750, 100, 25); + spawn.mapRect(5950, -750, 100, 25); + spawn.mapRect(5675, -725, 25, 150); + spawn.mapRect(5975, -400, 100, 25); + spawn.mapRect(5650, -700, 25, 75); + spawn.mapRect(5700, -675, 25, 50); + spawn.mapRect(5700, -600, 25, 25); + spawn.mapRect(15275, 750, 225, 25); + spawn.mapRect(15225, 725, 250, 25); + spawn.mapRect(15675, 725, 275, 100); + spawn.mapRect(16075, 725, 125, 50); + spawn.pulsar(5775.349354333542, -594.9058498351887) + spawn.pulsar(5852.915433009502, -545.5679375496002) + spawn.pulsar(5921.99534574469, -480.69487503053097) + spawn.mapRect(3725, -975, 1525, 100); + spawn.mapRect(3750, -650, 300, 75); + spawn.mapRect(4300, -650, 300, 75); + spawn.mapRect(4950, -650, 300, 75); + spawn.mapRect(5250, -975, 75, 400); + spawn.mapRect(3725, -975, 75, 400); + spawn.mapRect(4325, -600, 250, 50); + spawn.mapRect(4350, -550, 200, 25); + spawn.mapRect(3800, -575, 225, 25); + spawn.mapRect(3825, -550, 175, 25); + spawn.mapRect(4975, -600, 275, 50); + spawn.mapRect(5025, -550, 175, 25); + spawn.mapRect(3800, -1025, 1450, 50); + spawn.mapRect(3875, -1075, 1275, 50); + spawn.mapRect(3975, -1125, 1000, 50); + spawn.mapRect(3950, -1100, 50, 25); + spawn.mapRect(3850, -1050, 150, 25); + spawn.mapRect(3775, -1000, 200, 25); + spawn.mapRect(5225, -975, 75, 25); + spawn.mapRect(4950, -1100, 75, 125); + spawn.mapRect(5100, -1050, 75, 75); + spawn.mapRect(5225, -1000, 50, 100); + spawn.mapRect(4350, -675, 150, 75); + spawn.mapRect(4525, -650, 50, 25); + spawn.mapRect(4550, -675, 50, 75); + spawn.mapRect(3825, -650, 50, 25); + spawn.mapRect(3825, -675, 150, 50); + spawn.mapRect(4025, -675, 25, 100); + spawn.mapRect(4950, -675, 75, 50); + spawn.mapRect(5075, -675, 75, 75); + spawn.mapRect(5200, -675, 75, 50); + spawn.pulsar(4068.196906578167, -653.550201356403) + spawn.pulsar(4147.672553167598, -651.0093457935446) + spawn.pulsar(4228.863663369247, -653.4768859607283) + spawn.pulsar(4619.092688319791, -657.3942377732394) + spawn.pulsar(4724.821759138369, -653.4213864043036) + spawn.pulsar(4873.583205330713, -657.4103118310311) + spawn.pulsar(3871.920598597728, -804.0595760512573) + spawn.pulsar(4053.019377134256, -778.0061810623848) + spawn.pulsar(4211.732836201937, -780.4633597161928) + spawn.pulsar(4380.7768131190005, -776.3400515412312) + spawn.pulsar(4533.031170401828, -791.1397513503708) + spawn.pulsar(4663.577749297493, -789.0488615794887) + spawn.pulsar(4965.48351658387, -809.0025104385204) + spawn.pulsar(5122.782442346123, -810.2526936643312) + spawn.mapRect(3700, -875, 25, 250); + spawn.mapRect(5325, -900, 25, 250); + spawn.mapRect(5325, -850, 50, 150); + spawn.mapRect(5375, -825, 25, 75); + spawn.pulsar(14786.058375868968, -140.5759223979466) + spawn.pulsar(14862.320083571307, -177.02507110101413) + spawn.pulsar(14888.982047411475, -216.4856450590454) + spawn.pulsar(14950.503812885598, -280.9333882582806) + spawn.pulsar(15003.202057456116, -316.6767970823471) + spawn.spinner(759.4093972764956, -356.0541595435453) + spawn.spinner(1467.1412487475097, -617.4326431210314) + spawn.mapRect(11850, 775, 50, 50); + spawn.mapRect(12075, 775, 50, 50); + spawn.mapRect(16225, 750, 75, 325); + spawn.mapRect(16300, 775, 50, 325); + spawn.mapRect(16350, 800, 50, 275); + spawn.mapRect(16375, 825, 50, 200); + spawn.mapRect(16450, 875, 25, 150); + spawn.mapRect(16450, 875, 25, 225); + spawn.mapRect(16400, 875, 50, 150); + spawn.mapRect(16225, 1025, 250, 75); + spawn.mapRect(16475, 925, 25, 175); + spawn.mapRect(16500, 975, 25, 125); + spawn.mapRect(16525, 1025, 25, 50); + spawn.mapRect(16425, 1075, 150, 25); + spawn.mapRect(16225, 1100, 1175, 75); + spawn.mapRect(17200, 1050, 25, 50); + spawn.mapRect(17225, 950, 25, 200); + spawn.mapRect(17250, 800, 25, 300); + spawn.mapRect(17275, 725, 25, 400); + spawn.mapRect(17300, 750, 75, 400); + spawn.mapRect(17300, 725, 100, 450); + spawn.mapRect(16300, 250, 1075, 125); + spawn.mapRect(16450, -75, 100, 400); + spawn.mapRect(17100, -75, 100, 400); + spawn.mapRect(16425, 200, 150, 50); + spawn.mapRect(17075, 200, 150, 50); + spawn.mapRect(16425, -75, 150, 25); + spawn.mapRect(17075, -75, 150, 50); + spawn.mapRect(16425, -50, 150, 50); + spawn.mapRect(16575, -75, 525, 50); + spawn.mapRect(17075, -50, 150, 50); + spawn.mapRect(16550, -100, 550, 25); + spawn.mapRect(16575, -125, 500, 75); + spawn.mapRect(16600, -150, 450, 75); + spawn.mapRect(16625, -175, 400, 75); + spawn.mapRect(16675, -200, 275, 50); + spawn.mapRect(16750, -225, 125, 100); + spawn.mapRect(19700, 675, 50, 325); + spawn.mapRect(19725, 700, 50, 250); + spawn.mapRect(19750, 750, 25, 175); + spawn.mapRect(16775, -25, 100, 275); + spawn.mapRect(16750, -25, 150, 25); + spawn.mapRect(16750, 225, 150, 50); + spawn.pulsar(3037.797768861211, -1242.9871362505041) + spawn.pulsar(3070.307596879197, -1219.5627538123044) + spawn.pulsar(3111.2633762820287, -1107.7297980154415) + spawn.pulsar(5417.516810698634, 842.824851834252) + spawn.pulsar(5484.672534515589, 883.9519420960905) + spawn.pulsar(5588.5457723826075, 907.389646857348) + spawn.pulsar(16845.139047921595, -885.6942536135854) + spawn.pulsar(16892.187197333486, -849.5235136465661) + spawn.pulsar(16912.323783455256, -764.5275187038021) + powerUps.spawn(2571.591711269197, -145.6717604789277, 'heal') + powerUps.spawn(4415.693974666946, -15.077304620299628, 'heal') + powerUps.spawn(7505.795753124317, -360.0330849392626, 'heal') + powerUps.spawn(7809.5145838152075, -388.5517653996709, 'heal') + powerUps.spawn(8049.726318297545, 534.4543327703304, 'heal') + powerUps.spawn(8514.444440033667, 551.0268033205841, 'heal') + powerUps.spawn(8927.146055851512, 407.25359241772685, 'heal') + powerUps.spawn(9730.170170158563, 463.5594890235955, 'ammo') + powerUps.spawn(9998.34942087522, 434.9511651200589, 'ammo') + powerUps.spawn(10119.083720019844, 437.4195779326937, 'ammo') + powerUps.spawn(10346.197135080345, 423.1868836972815, 'ammo') + powerUps.spawn(1853.3194789931017, -36.87254038474242, 'ammo') + powerUps.spawn(4491.396397908616, 40.2862012621236, 'ammo') + powerUps.spawn(4954.207518897743, 50.27790416201856, 'ammo') + spawn.mapRect(9125, -50, 75, 275); + spawn.mapRect(9100, 0, 50, 225); + spawn.mapRect(9075, 75, 75, 150); + spawn.mapRect(9050, 150, 125, 50); + spawn.mapRect(9050, 200, 225, 25); + mover1 = level.mover(4000, -1125, 975, 25); + mover2 = level.mover(15675, 725, 275, 25); + spawn.mapRect(15025, -375, 25, 25); + spawn.mapRect(12200, -150, 100, 25); + spawn.mapRect(11825, -150, 100, 25); + spawn.mapRect(11825, 75, 100, 50); + spawn.mapRect(12200, 75, 100, 50); + spawn.mapRect(12575, 100, 75, 25); + spawn.mapRect(12625, 50, 50, 75); + spawn.mapRect(12600, -175, 75, 50); + spawn.mapRect(12575, -175, 75, 50); + spawn.mapRect(14125, 650, 75, 25); + spawn.mapRect(13875, 375, 50, 25); + spawn.mapRect(13300, -525, 325, 50); + spawn.mapRect(13575, -525, 50, 250); + spawn.mapRect(13550, -300, 75, 25); + spawn.mapRect(13300, -525, 25, 75); + spawn.mapRect(13525, -475, 50, 50); + spawn.mapRect(13500, -475, 100, 25); + spawn.mapRect(13550, -475, 25, 100); + spawn.mapRect(13325, -550, 275, 25); + spawn.mapRect(13350, -575, 200, 25); + spawn.mapRect(13625, -500, 25, 175); + spawn.mapRect(13650, -450, 25, 75); + spawn.mapRect(13500, 375, 75, 25); + spawn.mapRect(15550, -950, 50, 225); + spawn.mapRect(15575, -750, 75, 25); + spawn.mapRect(15550, -950, 375, 50); + spawn.mapRect(15925, -950, 50, 225); + spawn.mapRect(15875, -750, 100, 25); + spawn.mapRect(15575, -1000, 375, 75); + spawn.mapRect(15625, -1050, 250, 100); + spawn.mapRect(15600, -1025, 75, 50); + spawn.mapRect(15875, -1000, 25, 25); + spawn.mapRect(15825, -1025, 75, 75); + spawn.mapRect(15700, -1100, 125, 50); + spawn.mapRect(15650, -1075, 75, 50); + spawn.mapRect(15800, -1075, 50, 75); + spawn.mapRect(15575, -725, 50, 25); + spawn.mapRect(15900, -725, 50, 25); + spawn.mapRect(15525, -925, 25, 175); + spawn.mapRect(15950, -925, 50, 200); + spawn.mapRect(15500, -875, 25, 75); + spawn.mapRect(16000, -875, 25, 75); + spawn.mapRect(15600, -900, 50, 75); + spawn.mapRect(15650, -900, 25, 25); + spawn.mapRect(15600, -825, 25, 25); + spawn.mapRect(15875, -900, 50, 50); + spawn.mapRect(15850, -925, 75, 50); + spawn.mapRect(15925, -875, 25, 25); + spawn.mapRect(15925, -850, 25, 25); + spawn.mapRect(15900, -875, 50, 50); + bigpool = level.hazard(9075, 575, 1950, 250); + spawn.mapRect(16000, -775, 25, 50); + spawn.mapRect(16000, -800, 25, 25); + spawn.mapRect(15500, -825, 25, 75); + spawn.mapRect(15475, -850, 75, 75); + spawn.mapRect(16000, -850, 50, 100); + spawn.mapRect(10775, -450, 50, 200); + spawn.mapRect(10775, -275, 100, 25); + spawn.mapRect(11100, -450, 50, 200); + spawn.mapRect(11050, -275, 75, 25); + spawn.mapRect(10775, -450, 375, 25); + spawn.mapRect(10825, -475, 275, 25); + spawn.mapRect(10875, -500, 150, 25); + spawn.mapRect(10900, -525, 100, 25); + spawn.mapRect(10750, -425, 25, 150); + spawn.mapRect(11150, -400, 25, 125); + spawn.mapRect(10725, -400, 50, 100); + spawn.mapRect(11150, -375, 50, 75); + spawn.mapRect(10800, -250, 50, 25); + spawn.mapRect(10825, -425, 50, 50); + spawn.mapRect(10875, -425, 25, 25); + spawn.mapRect(10825, -375, 25, 25); + spawn.mapRect(11050, -425, 50, 50); + spawn.mapRect(11025, -425, 25, 25); + spawn.mapRect(11075, -375, 25, 25); + spawn.mapRect(950, -1075, 50, 200); + spawn.mapRect(950, -1125, 300, 50); + spawn.mapRect(1000, -1075, 50, 50); + spawn.mapRect(1050, -1075, 25, 25); + spawn.mapRect(975, -1025, 50, 25); + spawn.mapRect(975, -1150, 250, 25); + spawn.mapRect(1000, -1175, 200, 25); + spawn.mapRect(900, -1075, 50, 175); + spawn.mapRect(875, -1050, 25, 125); + spawn.mapRect(950, -875, 125, 25); + spawn.mapRect(1250, -1125, 25, 125); + spawn.mapRect(975, -850, 75, 25); + spawn.mapRect(1250, -1100, 50, 75); + spawn.mapRect(925, -900, 50, 25); + spawn.mapRect(1050, -1200, 100, 25); + spawn.mapRect(1225, -1000, 50, 25); + spawn.mapRect(16375, 350, 900, 50); + spawn.mapRect(16400, 375, 850, 50); + spawn.mapRect(16425, 400, 800, 50); + spawn.mapRect(16475, 425, 675, 50); + spawn.mapRect(16625, 475, 375, 25); + spawn.mapRect(16650, 500, 325, 25); + spawn.mapRect(16675, 500, 275, 50); + spawn.mapRect(17400, 775, 25, 325); + spawn.mapRect(17425, 825, 25, 225); + spawn.mapRect(16200, 900, 25, 225); + spawn.mapRect(16175, 925, 25, 125); + spawn.mapRect(16150, 975, 25, 25); + spawn.mapRect(16400, 1150, 850, 50); + spawn.mapRect(16475, 1175, 650, 50); + spawn.mapRect(16575, 1225, 450, 25); + spawn.sneaker(7895.471733263175, 257.75477496554186) + spawn.sneaker(8109.4934675858085, 349.44686618726473) + spawn.sneaker(7525.886813944122, 391.9511482895349) + spawn.sneaker(8076.43795816953, 441.14947363958373) + spawn.pulsar(1064.583377612331, -976.2077284446908) + spawn.pulsar(1158.3436115513837, -1054.4975368803214) + spawn.pulsar(10966.055009228428, -373.8481911663377) + spawn.pulsar(10913.989668763379, -261.59108542627166) + spawn.pulsar(13454.158594286884, -402.8270664336466) + spawn.pulsar(13360.079608974078, -246.97797933698774) + spawn.pulsar(13497.913481830354, -251.68317759640576) + spawn.pulsar(15687.09056963911, -850.8426925141155) + spawn.pulsar(15829.058084589731, -785.4134546702737) + spawn.pulsar(15674.313958480483, -685.0594164868394) + spawn.pulsar(15819.881465281747, -686.4370174238113) + spawn.sneakBoss(18189.441342796745, 537.6633241821036) + thirdpool = level.hazard(16425, 925, 925, 200); + spawn.mapRect(17675, -525, 75, 725); + spawn.mapRect(17625, -475, 75, 650); + spawn.mapRect(17575, -425, 75, 575); + spawn.mapRect(17700, -525, 1125, 75); + spawn.mapRect(17675, 175, 1125, 75); + spawn.mapRect(18775, -525, 75, 775); + spawn.mapRect(18825, -475, 75, 675); + spawn.mapRect(18900, -450, 50, 625); + spawn.mapRect(18950, -400, 50, 500); + spawn.mapRect(17750, -575, 1000, 50); + spawn.mapRect(17775, -625, 950, 50); + spawn.mapRect(17800, -675, 900, 75); + spawn.mapRect(17825, -725, 850, 125); + spawn.mapRect(17850, -750, 800, 25); + spawn.mapRect(17750, 125, 50, 50); + spawn.mapRect(17750, 100, 25, 25); + spawn.mapRect(17800, 150, 25, 25); + spawn.mapRect(17750, -450, 75, 75); + spawn.mapRect(17750, -400, 25, 50); + spawn.mapRect(17800, -450, 50, 25); + spawn.mapRect(18750, -450, 25, 25); + spawn.mapRect(18725, -450, 50, 50); + spawn.mapRect(18700, -475, 25, 25); + spawn.mapRect(18725, -450, 25, 25); + spawn.mapRect(18700, -450, 75, 25); + spawn.mapRect(18750, -425, 25, 50); + spawn.mapRect(18725, 125, 75, 75); + spawn.mapRect(18700, 150, 50, 50); + spawn.mapRect(18750, 100, 75, 50); + spawn.mapRect(17850, 150, 850, 50); + spawn.mapRect(17825, 150, 25, 50); + spawn.mapRect(17550, -350, 25, 450); + spawn.mapRect(19000, -325, 25, 400); + spawn.mapRect(18000, -775, 475, 25); + spawn.mapRect(18025, -800, 425, 75); + spawn.mapRect(18050, -825, 375, 75); + spawn.mapRect(18075, -850, 325, 50); + spawn.mapRect(18100, -875, 275, 100); + spawn.mapRect(18125, -900, 225, 75); + spawn.mapRect(18150, -925, 175, 75); + spawn.mapRect(17275, 750, 1775, 125); + spawn.mapRect(17475, 725, 450, 50); + spawn.mapRect(18200, 725, 200, 50); + spawn.mapRect(18650, 725, 225, 75); + spawn.shieldingBoss(18253.51035871325, -131.1707821125636) + // spawn.blockBoss(12604.846253470663, 607.6074958800299) + spawn.mapRect(17725, 250, 1025, 25); + spawn.mapRect(17775, 275, 925, 25); + spawn.mapRect(17800, 300, 875, 25); + spawn.mapRect(17850, 325, 775, 25); + spawn.mapRect(17375, 275, 25, 75); + spawn.mapRect(19050, 750, 25, 275); + spawn.mapRect(19075, 775, 25, 250); + spawn.mapRect(19100, 800, 25, 225); + spawn.mapRect(19125, 850, 25, 175); + spawn.mapRect(19150, 875, 25, 150); + spawn.mapRect(19175, 925, 25, 100); + spawn.mapRect(19200, 950, 25, 75); + spawn.mapRect(19000, 850, 100, 175); + spawn.mapRect(19050, 975, 650, 50); + spawn.mapRect(19425, 650, 275, 50); + spawn.mapRect(19675, 650, 50, 375); + spawn.mapRect(19050, 1025, 625, 25); + spawn.mapRect(19075, 1050, 575, 25); + spawn.mapRect(19250, 1100, 200, 25); + spawn.mapRect(19175, 1075, 375, 25); + spawn.mapRect(19450, 625, 225, 25); + spawn.mapRect(19500, 600, 150, 50); + spawn.mapRect(19625, 700, 50, 50); + spawn.mapRect(19600, 700, 25, 25); + spawn.mapRect(19650, 750, 25, 25); + spawn.mapRect(19400, 650, 25, 100); + spawn.mapRect(19375, 675, 25, 50); + spawn.mapRect(17600, 875, 250, 25); + spawn.mapRect(18100, 850, 375, 50); + spawn.mapRect(18650, 875, 325, 25); + + pooldunker = level.mover(7175, 425, 50, 25); + level.custom = () => { + level.exit.drawAndCheck(); + pooldunker.VxGoal = 90; + pooldunker.push(); + mover.VxGoal = 45; + mover.push(); + level.enter.draw(); + pool.query(); + wastepool.query(); + thirdpool.query(); + mover1.VxGoal = 12; + mover1.push(); + mover2.VxGoal = 24; + mover2.push(); + bigpool.query(); + + for (i = 0; i < mob.length; i++) { if (mob[i].isBoss == false) { mob[i].damageReduction = 0.13 } } + }; + + spawn.mapRect(-100, 0, 1000, 100); + powerUps.addResearchToLevel() //needs to run after mobs are spawned + }, // ******************************************************************************************************** // ******************************************************************************************************** // ***************************************** training levels ********************************************** diff --git a/js/powerup.js b/js/powerup.js index 87b8a1e..ac88dc6 100644 --- a/js/powerup.js +++ b/js/powerup.js @@ -922,13 +922,13 @@ const powerUps = { if (botTech.length > 0) { //pick random bot tech // const choose = botTech[Math.floor(Math.random() * botTech.length)]; // const isCount = tech.tech[choose].count > 0 ? `(${tech.tech[choose].count+1}x)` : ""; - // text += `

⭓▸●■   ${tech.tech[choose].name} ${isCount}
${tech.tech[choose].descriptionFunction ? tech.tech[choose].descriptionFunction() : tech.tech[choose].description}
` + // text += `
⭓▸●■   ${tech.tech[choose].name} ${isCount}
${tech.tech[choose].descriptionFunction ? tech.tech[choose].descriptionFunction() : tech.tech[choose].description}
` const choose = botTech[Math.floor(Math.random() * botTech.length)]; const techCountText = tech.tech[choose].count > 0 ? `(${tech.tech[choose].count + 1}x)` : ""; const style = localSettings.isHideImages ? powerUps.hideStyle : `style="background-image: url('img/${tech.tech[choose].name}.webp');"` text += `
-
⭓▸●■   ${tech.tech[choose].name} ${techCountText}
+
⭓▸●■   ${tech.tech[choose].name} ${techCountText}
${tech.tech[choose].descriptionFunction ? tech.tech[choose].descriptionFunction() : tech.tech[choose].description}
` } } @@ -987,13 +987,13 @@ const powerUps = { if (botTech.length > 0) { //pick random bot tech // const choose = botTech[Math.floor(Math.random() * botTech.length)]; // const isCount = tech.tech[choose].count > 0 ? `(${tech.tech[choose].count+1}x)` : ""; - // text += `
⭓▸●■   ${tech.tech[choose].name} ${isCount}
${tech.tech[choose].descriptionFunction ? tech.tech[choose].descriptionFunction() : tech.tech[choose].description}
` + // text += `
⭓▸●■   ${tech.tech[choose].name} ${isCount}
${tech.tech[choose].descriptionFunction ? tech.tech[choose].descriptionFunction() : tech.tech[choose].description}
` const choose = botTech[Math.floor(Math.random() * botTech.length)]; const techCountText = tech.tech[choose].count > 0 ? `(${tech.tech[choose].count + 1}x)` : ""; const style = localSettings.isHideImages ? powerUps.hideStyle : `style="background-image: url('img/${tech.tech[choose].name}.webp');"` text += `
-
⭓▸●■   ${tech.tech[choose].name} ${techCountText}
+
⭓▸●■   ${tech.tech[choose].name} ${techCountText}
${tech.tech[choose].descriptionFunction ? tech.tech[choose].descriptionFunction() : tech.tech[choose].description}
` } } @@ -1093,17 +1093,39 @@ const powerUps = { if (botTech.length > 0) { //pick random bot tech // const choose = botTech[Math.floor(Math.random() * botTech.length)]; // const isCount = tech.tech[choose].count > 0 ? `(${tech.tech[choose].count+1}x)` : ""; - // text += `
⭓▸●■   ${tech.tech[choose].name} ${isCount}
${tech.tech[choose].descriptionFunction ? tech.tech[choose].descriptionFunction() : tech.tech[choose].description}
` + // text += `
⭓▸●■   ${tech.tech[choose].name} ${isCount}
${tech.tech[choose].descriptionFunction ? tech.tech[choose].descriptionFunction() : tech.tech[choose].description}
` const choose = botTech[Math.floor(Math.random() * botTech.length)]; const techCountText = tech.tech[choose].count > 0 ? `(${tech.tech[choose].count + 1}x)` : ""; const style = localSettings.isHideImages ? powerUps.hideStyle : `style="background-image: url('img/${tech.tech[choose].name}.webp');"` text += `
-
⭓▸●■   ${tech.tech[choose].name} ${techCountText}
+
⭓▸●■   ${tech.tech[choose].name} ${techCountText}
${tech.tech[choose].descriptionFunction ? tech.tech[choose].descriptionFunction() : tech.tech[choose].description}
` } } - + if (tech.isMassProduction) { + // const techOptions = [] //make an array of bot options + // for (let i = 0, len = tech.tech.length; i < len; i++) { + // if (tech.tech[i].isMassProduction) techOptions.push(i) + // } + // if (techOptions.length > 0) { //pick random bot tech + // const choose = techOptions[Math.floor(Math.random() * techOptions.length)]; + // const style = localSettings.isHideImages ? powerUps.hideStyle : `style="background-image: url('img/${tech.tech[choose].name}.webp');"` + // text += `
+ //
+ //
${tech.tech[choose].name}
+ // ${tech.tech[choose].descriptionFunction ? tech.tech[choose].descriptionFunction() : tech.tech[choose].description}
` + // } + for (let i = 0, len = tech.tech.length; i < len; i++) { + if (tech.tech[i].isMassProduction) { + const style = localSettings.isHideImages ? powerUps.hideStyle : `style="background-image: url('img/${tech.tech[i].name}.webp');"` + text += `
+
+
${tech.tech[i].name}
+ ${tech.tech[i].descriptionFunction ? tech.tech[i].descriptionFunction() : tech.tech[i].description}
` + } + } + } if (tech.isExtraGunField) { if (Math.random() > 0.5 && b.inventory.length < b.guns.length) { let gunOptions = []; diff --git a/js/spawn.js b/js/spawn.js index 742454d..c17d75b 100644 --- a/js/spawn.js +++ b/js/spawn.js @@ -117,9 +117,9 @@ const spawn = { tech.isScaleMobsWithDuplication = false return true } else if (tech.isResearchBoss) { - if (powerUps.research.count > 3) { - powerUps.research.changeRerolls(-4) - simulation.makeTextLog(`m.research -= 4
${powerUps.research.count}`) + if (powerUps.research.count > 2) { + powerUps.research.changeRerolls(-3) + simulation.makeTextLog(`m.research -= 3
${powerUps.research.count}`) } else { tech.addJunkTechToPool(0.49) } diff --git a/js/tech.js b/js/tech.js index a148f69..d59345a 100644 --- a/js/tech.js +++ b/js/tech.js @@ -1169,10 +1169,10 @@ const tech = { allowed: () => true, requires: "", effect() { - tech.isBulletsLastLonger += 0.3 + tech.bulletsLastLonger += 0.3 }, remove() { - tech.isBulletsLastLonger = 1; + tech.bulletsLastLonger = 1; } }, { @@ -1520,7 +1520,7 @@ const tech = { { name: "sound-bot upgrade", link: `sound-bot upgrade`, - description: "convert your bots to sound-bots
+200% wave fire rate and +100% damage", + description: "convert your bots to sound-bots
+150% wave fire rate and +150% damage", maxCount: 1, count: 0, frequency: 3, @@ -3452,6 +3452,70 @@ const tech = { } } }, + { + name: "mass production", + description: `tech always have +3 choices to spawn
${powerUps.orb.research(5)} ${powerUps.orb.ammo(8)} or   ${powerUps.orb.heal(8)}`, + maxCount: 1, + count: 0, + frequency: 1, + frequencyDefault: 1, + allowed() { return true }, + requires: "", + effect() { + tech.isMassProduction = true + }, + remove() { + tech.isMassProduction = false + } + }, + { + name: "research", + description: `spawn ${powerUps.orb.research(5)}`, + maxCount: 1, + count: 0, + frequency: 0, + frequencyDefault: 0, + isNonRefundable: true, + isMassProduction: true, + allowed() { return true }, + requires: "", + effect() { + powerUps.spawnDelay("research", 5); + }, + remove() { } + }, + { + name: "ammo", + description: `spawn ${powerUps.orb.ammo(8)}`, + maxCount: 1, + count: 0, + frequency: 0, + frequencyDefault: 0, + isNonRefundable: true, + isMassProduction: true, + allowed() { return true }, + requires: "", + effect() { + powerUps.spawnDelay("ammo", 8); + }, + remove() { } + }, + { + name: "heals", + description: `spawn ${powerUps.orb.heal(8)}`, + maxCount: 1, + count: 0, + frequency: 0, + frequencyDefault: 0, + isNonRefundable: true, + isMassProduction: true, + allowed() { return true }, + requires: "mass production", + effect() { + powerUps.spawnDelay("heal", 8); + }, + remove() { } + }, { name: "pseudoscience", description: "when selecting a power up, research 3 times
for free, but add 1-4% JUNK to the tech pool", @@ -3632,15 +3696,15 @@ const tech = { { name: "abiogenesis", // description: `use ${powerUps.orb.research(4)}(or 49% JUNK to the tech pool if you can't) to add a 2nd boss to each level`, - description: `as a level begins spawn a 2nd boss using ${powerUps.orb.research(4)}
(+49% JUNK to the tech pool if you can't pay)
`, + description: `as a level begins spawn a 2nd boss using ${powerUps.orb.research(3)}
(+49% JUNK to the tech pool if you can't pay)
`, maxCount: 1, count: 0, frequency: 2, frequencyDefault: 2, allowed() { - return (build.isExperimentSelection || powerUps.research.count > 3) && !tech.isDuplicateBoss + return (build.isExperimentSelection || powerUps.research.count > 2) && !tech.isDuplicateBoss }, - requires: "at least 4 research, not parthenogenesis", + requires: "at least 3 research, not parthenogenesis", effect() { tech.isResearchBoss = true; }, @@ -6440,7 +6504,7 @@ const tech = { frequency: 1, frequencyDefault: 1, allowed() { - return tech.haveGunCheck("drones", false) && !tech.isDroneRespawn && tech.isBulletsLastLonger === 1 && !tech.isDronesTravel && (build.isExperimentSelection || powerUps.research.count > 1) + return tech.haveGunCheck("drones", false) && !tech.isDroneRespawn && tech.bulletsLastLonger === 1 && !tech.isDronesTravel && (build.isExperimentSelection || powerUps.research.count > 1) }, requires: "drones, not drone repair, anti-shear topology, autonomous navigation", effect() { @@ -11244,9 +11308,7 @@ const tech = { frequencyDefault: 2, isLore: true, // isExperimentHide: true, - allowed() { - return !build.isExperimentSelection - }, + allowed() { return !build.isExperimentSelection }, requires: "NOT EXPERIMENT MODE", effect() { if (localSettings.loreCount > lore.conversation.length - 1) { //reward for people done with lore chapters (or on the final chapter) @@ -11341,7 +11403,7 @@ const tech = { energySiphon: null, healthDrain: null, crouchAmmoCount: null, - isBulletsLastLonger: null, + bulletsLastLonger: null, isImmortal: null, sporesOnDeath: null, isImmuneExplosion: null, @@ -11677,5 +11739,6 @@ const tech = { isFoamCavitation: null, isHealAttract: null, isLaserField: null, - isHealBrake: null + isHealBrake: null, + isMassProduction: null, } \ No newline at end of file diff --git a/lib/decomp.min.js b/lib/decomp.min.js deleted file mode 100644 index 72d4f28..0000000 --- a/lib/decomp.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var f;"undefined"!=typeof window?f=window:"undefined"!=typeof global?f=global:"undefined"!=typeof self&&(f=self),f.decomp=e()}}(function(){return function e(f,o,n){function d(t,l){if(!o[t]){if(!f[t]){var u="function"==typeof require&&require;if(!l&&u)return u(t,!0);if(i)return i(t,!0);throw new Error("Cannot find module '"+t+"'")}var p=o[t]={exports:{}};f[t][0].call(p.exports,function(e){var o=f[t][1][e];return d(o?o:e)},p,p.exports,e,f,o,n)}return o[t].exports}for(var i="function"==typeof require&&require,t=0;t=0&&1>=u&&p>=0&&1>=p}function i(e,f,o){return(f[0]-e[0])*(o[1]-e[1])-(o[0]-e[0])*(f[1]-e[1])}function t(e,f,o){return i(e,f,o)>0}function l(e,f,o){return i(e,f,o)>=0}function u(e,f,o){return i(e,f,o)<0}function p(e,f,o){return i(e,f,o)<=0}function s(e,f,o,n){if(n){var d=F,t=G;d[0]=f[0]-e[0],d[1]=f[1]-e[1],t[0]=o[0]-f[0],t[1]=o[1]-f[1];var l=d[0]*t[0]+d[1]*t[1],u=Math.sqrt(d[0]*d[0]+d[1]*d[1]),p=Math.sqrt(t[0]*t[0]+t[1]*t[1]),s=Math.acos(l/(u*p));return n>s}return 0===i(e,f,o)}function c(e,f){var o=f[0]-e[0],n=f[1]-e[1];return o*o+n*n}function y(e,f){var o=e.length;return e[0>f?f%o+o:f%o]}function a(e){e.length=0}function m(e,f,o,n){for(var d=o;n>d;d++)e.push(f[d])}function r(e){for(var f=0,o=e,n=1;no[f][0])&&(f=n);return t(y(e,f-1),y(e,f),y(e,f+1))?!1:(w(e),!0)}function w(e){for(var f=[],o=e.length,n=0;n!==o;n++)f.push(e.pop());for(var n=0;n!==o;n++)e[n]=f[n]}function b(e,f){return u(y(e,f-1),y(e,f),y(e,f+1))}function g(e,f,o){var d,i,t=H,u=I;if(l(y(e,f+1),y(e,f),y(e,o))&&p(y(e,f-1),y(e,f),y(e,o)))return!1;i=c(y(e,f),y(e,o));for(var s=0;s!==e.length;++s)if((s+1)%e.length!==f&&s!==f&&l(y(e,f),y(e,o),y(e,s+1))&&p(y(e,f),y(e,o),y(e,s))&&(t[0]=y(e,f),t[1]=y(e,o),u[0]=y(e,s),u[1]=y(e,s+1),d=n(t,u),c(y(e,f),d)f)for(var i=f;o>=i;i++)d.push(e[i]);else{for(var i=0;o>=i;i++)d.push(e[i]);for(var i=f;i0?k(e,f):[e]}function k(e,f){if(0===f.length)return[e];if(f instanceof Array&&f.length&&f[0]instanceof Array&&2===f[0].length&&f[0][0]instanceof Array){for(var o=[e],n=0;nn;n++)if(d(o[f],o[f+1],o[n],o[n+1]))return!1;for(f=1;fi)return console.warn("quickDecomp: max level ("+i+") reached."),f;for(var G=0;Gv&&(j=v,r=w,q=H))),t(y(E,G+1),y(E,G),y(E,H+1))&&p(y(E,G+1),y(E,G),y(E,H))&&(w=z(y(E,G+1),y(E,G),y(E,H),y(E,H+1)),t(y(E,G-1),y(E,G),w)&&(v=c(E[G],w),g>v&&(g=v,a=w,k=H)));if(q===(k+1)%e.length)w[0]=(r[0]+a[0])/2,w[1]=(r[1]+a[1])/2,n.push(w),k>G?(m(C,E,G,k+1),C.push(w),D.push(w),0!==q&&m(D,E,q,E.length),m(D,E,0,G+1)):(0!==G&&m(C,E,G,E.length),m(C,E,0,k+1),C.push(w),D.push(w),m(D,E,q,G+1));else{if(q>k&&(k+=e.length),h=Number.MAX_VALUE,q>k)return f;for(var H=q;k>=H;++H)l(y(E,G-1),y(E,G),y(E,H))&&p(y(E,G+1),y(E,G),y(E,H))&&(v=c(y(E,G),y(E,H)),h>v&&x(E,G,H)&&(h=v,B=H%e.length));B>G?(m(C,E,G,B+1),0!==B&&m(D,E,B,F.length),m(D,E,0,G+1)):(0!==G&&m(C,E,G,F.length),m(C,E,0,B+1),m(D,E,B,G+1))}return C.length3&&n>=0;--n)s(y(e,n-1),y(e,n),y(e,n+1),f)&&(e.splice(n%e.length,1),o++);return o}function C(e,f){for(var o=e.length-1;o>=1;--o)for(var n=e[o],d=o-1;d>=0;--d)E(n,e[d],f)&&e.splice(o,1)}function D(e,f,o){return o=o||0,Math.abs(e-f)<=o}function E(e,f,o){return D(e[0],f[0],o)&&D(e[1],f[1],o)}f.exports={decomp:h,quickDecomp:A,isSimple:q,removeCollinearPoints:B,removeDuplicatePoints:C,makeCCW:r};var F=[],G=[],H=[],I=[]},{}]},{},[1])(1)}); \ No newline at end of file diff --git a/todo.txt b/todo.txt index 67fd3ac..d759548 100644 --- a/todo.txt +++ b/todo.txt @@ -1,53 +1,16 @@ ******************************************************** NEXT PATCH ************************************************** -new community level: dojo by weird_pusheen +new community levels: + tlinat by Richard0820 + ruins by SiddhUPe -sound-bot: makes phonon waves - - updated tech -drone repair -> von Neumann probe - if a drones ends near a block it will use that block to repair -quantum eraser -> metamaterial absorber: for each mob left alive after you exit a level there is a 17% chance to spawn a power up -uncertainty principle: extended to super balls -aperture: camera zooms in and out along with the skin animation - - balanced tech: -cordyceps: zombies are much smarter, faster, do more damage, and last longer -negative entropy -> self-assembly: 1 heal per 33->25% missing health on each new level -renormalization: 44 -> 46% and +3% JUNK tech to pool -parasitism: 60 -> 83% damage -non-renewables: 67 -> 78% damage -ground state: 200 -> 266 max energy -dark patterns: 17 -> 22% damage and JUNK -eternalism: 30 -> 24% damage -stimulated emission 15 -> 17% duplication -nitinol 30 -> 22% defense - -bug fixes +tech: mass production - tech have +3 choices to spawn ammo, research, or heals *********************************************************** TODO ***************************************************** make a mob similar to slasher because it's just a very well made mob. -sound-bot: makes phonon waves - works with - other bot tech - done? - phonon - no - frequency - no - bound state - no - phase velocity - no - isotropic - no - maybe, but reduce fire rate? - - uncertainty principle - done - propagation - done - amplitude - done - sympathetic resonance - done - mechanical resonance - done - -remove reflection from phonon? - but return it with isotropic? - super-bot: fires super balls tech - only allow 1,2 turrets at time. spawning a new mine removes the oldest mine @@ -61,15 +24,6 @@ tech: after a needle hits a mobs reset your fire CD? 2x damage for each consecutive mob hit? -tech: mass production - add a few selection options to all tech, gun, fields to do something: - this would work similar to the tech that adds a bot themed tech to every tech choice - options - spawn: ammo, heals, research, coupling? - random amounts? - make each option a full tech with images? - - - improve flatland performance? mob non-combat behaviors, like Rain World @@ -1145,7 +1099,7 @@ possible names for tech hypergraph SQUID (for superconducting quantum interference device) is a very sensitive magnetometer used to measure extremely subtle magnetic fields, based on superconducting loops containing Josephson junctions. nuclear pasta - hard matter in neutron star - nonlocal: maybe use for pilot wave + nonlocal, nonlocality: maybe use for pilot wave fine-tuned universe nonperturbative D-branes @@ -1170,6 +1124,7 @@ possible names for tech negative entropy memetics magnetorquers - produce spin by pushing on earth's magnetic field + ******************************************************** CARS IMAGES ********************************************************