This commit is contained in:
landgreen
2020-10-21 07:47:10 -07:00
parent 0c2285b1c7
commit 5bbac02f88
5 changed files with 60 additions and 62 deletions

View File

@@ -157,7 +157,7 @@
<td class='key-used'>ArrowUp</td> <td class='key-used'>ArrowUp</td>
</tr> </tr>
<tr> <tr>
<th>CROUCH&nbsp;</th> <th>CROUCH</th>
<td id='key-down' class='key-input'>S</td> <td id='key-down' class='key-input'>S</td>
<td class='key-used'>ArrowDown</td> <td class='key-used'>ArrowDown</td>
</tr> </tr>
@@ -172,12 +172,12 @@
<td class='key-used'>ArrowRight</td> <td class='key-used'>ArrowRight</td>
</tr> </tr>
<tr> <tr>
<th>GUN → </th> <th>GUN →</th>
<td id='key-next-gun' class='key-input'>Q</td> <td id='key-next-gun' class='key-input'>Q</td>
<td class='key-used'>MouseWheel</td> <td class='key-used'>MouseWheel</td>
</tr> </tr>
<tr> <tr>
<th>GUN ← </th> <th>GUN ←</th>
<td id='key-previous-gun' class='key-input'>E</td> <td id='key-previous-gun' class='key-input'>E</td>
<td class='key-used'>MouseWheel</td> <td class='key-used'>MouseWheel</td>
</tr> </tr>

View File

