diff --git a/.DS_Store b/.DS_Store
index 7abd6ee..d10987f 100644
Binary files a/.DS_Store and b/.DS_Store differ
diff --git a/js/index.js b/js/index.js
index 1cccdb7..7a1e2eb 100644
--- a/js/index.js
+++ b/js/index.js
@@ -58,7 +58,7 @@ function getUrlVars() {
});
return vars;
}
-window.addEventListener('load', (event) => {
+window.addEventListener('load', () => {
const set = getUrlVars()
if (Object.keys(set).length !== 0) {
openExperimentMenu();
@@ -332,7 +332,8 @@ const build = {
techID.innerHTML = `
${tech.tech[i].name} ${isCount}
${tech.tech[i].description}`
} else if (tech.tech[i].isExperimentalMode) {
// techID.innerHTML = `${tech.tech[i].description}`
- text += `${tech.tech[i].name}
${tech.tech[i].description}
`
+ techID.innerHTML = `${tech.tech[i].name}
${tech.tech[i].description}`
+ // text += `${tech.tech[i].name}
${tech.tech[i].description}`
} else {
techID.innerHTML = ` ${tech.tech[i].name} ${isCount}
${tech.tech[i].description}`
}
diff --git a/js/level.js b/js/level.js
index 07e686d..cc04029 100644
--- a/js/level.js
+++ b/js/level.js
@@ -1109,8 +1109,8 @@ const level = {
// spawn.starter(1900, -500, 200) //big boy
// spawn.grower(1900, -500)
// spawn.pulsarBoss(1900, -500)
- // spawn.historyBoss(1900, -500)
- // spawn.ghoster(2900, -500)
+ // spawn.shooterBoss(1900, -500)
+ spawn.shooter(2900, -500)
// spawn.launcherBoss(1200, -500)
// spawn.laserTargetingBoss(1600, -400)
// spawn.striker(4600, -500)
@@ -1119,7 +1119,7 @@ const level = {
// spawn.sniper(1800, -120)
// spawn.streamBoss(1600, -500)
// spawn.orbitalBoss(1600, -500)
- spawn.spawnerBossCulture(1600, -500)
+ // spawn.spawnerBossCulture(1600, -500)
// spawn.shieldingBoss(1600, -500)
// spawn.beamer(1200, -500)
// spawn.shield(mob[mob.length - 1], 1800, -120, 1);
diff --git a/js/mob.js b/js/mob.js
index d5a9c34..f2bafd9 100644
--- a/js/mob.js
+++ b/js/mob.js
@@ -921,7 +921,7 @@ const mobs = {
this.torque += 0.000004 * this.inertia;
} else if (dot < -threshold) {
this.torque -= 0.000004 * this.inertia;
- } else if (this.noseLength > 1.5 && dot > 0 && dot < 0.03) {
+ } else if (this.noseLength > 1.5 && dot > -0.2 && dot < 0.2) {
//fire
spawn.bullet(this.vertices[1].x, this.vertices[1].y, 9 + Math.ceil(this.radius / 15));
const v = 15;
diff --git a/js/spawn.js b/js/spawn.js
index 1d88b80..679218a 100644
--- a/js/spawn.js
+++ b/js/spawn.js
@@ -919,7 +919,7 @@ const spawn = {
me.seeAtDistance2 = (me.eventHorizon + 400) * (me.eventHorizon + 400); //vision limit is event horizon
me.accelMag = 0.0001 * simulation.accelScale;
me.frictionAir = 0.025;
- me.collisionFilter.mask = cat.player | cat.bullet | cat.body
+ me.collisionFilter.mask = cat.player | cat.bullet //| cat.body
me.memory = Infinity;
Matter.Body.setDensity(me, 0.008); //extra dense //normal is 0.001 //makes effective life much larger
me.do = function() {
@@ -996,7 +996,7 @@ const spawn = {
me.eventHorizon = 1100; //required for black hole
me.seeAtDistance2 = (me.eventHorizon + 1200) * (me.eventHorizon + 1200); //vision limit is event horizon
me.accelMag = 0.00003 * simulation.accelScale;
- me.collisionFilter.mask = cat.player | cat.bullet | cat.body
+ me.collisionFilter.mask = cat.player | cat.bullet //| cat.body
// me.frictionAir = 0.005;
me.memory = 1600;
Matter.Body.setDensity(me, 0.03); //extra dense //normal is 0.001 //makes effective life much larger
@@ -2148,7 +2148,7 @@ const spawn = {
me.alpha = 1; //used in drawGhost
me.canTouchPlayer = false; //used in drawGhost
// me.leaveBody = false;
- me.collisionFilter.mask = cat.bullet | cat.body
+ me.collisionFilter.mask = cat.bullet //| cat.body
me.showHealthBar = false;
me.memory = 480;
me.do = function() {
@@ -2259,7 +2259,7 @@ const spawn = {
me.memory = Infinity;
// me.memory = 300;
// Matter.Body.setDensity(me, 0.0015); //extra dense //normal is 0.001
- me.collisionFilter.mask = cat.player | cat.bullet | cat.body
+ me.collisionFilter.mask = cat.player | cat.bullet //| cat.body
spawn.shield(me, x, y, 1);
@@ -2485,7 +2485,7 @@ const spawn = {
this.torque += 0.000004 * this.inertia;
} else if (dot < -threshold) {
this.torque -= 0.000004 * this.inertia;
- } else if (this.noseLength > 1.5 && dot > 0 && dot < 0.05) {
+ } else if (this.noseLength > 1.5 && dot > -0.2 && dot < 0.2) {
//fire
spawn.sniperBullet(this.vertices[1].x, this.vertices[1].y, 7 + Math.ceil(this.radius / 15), 4);
const v = 20 * simulation.accelScale;
@@ -2965,7 +2965,7 @@ const spawn = {
// //run this function on hitting player
// this.explode();
// };
- me.collisionFilter.mask = cat.bullet | cat.player | cat.mob | cat.body
+ me.collisionFilter.mask = cat.bullet | cat.player | cat.mob //| cat.body
me.accelMag = 0.0004 * simulation.accelScale;
me.leaveBody = false;
me.frictionAir = 0.02;
diff --git a/todo.txt b/todo.txt
index cc8ad71..16f157e 100644
--- a/todo.txt
+++ b/todo.txt
@@ -1,17 +1,10 @@
******************************************************** NEXT PATCH ********************************************************
-experiment and junk tech: decomposers - mobs leave behind spawns when they die
-
-new levelBoss - a cluster of larger spawns
- while it's alive all mobs other leave behind spawns
-
-added block collisions to most no collide mobs
- (this should buff block throwing and pilot wave)
+fixed: sniper/shooter issues with aiming
+fixed: Copied build urls
******************************************************** BUGS ********************************************************
-Copied build urls broke. You get the guns but none of the tech
-
spawns are forming node groups, but why??
you have to press z once to get copy to work for simulation.enableConstructMode() sometimes
@@ -42,6 +35,10 @@ fix door.isOpen actually meaning isClosed?
******************************************************** TODO ********************************************************
+Tech: "Spacial Continuity": 12% chance for the block resulting from a slain enemy to be thrown at the nearst mob.
+
+Mobs that travel through walls but get stuck on blocks are annoying
+
tech plasma field - plasma field becomes an aoe damage field with the same radius
200% more energy drain, 100% more damage
draw a square (or two) that rapidly spins