reroll damage mod

This commit is contained in:
landgreen
2020-07-11 19:25:15 -07:00
parent 4af6e26975
commit 92f174983a
5 changed files with 42 additions and 28 deletions

View File

@@ -1965,8 +1965,8 @@ const b = {
name: "flak",
description: "fire a <strong>cluster</strong> of short range <strong>projectiles</strong><br><strong class='color-e'>explodes</strong> on <strong>contact</strong> or after half a second",
ammo: 0,
ammoPack: 8,
defaultAmmoPack: 8, //use to revert ammoPack after mod changes drop rate
ammoPack: 9,
defaultAmmoPack: 9, //use to revert ammoPack after mod changes drop rate
have: false,
isEasyToAim: false,
fire() {

View File

@@ -675,6 +675,8 @@ const game = {
consBB = [];
removeAll(bullet);
bullet = [];
removeAll(composite);
composite = [];
// if player was holding something this makes a new copy to hold
if (holdTarget) {
len = body.length;

View File

@@ -2,6 +2,7 @@ let body = []; //non static bodies
let map = []; //all static bodies
let cons = []; //all constraints between a point and a body
let consBB = []; //all constraints between two bodies
let composite = [] //rotors and other map elements that don't fit
const level = {
defaultZoom: 1400,
onLevel: 0,
@@ -78,7 +79,7 @@ const level = {
density: density,
isNotSticky: true
});
const rotor = Body.create({ //combine rotor1 and rotor2
rotor = Body.create({ //combine rotor1 and rotor2
parts: [rotor1, rotor2],
restitution: 0,
collisionFilter: {
@@ -123,7 +124,7 @@ const level = {
}
}
}
composite[composite.length] = rotor
return rotor
},
button(x, y, width = 70, height = 20) {
@@ -299,22 +300,22 @@ const level = {
spawn.mapRect(9300, 2590, 650, 25);
spawn.mapRect(9700, 2580, 100, 50);
spawn.randomBoss(1300, 2100, 0.7);
spawn.randomMob(8300, 2225, 0.5);
spawn.randomSmallMob(2575, -75, 0.5); //entrance
spawn.randomMob(8125, 2450, 0.5);
spawn.randomSmallMob(3200, 250, 0.5);
spawn.randomMob(2425, 2150, 0.5);
spawn.randomSmallMob(3825, 300, 0.5);
spawn.randomBoss(1300, 2100, 0.6);
spawn.randomMob(8300, 2100, 0.3);
spawn.randomSmallMob(2575, -75, 0.3); //entrance
spawn.randomMob(8125, 2450, 0.3);
spawn.randomSmallMob(3200, 250, 0.4);
spawn.randomMob(2425, 2150, 0.4);
spawn.randomSmallMob(3825, 300, 0.4);
spawn.randomMob(3800, 2175, 0.5);
spawn.randomSmallMob(1100, -300, 0.5); //entrance
spawn.randomMob(4450, 2500, 0.5);
spawn.randomMob(6350, 2525, 0.5);
spawn.randomSmallMob(1900, -250, 0.5); //entrance
spawn.randomMob(4450, 2500, 0.6);
spawn.randomMob(6350, 2525, 0.6);
spawn.randomBoss(9200, 2400, 0.5);
spawn.randomSmallMob(1900, -250, 0.7); //entrance
spawn.randomMob(1500, 2100, 0.8);
spawn.randomSmallMob(1700, -150, 0.5); //entrance
spawn.randomMob(8800, 2725, 0.5);
spawn.randomBoss(8650, 2275, 0.5);
spawn.randomSmallMob(1700, -150, 0.8); //entrance
spawn.randomMob(8800, 2725, 0.9);
if (game.difficulty > 3) spawn.randomLevelBoss(6000, 2300, ["shooterBoss", "spiderBoss", "launcherBoss", "laserTargetingBoss"]);
},
template() {
@@ -2107,7 +2108,7 @@ const level = {
spawn.randomBoss(2350, -850, 1);
spawn.randomBoss(100, -450, 0.9);
if (game.difficulty > 3) spawn.randomLevelBoss(1850, -1400, 1);
if (game.difficulty > 3) spawn.randomLevelBoss(1850, -1400);
},
//******************************************************************************************************************
//******************************************************************************************************************

View File

@@ -78,6 +78,7 @@ const mod = {
if (mod.isRest && player.speed < 1) dmg *= 1.20;
if (mod.isEnergyDamage) dmg *= 1 + mech.energy / 5.5;
if (mod.isDamageFromBulletCount) dmg *= 1 + bullet.length * 0.006
if (mod.isRerollDamage) dmg *= 1 + 0.06 * powerUps.reroll.rerolls
return dmg * mod.slowFire
},
mods: [{
@@ -130,6 +131,22 @@ const mod = {
mod.isRest = false;
}
},
{
name: "perturbation theory",
description: "increase <strong class='color-d'>damage</strong> by <strong>6%</strong><br>for each <strong class='color-r'>reroll</strong> in your inventory",
maxCount: 1,
count: 0,
allowed() {
return powerUps.reroll.rerolls > 1 || build.isCustomSelection
},
requires: "at least 2 rerolls",
effect() {
mod.isRerollDamage = true;
},
remove() {
mod.isRerollDamage = false;
}
},
{
name: "kinetic bombardment",
description: "increase <strong class='color-d'>damage</strong> by up to <strong>33%</strong><br>at a <strong>distance</strong> of 40 steps from the target",
@@ -1035,7 +1052,6 @@ const mod = {
mod.manyWorlds = false;
}
},
{
name: "quantum immortality",
description: "after <strong>dying</strong>, continue in an <strong>alternate reality</strong><br>spawn <strong>5</strong> <strong class='color-r'>rerolls</strong>",
@@ -1482,7 +1498,7 @@ const mod = {
requires: "flak",
effect() {
for (i = 0, len = b.guns.length; i < len; i++) { //find which gun
if (b.guns[i].name === "flak") b.guns[i].ammoPack = b.guns[i].defaultAmmoPack * (3 * this.count);
if (b.guns[i].name === "flak") b.guns[i].ammoPack = b.guns[i].defaultAmmoPack * (3 * (1 + this.count));
}
},
remove() {
@@ -2296,5 +2312,6 @@ const mod = {
isHealLowHealth: null,
isAoESlow: null,
isHarmArmor: null,
isTurret: null
isTurret: null,
isRerollDamage: null
}

View File

@@ -1,12 +1,6 @@
new level, sewers
flak ammo buff
************** TODO - n-gon **************
mod: do more damage for each reroll you are holding
do more damage for the ammo/ammoPack ratio?
mod: taking damage slows (or stuns) all mobs on the map
requires the mod that slows time, overclock
@@ -14,7 +8,7 @@ button: blocks that are on the button at an angle will slowly slide off the butt
maybe just avoid long blocks near the button?
maybe actively hold the button in place?
slime should affect blocks, bullets, mobs
hazards should affect blocks, bullets, mobs
and do mob damage?
rotor doesn't work with