cherenkov radiation

tech: cherenkov radiation - bremsstrahlung damage is increased by 300% over 6 seconds
  bremsstrahlung does 2->3 damage, and also applies to block collisions

tech: nuclear transmutation - radiation sources do 70% more damage and harm

enthalpy now drops heal power ups instead of directly healing you
foam-shot has 13->15 particles, is slower, and less spread

bug fixes
This commit is contained in:
landgreen
2022-05-10 05:44:43 -07:00
parent 127a074b33
commit 5938e06148
11 changed files with 220 additions and 140 deletions

View File

@@ -1332,11 +1332,16 @@ const m = {
}
const unit = Vector.normalise(Vector.sub(player.position, who.position))
if (tech.blockDmg) {
who.damage(tech.blockDmg * m.dmgScale, true)
Matter.Body.setVelocity(who, { x: 0.5 * who.velocity.x, y: 0.5 * who.velocity.y });
if (tech.isBlockRadiation && !who.isShielded && !who.isMobBullet) {
mobs.statusDoT(who, tech.blockDmg * m.dmgScale * 4 / 12, 360) //200% increase -> x (1+2) //over 7s -> 360/30 = 12 half seconds -> 3/12
} else {
who.damage(tech.blockDmg * m.dmgScale, true)
}
//draw electricity
const step = 40
ctx.beginPath();
for (let i = 0, len = 1.3 * tech.blockDmg; i < len; i++) {
for (let i = 0, len = 0.8 * tech.blockDmg; i < len; i++) {
let x = m.pos.x - 20 * unit.x;
let y = m.pos.y - 20 * unit.y;
ctx.moveTo(x, y);
@@ -1659,10 +1664,15 @@ const m = {
}
}
if (tech.blockDmg) { //electricity
mob[i].damage(tech.blockDmg * m.dmgScale)
Matter.Body.setVelocity(mob[i], { x: 0.5 * mob[i].velocity.x, y: 0.5 * mob[i].velocity.y });
if (tech.isBlockRadiation && !mob[i].isShielded && !mob[i].isMobBullet) {
mobs.statusDoT(mob[i], tech.blockDmg * m.dmgScale * 4 / 12, 360) //200% increase -> x (1+2) //over 7s -> 360/30 = 12 half seconds -> 3/12
} else {
mob[i].damage(tech.blockDmg * m.dmgScale)
}
const step = 40
ctx.beginPath();
for (let i = 0, len = 1.3 * tech.blockDmg; i < len; i++) {
for (let i = 0, len = 0.8 * tech.blockDmg; i < len; i++) {
let x = m.fieldPosition.x - 20 * unit.x;
let y = m.fieldPosition.y - 20 * unit.y;
ctx.moveTo(x, y);