@@ -1159,7 +1159,7 @@ const b = {
World.add(engine.world, bullet[me]); //add bullet to world World.add(engine.world, bullet[me]); //add bullet to world
bullet[me].endCycle = game.cycle + 60 + 18 * Math.random(); bullet[me].endCycle = game.cycle + 60 + 18 * Math.random();
bullet[me].dmg = dmg bullet[me].dmg = dmg
bullet[me].beforeDmg = function (who) { bullet[me].beforeDmg = function (who) { //beforeDmg is rewritten with ice crystal mod
if (mod.isNailPoison) mobs.statusDoT(who, dmg * 0.22, 120) // one tick every 30 cycles if (mod.isNailPoison) mobs.statusDoT(who, dmg * 0.22, 120) // one tick every 30 cycles
if (mod.isNailCrit && !who.shield && Vector.dot(Vector.normalise(Vector.sub(who.position, this.position)), Vector.normalise(this.velocity)) > 0.99) this.dmg *= 5 //crit if hit near center if (mod.isNailCrit && !who.shield && Vector.dot(Vector.normalise(Vector.sub(who.position, this.position)), Vector.normalise(this.velocity)) > 0.99) this.dmg *= 5 //crit if hit near center
}; };
@@ -1852,6 +1852,7 @@ const b = {
bullet[bullet.length - 1].beforeDmg = function (who) { bullet[bullet.length - 1].beforeDmg = function (who) {
mobs.statusSlow(who, 30) mobs.statusSlow(who, 30)
if (mod.isNailPoison) mobs.statusDoT(who, dmg * 0.22, 120) // one tick every 30 cycles if (mod.isNailPoison) mobs.statusDoT(who, dmg * 0.22, 120) // one tick every 30 cycles
if (mod.isNailCrit && !who.shield && Vector.dot(Vector.normalise(Vector.sub(who.position, this.position)), Vector.normalise(this.velocity)) > 0.99) this.dmg *= 5 //crit if hit near center
}; };
mech.energy -= mech.fieldRegen + 0.008 mech.energy -= mech.fieldRegen + 0.008
if (mech.energy < 0.02) mech.fireCDcycle = mech.cycle + 60; // cool down if (mech.energy < 0.02) mech.fireCDcycle = mech.cycle + 60; // cool down

View File

@@ -791,7 +791,7 @@ const mod = {
}, },
{ {
name: "squirrel-cage rotor", name: "squirrel-cage rotor",
description: "<strong>jump</strong> higher and <strong>move</strong> faster", description: "<strong>move</strong> and <strong>jump</strong> about <strong>25%</strong> faster",
maxCount: 9, maxCount: 9,
count: 0, count: 0,
allowed() { allowed() {
@@ -1208,7 +1208,7 @@ const mod = {
}, },
{ {
name: "Bayesian statistics", name: "Bayesian statistics",
description: "<strong>18%</strong> chance to <strong>duplicate</strong> spawned <strong>power ups</strong><br>after a <strong>collision</strong>, <strong>eject</strong> one of your <strong class='color-m'>mods</strong>", description: "<strong>16%</strong> chance to <strong>duplicate</strong> spawned <strong>power ups</strong><br>after a <strong>collision</strong>, <strong>eject</strong> one of your <strong class='color-m'>mods</strong>",
maxCount: 1, maxCount: 1,
count: 0, count: 0,
allowed() { allowed() {
@@ -1217,13 +1217,13 @@ const mod = {
requires: "", requires: "",
effect: () => { effect: () => {
mod.isBayesian = true mod.isBayesian = true
mod.duplicateChance += 0.18 mod.duplicateChance += 0.16
game.draw.powerUp = game.draw.powerUpBonus //change power up draw game.draw.powerUp = game.draw.powerUpBonus //change power up draw
}, },
remove() { remove() {
if (mod.isBayesian) { if (mod.isBayesian) {
mod.duplicateChance -= 0.18 mod.duplicateChance -= 0.16
if (mod.duplicateChance < 0) mod.duplicateChance = 0 if (mod.duplicateChance < 0) mod.duplicateChance = 0
} }
mod.isBayesian = false mod.isBayesian = false
@@ -1596,6 +1596,39 @@ const mod = {
mod.isDamageFromBulletCount = false mod.isDamageFromBulletCount = false
} }
}, },
{
name: "ice crystal nucleation",
description: "the <strong>nail gun</strong> uses <strong class='color-f'>energy</strong> to condense<br>unlimited <strong class='color-s'>freezing</strong> <strong>ice shards</strong>",
maxCount: 1,
count: 0,
allowed() {
return mod.haveGunCheck("nail gun") && !mod.nailInstantFireRate
},
requires: "nail gun",
effect() {
mod.isIceCrystals = true;
for (i = 0, len = b.guns.length; i < len; i++) { //find which gun
if (b.guns[i].name === "nail gun") {
b.guns[i].ammoPack = Infinity
b.guns[i].recordedAmmo = b.guns[i].ammo
b.guns[i].ammo = Infinity
game.updateGunHUD();
break;
}
}
},
remove() {
mod.isIceCrystals = false;
for (i = 0, len = b.guns.length; i < len; i++) { //find which gun
if (b.guns[i].name === "nail gun") {
b.guns[i].ammoPack = b.guns[i].defaultAmmoPack;
b.guns[i].ammo = b.guns[i].recordedAmmo
game.updateGunHUD();
break;
}
}
}
},
{ {
name: "critical bifurcation", name: "critical bifurcation",
description: "<strong>nails</strong> do <strong>400%</strong> more <strong class='color-d'>damage</strong><br>when they strike near the <strong>center</strong> of a mob", description: "<strong>nails</strong> do <strong>400%</strong> more <strong class='color-d'>damage</strong><br>when they strike near the <strong>center</strong> of a mob",
@@ -1644,39 +1677,6 @@ const mod = {
mod.nailInstantFireRate = false mod.nailInstantFireRate = false
} }
}, },
{
name: "ice crystal nucleation",
description: "the <strong>nail gun</strong> uses <strong class='color-f'>energy</strong> to condense<br>unlimited <strong class='color-s'>freezing</strong> <strong>ice shards</strong>",
maxCount: 1,
count: 0,
allowed() {
return mod.haveGunCheck("nail gun") && !mod.nailInstantFireRate
},
requires: "nail gun",
effect() {
mod.isIceCrystals = true;
for (i = 0, len = b.guns.length; i < len; i++) { //find which gun
if (b.guns[i].name === "nail gun") {
b.guns[i].ammoPack = Infinity
b.guns[i].recordedAmmo = b.guns[i].ammo
b.guns[i].ammo = Infinity
game.updateGunHUD();
break;
}
}
},
remove() {
mod.isIceCrystals = false;
for (i = 0, len = b.guns.length; i < len; i++) { //find which gun
if (b.guns[i].name === "nail gun") {
b.guns[i].ammoPack = b.guns[i].defaultAmmoPack;
b.guns[i].ammo = b.guns[i].recordedAmmo
game.updateGunHUD();
break;
}
}
}
},
{ {
name: "shotgun spin-statistics", name: "shotgun spin-statistics",
description: "<strong>immune</strong> to <strong class='color-harm'>harm</strong> while firing the <strong>shotgun</strong><br><strong class='color-g'>ammo</strong> costs are <strong>doubled</strong>", description: "<strong>immune</strong> to <strong class='color-harm'>harm</strong> while firing the <strong>shotgun</strong><br><strong class='color-g'>ammo</strong> costs are <strong>doubled</strong>",
@@ -2570,7 +2570,7 @@ const mod = {
}, },
{ {
name: "Lorentz transformation", name: "Lorentz transformation",
description: "permanently increase your relative time rate<br><strong>move</strong>, <strong>jump</strong>, and <strong>shoot</strong> <strong>33%</strong> faster", description: "permanently increase your relative time rate<br><strong>move</strong>, <strong>jump</strong>, and <strong>shoot</strong> <strong>40%</strong> faster",
maxCount: 1, maxCount: 1,
count: 0, count: 0,
allowed() { allowed() {
@@ -2578,8 +2578,8 @@ const mod = {
}, },
requires: "time dilation field", requires: "time dilation field",
effect() { effect() {
mod.fastTime = 1.33; mod.fastTime = 1.40;
mod.fastTimeJump = 1.09; mod.fastTimeJump = 1.11;
mech.setMovement(); mech.setMovement();
b.setFireCD(); b.setFireCD();
}, },

View File

@@ -1728,7 +1728,7 @@ const mech = {
mech.grabPowerUp(); mech.grabPowerUp();
mech.lookForPickUp(180); mech.lookForPickUp(180);
const DRAIN = 0.0008 const DRAIN = 0.0007
if (mech.energy > DRAIN) { if (mech.energy > DRAIN) {
mech.energy -= DRAIN; mech.energy -= DRAIN;
if (mech.energy < DRAIN) { if (mech.energy < DRAIN) {
@@ -2413,7 +2413,7 @@ const mech = {
x: velocity.x, x: velocity.x,
y: velocity.y - 4 //an extra vertical kick so the player hangs in place longer y: velocity.y - 4 //an extra vertical kick so the player hangs in place longer
}); });
mech.immuneCycle = mech.cycle + 15; //player is immune to collision damage for 30 cycles mech.immuneCycle = mech.cycle + 15; //player is immune to collision damage
// move bots to follow player // move bots to follow player
for (let i = 0; i < bullet.length; i++) { for (let i = 0; i < bullet.length; i++) {
if (bullet[i].botType) { if (bullet[i].botType) {

View File

@@ -1,16 +1,20 @@
mod: critical bifurcation - nail gun does 400% more damage if it hits very close to the center of a mob
mod: supercritical fission - flechettes explode if they hit very close to the center of a mob
mod: transdimensional spores - after wormholes eat blocks, they disturb spores
mod: traversable geodesics - your bullets can go through worm holes
scrap bots now only last only 30 seconds, but they have a 20% chance to spawn from a kill (was 11%)
the difficulty should feel a bit harder after clearing the boss level
(a bit more more damage taken, and fewer mod drops)
************** TODO - n-gon ************** ************** TODO - n-gon **************
foam bullet on dmg shrink effect
it might mess with the foam position of other bullets on the mob
shrink when foam bullets end while attached, or shrink on collision?
effect - shrink or grow things
time dilation mod rework / buff (time dilation is cool, but it can feel like a chore)
redistribute effects
take no damage
can fire
2x move jump fire while field is active
33% move jump fire always
mod - after a mob or shield dies, remaining dots look for a new nearby host mod - after a mob or shield dies, remaining dots look for a new nearby host
add an ending to the game add an ending to the game
@@ -28,13 +32,6 @@ mod self destruct - drones explode when they die, but they last 1/2 as long
mouse event e.which is deprecated mouse event e.which is deprecated
time dilation mod rework (time dilation is cool, but it can feel like a chore)
redistribute effects
take no damage
can fire
2x move jump fire while field is active
33% move jump fire always
vacuum bomb applies status effect to mobs that makes blocks attracted to them vacuum bomb applies status effect to mobs that makes blocks attracted to them
mod: take less harm if you are moving fast mod: take less harm if you are moving fast