diff --git a/js/index.js b/js/index.js
index de388f4..dd6f473 100644
--- a/js/index.js
+++ b/js/index.js
@@ -68,7 +68,7 @@ const build = {
for (let i = 0, len = b.inventory.length; i < len; i++) { //look for selection in inventory
if (b.guns[b.inventory[i]].name === b.guns[index].name) { //if already clicked, remove gun
isDeselect = true
- who.classList.remove("build-grid-selected");
+ who.classList.remove("build-gun-selected");
//remove gun
b.inventory.splice(i, 1)
b.guns[index].count = 0;
@@ -79,24 +79,24 @@ const build = {
}
}
if (!isDeselect) { //add gun
- who.classList.add("build-grid-selected");
+ who.classList.add("build-gun-selected");
b.giveGuns(index)
}
} else if (type === "field") {
if (mech.fieldMode !== index) {
- document.getElementById("field-" + mech.fieldMode).classList.remove("build-grid-selected");
+ document.getElementById("field-" + mech.fieldMode).classList.remove("build-field-selected");
mech.setField(index)
- who.classList.add("build-grid-selected");
+ who.classList.add("build-field-selected");
}
} else if (type === "mod") { //remove mod if you have too many
if (b.mods[index].count < b.mods[index].maxCount) {
- if (!who.classList.contains("build-grid-selected")) who.classList.add("build-grid-selected");
+ if (!who.classList.contains("build-mod-selected")) who.classList.add("build-mod-selected");
b.giveMod(index)
// if (b.mods[index].count > 1) who.innerHTML = `
${b.mods[index].name} (${b.mods[index].count}x)
${b.mods[index].description}`
} else {
b.removeMod(index);
// who.innerHTML = ` ${b.mods[index].description}`
- who.classList.remove("build-grid-selected");
+ who.classList.remove("build-mod-selected");
}
}
//update mod text //disable not allowed mods
@@ -123,8 +123,8 @@ const build = {
if (b.mods[i].count > 0) {
b.removeMod(i)
}
- if (modID.classList.contains("build-grid-selected")) {
- modID.classList.remove("build-grid-selected");
+ if (modID.classList.contains("build-mod-selected")) {
+ modID.classList.remove("build-mod-selected");
}
}
}
@@ -192,7 +192,7 @@ const build = {
b.setupAllMods();
build.isCustomSelection = true;
build.populateGrid();
- document.getElementById("field-0").classList.add("build-grid-selected");
+ document.getElementById("field-0").classList.add("build-field-selected");
document.getElementById("build-grid").style.display = "grid"
},
diff --git a/js/level.js b/js/level.js
index 512f721..55cd089 100644
--- a/js/level.js
+++ b/js/level.js
@@ -13,7 +13,7 @@ const level = {
levelsCleared: 0,
start() {
if (level.levelsCleared === 0) {
- // level.difficultyIncrease(5)
+ // level.difficultyIncrease(4)
// b.giveGuns("laser")
// mech.setField("negative mass field")
// for (let i = 0; i < 9; i++) {
@@ -448,6 +448,8 @@ const level = {
spawn.mapRect(-500, -1900, 400, 50); //super high shade
spawn.mapRect(0, -1900, 400, 50); //super high shade
spawn.mapRect(-150, -1350, 200, 25); //super high shade
+ spawn.bodyRect(140, -2100, 150, 200); //shield from laser
+
level.fillBG.push({
x: -300,
y: -1900,
@@ -563,9 +565,17 @@ const level = {
spawn.randomBoss(2700, -1600, 0.1);
spawn.randomBoss(1600, -100, 0);
spawn.randomBoss(5000, -3900, -0.3);
- // spawn.laserBoss(2750, -2600);
- if (game.difficulty > 3) spawn.laserBoss(3050, -2850);
-
+ if (game.difficulty > 3) {
+ if (Math.random() < 0.25) {
+ spawn.laserBoss(2900 + 300 * Math.random(), -2950 + 150 * Math.random());
+ } else if (Math.random() < 0.33) {
+ spawn.laserBoss(1800 + 250 * Math.random(), -2600 + 150 * Math.random());
+ } else if (Math.random() < 0.5) {
+ spawn.laserBoss(3500 + 250 * Math.random(), -2600 + 1000 * Math.random());
+ } else {
+ spawn.laserBoss(600 + 200 * Math.random(), -2150 + 250 * Math.random());
+ }
+ }
},
rooftops() {
level.defaultZoom = 1700
diff --git a/js/powerups.js b/js/powerups.js
index 2ab3475..168b009 100644
--- a/js/powerups.js
+++ b/js/powerups.js
@@ -130,7 +130,7 @@ const powerUps = {
},
mod: {
name: "mod",
- color: "#a8f",
+ color: "hsl(246,100%,77%)", //"#a8f",
size() {
return 42;
},
diff --git a/style.css b/style.css
index 3d61928..268b305 100644
--- a/style.css
+++ b/style.css
@@ -214,12 +214,28 @@ summary {
background-color: #efeff5;
}
-.build-grid-selected {
- background-color: #76808d;
+.build-field-selected {
+ background-color: hsl(193, 100%, 75%);
}
-.build-grid-selected:hover {
- background-color: #76808d;
+.build-field-selected:hover {
+ background-color: hsl(193, 100%, 68%);
+}
+
+.build-gun-selected {
+ background-color: hsl(218, 100%, 81%);
+}
+
+.build-gun-selected:hover {
+ background-color: hsl(218, 100%, 76%);
+}
+
+.build-mod-selected {
+ background-color: hsl(247, 100%, 84%);
+}
+
+.build-mod-selected:hover {
+ background-color: hsl(247, 100%, 81%);
}
.build-grid-disabled {
@@ -412,7 +428,7 @@ em {
}
.color-m {
- color: rgb(115, 61, 202);
+ color: hsl(246, 57%, 52%);
letter-spacing: 1px;
}
@@ -442,7 +458,8 @@ em {
}
.mod {
- background: #96e;
+ /* background: rgb(116, 102, 238); */
+ background: hsl(246, 80%, 67%);
}
.grey {
diff --git a/todo.txt b/todo.txt
index c7bc57b..9b83eda 100644
--- a/todo.txt
+++ b/todo.txt
@@ -1,10 +1,5 @@
************** TODO - n-gon **************
-randomize boss laser spawn locations
-
-consider making jumping cost energy (like stamina)
- should walking cost energy too?
-
mod - nano-scale field makes spores instead of drones
mod - mines - fire something instead of needles on activation
@@ -21,11 +16,15 @@ lore - a robot (the player) gains self awareness
final mod is "this is just a simulation"
you get immortality and Infinity damage
the next level is the final level
- atmosphere levels that explore lore
- give the user a rest, between combat
- low combat more graphics
+
+atmosphere levels: change the pace, give the user a rest between combat
+ low or no combat, but more graphics
+ explore lore
+ add text for player thoughts?
+ simple puzzles
+ cool looking stuff
large rotating fan that the player has to move through
- nonaggressive mobs one mob attacking the passive mobs
+ nonaggressive mobs
in the final level you see your self at the starting level, with the wires
you shoot your self to wake up?