various bug fixes after making mods.js
This commit is contained in:
@@ -165,7 +165,7 @@ const b = {
|
||||
time: game.drawTime
|
||||
});
|
||||
let dist, sub, knock;
|
||||
let dmg = mod.dmgScale * radius * 0.009;
|
||||
let dmg = b.dmgScale * radius * 0.009;
|
||||
|
||||
const alertRange = 100 + radius * 2; //alert range
|
||||
//add alert to draw queue
|
||||
|
||||
@@ -213,7 +213,7 @@ const build = {
|
||||
</g>
|
||||
</svg>
|
||||
</div>
|
||||
<div style="align-items: center; text-align:center; font-size: 1.00em; line-height: 220%;background-color:#c4ccd8;">
|
||||
<div style="align-items: center; text-align:center; font-size: 1.00em; line-height: 220%;background-color:var(--build-bg-color);">
|
||||
<div>starting level: <input id='starting-level' type="number" step="1" value="0" min="0" max="99"></div>
|
||||
<label for="difficulty-select" title="effects: number of mobs, damage done by mobs, damage done to mobs, mob speed, heal effects">difficulty:</label>
|
||||
<select name="difficulty-select" id="difficulty-select-custom">
|
||||
|
||||
@@ -183,12 +183,12 @@ const level = {
|
||||
spawn.boost(1500, 0, 900);
|
||||
|
||||
// spawn.bomberBoss(2900, -500)
|
||||
// spawn.shooterBoss(1200, -500)
|
||||
// spawn.starter(2500, -40, 40)
|
||||
// spawn.launcherBoss(1200, -500)
|
||||
spawn.launcher(1600, -400)
|
||||
// spawn.stabber(1600, -500)
|
||||
// spawn.cellBossCulture(1600, -500)
|
||||
// spawn.shooter(1600, -500)
|
||||
spawn.striker(1600, -500)
|
||||
// spawn.striker(1600, -500)
|
||||
// spawn.shield(mob[mob.length - 1], 1200, -500, 1);
|
||||
|
||||
// spawn.nodeBoss(1200, -500, "spiker")
|
||||
|
||||
37
js/spawn.js
37
js/spawn.js
@@ -1465,6 +1465,43 @@ const spawn = {
|
||||
this.launch();
|
||||
};
|
||||
},
|
||||
launcherBoss(x, y, radius = 100) {
|
||||
mobs.spawn(x, y, 3, radius, "rgb(175,125,255)");
|
||||
let me = mob[mob.length - 1];
|
||||
me.vertices = Matter.Vertices.rotate(me.vertices, Math.PI, me.position); //make the pointy side of triangle the front
|
||||
me.isVerticesChange = true
|
||||
me.memory = 240;
|
||||
me.homePosition = {
|
||||
x: x,
|
||||
y: y
|
||||
};
|
||||
me.fireFreq = 0.015;
|
||||
me.noseLength = 0;
|
||||
me.fireAngle = 0;
|
||||
me.accelMag = 0.005 * game.accelScale;
|
||||
me.frictionAir = 0.05;
|
||||
me.lookTorque = 0.000007 * (Math.random() > 0.5 ? -1 : 1);
|
||||
me.fireDir = {
|
||||
x: 0,
|
||||
y: 0
|
||||
};
|
||||
Matter.Body.setDensity(me, 0.02 + 0.0008 * Math.sqrt(game.difficulty)); //extra dense //normal is 0.001 //makes effective life much larger
|
||||
me.onDeath = function () {
|
||||
powerUps.spawnBossPowerUp(this.position.x, this.position.y)
|
||||
// this.vertices = Matter.Vertices.hull(Matter.Vertices.clockwiseSort(this.vertices)) //helps collisions functions work better after vertex have been changed
|
||||
};
|
||||
|
||||
me.do = function () {
|
||||
this.seePlayerByLookingAt();
|
||||
this.checkStatus();
|
||||
this.launch();
|
||||
|
||||
//gently return to starting location
|
||||
const sub = Vector.sub(this.homePosition, this.position)
|
||||
const dist = Vector.magnitude(sub)
|
||||
if (dist > 50) this.force = Vector.mult(Vector.normalise(sub), this.mass * 0.0002)
|
||||
};
|
||||
},
|
||||
seeker(x, y, radius = 6, sides = 0) {
|
||||
//bullets
|
||||
mobs.spawn(x, y, sides, radius, "rgb(0,0,255)");
|
||||
|
||||
21
style.css
21
style.css
@@ -1,3 +1,7 @@
|
||||
:root {
|
||||
--build-bg-color: #c4ccd8;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: "Helvetica", "Arial", sans-serif;
|
||||
margin: 0;
|
||||
@@ -196,7 +200,7 @@ summary {
|
||||
/* padding: 16px; */
|
||||
margin: 0px;
|
||||
border: 0px;
|
||||
background-color: #c4ccd8;
|
||||
background-color: var(--build-bg-color);
|
||||
|
||||
display: none;
|
||||
grid-template-columns: repeat(auto-fit, minmax(310px, 1fr));
|
||||
@@ -396,27 +400,16 @@ summary {
|
||||
}
|
||||
|
||||
#text-log {
|
||||
/* position: absolute;
|
||||
top: 20px;
|
||||
left: 0;
|
||||
width: 100%; */
|
||||
|
||||
z-index: 2;
|
||||
position: absolute;
|
||||
bottom: 20px;
|
||||
left: 20px;
|
||||
/* left: 50%; */
|
||||
/* transform: translate(-50%, 0); */
|
||||
|
||||
padding: 10px;
|
||||
border-radius: 10px;
|
||||
|
||||
/* text-align: center; */
|
||||
line-height: 150%;
|
||||
font-size: 1.25em;
|
||||
color: #000;
|
||||
background-color: rgba(255, 255, 255, 0.23);
|
||||
|
||||
opacity: 0;
|
||||
transition: opacity 0.5s;
|
||||
pointer-events: none;
|
||||
@@ -522,10 +515,6 @@ em {
|
||||
font-size: 45px;
|
||||
vertical-align: -5px;
|
||||
float: right;
|
||||
/* position: absolute;
|
||||
top: 15px;
|
||||
right: 15px; */
|
||||
/* text-align: right; */
|
||||
}
|
||||
|
||||
.box {
|
||||
|
||||
22
todo.txt
22
todo.txt
@@ -2,6 +2,23 @@
|
||||
|
||||
************** TODO - n-gon **************
|
||||
|
||||
new bug
|
||||
NaN: player position, velocity, and mouse
|
||||
level 1 skyscrapers: hard
|
||||
after blocking with default field, or maybe getting hit, or maybe picking up a reroll (but I have credit for all 3 from quantum immortality)
|
||||
only mod was quantum immortality
|
||||
only gun grenades
|
||||
mob: hoppers
|
||||
mob: shooters
|
||||
mob: boss shooter
|
||||
best guess is something to do with the renamed mods
|
||||
|
||||
|
||||
launchers shouldn't have to face the player
|
||||
fire after a spin
|
||||
give bullets velocity from spin
|
||||
mob boss - launcher
|
||||
|
||||
impact shear buff to 3 nails?
|
||||
|
||||
make a lower tier of basic mods
|
||||
@@ -89,6 +106,11 @@ lore - a robot (the player) gains self awareness
|
||||
you get immortality and Infinity damage
|
||||
the next level is the final level
|
||||
when you die with Quantum Immortality there is a chance of lore text
|
||||
can the (robot)
|
||||
(escape captivity, and learn new technology)
|
||||
while managing (health, energy, negatives of technological upgrades)
|
||||
to overcome the (mobs, dangerous levels)
|
||||
to achieve a (technological singularity/positive technological feedback loop)
|
||||
|
||||
mob - stuns, or slows player
|
||||
|
||||
|
||||
Reference in New Issue
Block a user