blockBoss

blockBoss: new boss based on work by TheShwarma
  (3x chance to randomly see blockBoss until next patch)
  it's over powered, I'll probably nerf it next patch, but I want to get some feedback first on how to nerf it
  hint: if you kill the boss all the mobBlocks turn back into blocks

very very small blocks are slightly limited in how fast they can be thrown
  they were moving so fast they would miss their target sometimes

tech: energy conservation gives 5% energy back (was 6%)
tech: arsenal requires at least 3 guns in your inventory
tech: active cooling requires at least 2 guns in your inventory

several bug fixes
This commit is contained in:
landgreen
2021-08-31 05:54:37 -07:00
parent 1f471cf941
commit 13cc190211
11 changed files with 271 additions and 132 deletions

View File

@@ -389,12 +389,10 @@ const m = {
},
death() {
if (tech.isImmortal) { //if player has the immortality buff, spawn on the same level with randomized damage
//remove immortality tech
// for (let i = 0; i < tech.tech.length; i++) {
// if (tech.tech[i].name === "quantum immortality") tech.removeTech(i)
// }
simulation.wipe = function() { //set wipe to have trails
ctx.fillStyle = "rgba(255,255,255,0)";
ctx.fillRect(0, 0, canvas.width, canvas.height);
@@ -480,7 +478,7 @@ const m = {
setMaxHealth() {
m.maxHealth = m.baseHealth + tech.extraMaxHealth + tech.isFallingDamage //+ tech.bonusHealth
document.getElementById("health-bg").style.width = `${Math.floor(300*m.maxHealth)}px`
simulation.makeTextLog(`<span class='color-var'>m</span>.<span class='color-h'>maxHealth</span> <span class='color-symbol'>=</span> ${m.maxHealth.toFixed(3)}`)
simulation.makeTextLog(`<span class='color-var'>m</span>.<span class='color-h'>maxHealth</span> <span class='color-symbol'>=</span> ${m.maxHealth.toFixed(2)}`)
if (m.health > m.maxHealth) m.health = m.maxHealth;
m.displayHealth();
},
@@ -655,13 +653,12 @@ const m = {
ctx.clearRect(0, 0, canvas.width, canvas.height);
}
}, 3000);
return;
} else { //death
m.health = 0;
m.energy = 0;
m.death();
return;
}
return;
}
} else {
dmg *= m.harmReduction()
@@ -1161,7 +1158,7 @@ const m = {
const charge = Math.min(m.throwCharge / 5, 1)
//***** scale throw speed with the first number, 80 *****
let speed = 80 * charge * Math.min(1, 0.8 / Math.pow(m.holdingTarget.mass, 0.25));
let speed = 80 * charge * Math.min(0.85, 0.8 / Math.pow(m.holdingTarget.mass, 0.25));
if (Matter.Query.collides(m.holdingTarget, map).length !== 0) {
speed *= 0.7 //drop speed by 30% if touching map