From 5bbac02f88e7c8f879c1e2edf6f64f1ef903e43d Mon Sep 17 00:00:00 2001 From: landgreen Date: Wed, 21 Oct 2020 07:47:10 -0700 Subject: [PATCH] bug fix --- index.html | 6 ++-- js/bullet.js | 3 +- js/mods.js | 80 ++++++++++++++++++++++++++-------------------------- js/player.js | 4 +-- todo.txt | 29 +++++++++---------- 5 files changed, 60 insertions(+), 62 deletions(-) diff --git a/index.html b/index.html index 9119338..41c191a 100644 --- a/index.html +++ b/index.html @@ -157,7 +157,7 @@ ArrowUp - CROUCH  + CROUCH S ArrowDown @@ -172,12 +172,12 @@ ArrowRight - GUN → + GUN → Q MouseWheel - GUN ← + GUN ← E MouseWheel diff --git a/js/bullet.js b/js/bullet.js index f9a0c93..a6751b8 100644 --- a/js/bullet.js +++ b/js/bullet.js @@ -1159,7 +1159,7 @@ const b = { World.add(engine.world, bullet[me]); //add bullet to world bullet[me].endCycle = game.cycle + 60 + 18 * Math.random(); 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.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) { mobs.statusSlow(who, 30) 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 if (mech.energy < 0.02) mech.fireCDcycle = mech.cycle + 60; // cool down diff --git a/js/mods.js b/js/mods.js index 623ce66..77b5c68 100644 --- a/js/mods.js +++ b/js/mods.js @@ -791,7 +791,7 @@ const mod = { }, { name: "squirrel-cage rotor", - description: "jump higher and move faster", + description: "move and jump about 25% faster", maxCount: 9, count: 0, allowed() { @@ -1208,7 +1208,7 @@ const mod = { }, { name: "Bayesian statistics", - description: "18% chance to duplicate spawned power ups
after a collision, eject one of your mods", + description: "16% chance to duplicate spawned power ups
after a collision, eject one of your mods", maxCount: 1, count: 0, allowed() { @@ -1217,13 +1217,13 @@ const mod = { requires: "", effect: () => { mod.isBayesian = true - mod.duplicateChance += 0.18 + mod.duplicateChance += 0.16 game.draw.powerUp = game.draw.powerUpBonus //change power up draw }, remove() { if (mod.isBayesian) { - mod.duplicateChance -= 0.18 + mod.duplicateChance -= 0.16 if (mod.duplicateChance < 0) mod.duplicateChance = 0 } mod.isBayesian = false @@ -1596,6 +1596,39 @@ const mod = { mod.isDamageFromBulletCount = false } }, + { + name: "ice crystal nucleation", + description: "the nail gun uses energy to condense
unlimited freezing ice shards", + 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", description: "nails do 400% more damage
when they strike near the center of a mob", @@ -1644,39 +1677,6 @@ const mod = { mod.nailInstantFireRate = false } }, - { - name: "ice crystal nucleation", - description: "the nail gun uses energy to condense
unlimited freezing ice shards", - 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", description: "immune to harm while firing the shotgun
ammo costs are doubled", @@ -2570,7 +2570,7 @@ const mod = { }, { name: "Lorentz transformation", - description: "permanently increase your relative time rate
move, jump, and shoot 33% faster", + description: "permanently increase your relative time rate
move, jump, and shoot 40% faster", maxCount: 1, count: 0, allowed() { @@ -2578,8 +2578,8 @@ const mod = { }, requires: "time dilation field", effect() { - mod.fastTime = 1.33; - mod.fastTimeJump = 1.09; + mod.fastTime = 1.40; + mod.fastTimeJump = 1.11; mech.setMovement(); b.setFireCD(); }, diff --git a/js/player.js b/js/player.js index b7a4cf4..1f893f3 100644 --- a/js/player.js +++ b/js/player.js @@ -1728,7 +1728,7 @@ const mech = { mech.grabPowerUp(); mech.lookForPickUp(180); - const DRAIN = 0.0008 + const DRAIN = 0.0007 if (mech.energy > DRAIN) { mech.energy -= DRAIN; if (mech.energy < DRAIN) { @@ -2413,7 +2413,7 @@ const mech = { x: velocity.x, 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 for (let i = 0; i < bullet.length; i++) { if (bullet[i].botType) { diff --git a/todo.txt b/todo.txt index e6d78ae..b5ee3d2 100644 --- a/todo.txt +++ b/todo.txt @@ -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 ************** +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 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 -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 mod: take less harm if you are moving fast