From efa16c9ad503f91aa97b29956acc49f01356a29b Mon Sep 17 00:00:00 2001 From: landgreen Date: Sun, 8 Aug 2021 11:26:24 -0700 Subject: [PATCH] invisible map element bug fixed cloaking field no longer gets smaller when you are low on energy invisible map element bug fixed --- .DS_Store | Bin 6148 -> 6148 bytes js/bullet.js | 5 +++-- js/level.js | 9 +++++---- js/player.js | 8 ++++---- todo.txt | 21 ++------------------- 5 files changed, 14 insertions(+), 29 deletions(-) diff --git a/.DS_Store b/.DS_Store index 64266e951fec58380d4ac05d1aa8d15e08ce5a17..e90bcb8c0c528c198c2d95947bef90232f95a4d7 100644 GIT binary patch delta 21 ccmZoMXffEJ#mw|@{$w3yKSqJg)y$nD08Zovw*UYD delta 21 ccmZoMXffEJ#mw~J=42gaKgNR1)y$nD08`HgPyhe` diff --git a/js/bullet.js b/js/bullet.js index 00340bf..83874d2 100644 --- a/js/bullet.js +++ b/js/bullet.js @@ -3803,6 +3803,7 @@ const b = { if (tech.isIceCrystals) { bullet[bullet.length - 1].beforeDmg = function(who) { mobs.statusSlow(who, 60) + if (tech.isNailRadiation) mobs.statusDoT(who, dmg * (tech.isFastRadiation ? 2.6 : 0.65), tech.isSlowRadiation ? 240 : (tech.isFastRadiation ? 30 : 120)) // one tick every 30 cycles if (tech.isNailCrit && !who.shield && Vector.dot(Vector.normalise(Vector.sub(who.position, this.position)), Vector.normalise(this.velocity)) > 0.94) { b.explosion(this.position, 150 + 30 * Math.random()); //makes bullet do explosive damage at end } @@ -3810,7 +3811,7 @@ const b = { if (m.energy < 0.01) { m.fireCDcycle = m.cycle + 60; // cool down } else { - m.energy -= m.fieldRegen + 0.009 + m.energy -= m.fieldRegen + 0.008 } } }, @@ -4610,7 +4611,7 @@ const b = { name: "spores", description: "fire a sporangium that discharges spores
spores seek out nearby mobs", ammo: 0, - ammoPack: 3, + ammoPack: 2.3, have: false, do() {}, fire() { diff --git a/js/level.js b/js/level.js index 6330f48..fcda538 100644 --- a/js/level.js +++ b/js/level.js @@ -7,12 +7,12 @@ const level = { defaultZoom: 1400, onLevel: -1, levelsCleared: 0, - playableLevels: ["skyscrapers", "rooftops", "warehouse", "highrise", "office", "aerie", "satellite", "sewers", "testChamber", "labs"], + playableLevels: ["labs", "rooftops", "skyscrapers", "warehouse", "highrise", "office", "aerie", "satellite", "sewers", "testChamber"], levels: [], start() { if (level.levelsCleared === 0) { //this code only runs on the first level // localSettings.levelsClearedLastGame = 10 - // simulation.enableConstructMode() //used to build maps in testing mode + // level.difficultyIncrease(30) //30 is near max on hard //60 is near max on why // simulation.isHorizontalFlipped = true // tech.isFieldFree = true @@ -56,6 +56,7 @@ const level = { // for (let i = 0; i < 30; i++) powerUps.spawn(player.position.x + Math.random() * 50, player.position.y - Math.random() * 50, "tech", false); // for (let i = 0; i < 7; i++) tech.giveTech("undefined") // lore.techCount = 6 + simulation.enableConstructMode() //used to build maps in testing mode // simulation.isCheating = false //true; // localSettings.loreCount = 3; //this sets what conversation is heard @@ -1933,7 +1934,7 @@ const level = { spawn.mapVertex(x + 250, y + -1700, hexagon150); spawn.mapVertex(x + 725, y + -1950, hexagon150); spawn.mapVertex(x + 1200, y + -2200, hexagon150); - const numberOfMapElementsAdded = 13 + const numberOfMapElementsAdded = 11 for (let i = 0; i < numberOfMapElementsAdded; i++) addMapToLevelInProgress(map[map.length - 1 - i]) spawn.randomMob(x + 1075, y + -1500, mobSpawnChance); @@ -1986,7 +1987,7 @@ const level = { empty = emptyOptions[Math.floor(Math.random() * emptyOptions.length)]; loot = lootOptions[Math.floor(Math.random() * lootOptions.length)]; upDown = upDownOptions[Math.floor(Math.random() * upDownOptions.length)]; - // upDown = upDownOptions[0] //controls what level spawns for map designing building //********************************* DO !NOT! RUN THIS LINE IN THE FINAL VERSION *************************************** + // upDown = upDownOptions[1] //controls what level spawns for map designing building //********************************* DO !NOT! RUN THIS LINE IN THE FINAL VERSION *************************************** //3x2: 4 short rooms (3000x1500), 1 double tall room (3000x3000) //rooms let rooms = ["loot", "enter", "empty", "exit"] diff --git a/js/player.js b/js/player.js index a0b201e..53efedf 100644 --- a/js/player.js +++ b/js/player.js @@ -2204,7 +2204,7 @@ const m = { } function drawField() { - m.fieldPhase += 0.007 + 0.07 * (1 - energy) + m.fieldPhase += 0.007 const wiggle = 0.15 * Math.sin(m.fieldPhase * 0.5) ctx.beginPath(); ctx.ellipse(m.pos.x, m.pos.y, m.fieldDrawRadius * (1 - wiggle), m.fieldDrawRadius * (1 + wiggle), m.fieldPhase, 0, 2 * Math.PI); @@ -2220,15 +2220,15 @@ const m = { ctx.clip(); } - const energy = Math.max(0.01, Math.min(m.energy, 1)) + // const energy = Math.max(0.01, Math.min(m.energy, 1)) if (m.isCloak) { this.fieldRange = this.fieldRange * 0.9 + 0.1 * drawRadius - m.fieldDrawRadius = this.fieldRange * Math.min(1, 0.3 + 0.5 * Math.min(1, energy * energy)); + m.fieldDrawRadius = this.fieldRange * 0.9 //* Math.min(1, 0.3 + 0.5 * Math.min(1, energy * energy)); drawField() } else { if (this.fieldRange < 3000) { this.fieldRange += 200 - m.fieldDrawRadius = this.fieldRange * Math.min(1, 0.3 + 0.5 * Math.min(1, energy * energy)); + m.fieldDrawRadius = this.fieldRange //* Math.min(1, 0.3 + 0.5 * Math.min(1, energy * energy)); drawField() } } diff --git a/todo.txt b/todo.txt index 9317de3..4fb4d1e 100644 --- a/todo.txt +++ b/todo.txt @@ -1,14 +1,7 @@ ******************************************************** NEXT PATCH ******************************************************** -new boss snakeSpitBoss - it's just snake boss but it shoots little pink seekers - -tech: cross disciplinary - get an extra gun or field option in tech menu - now that you can scroll the selection menu can be longer - -unified field theory - now gives 6 research, in addition to letting you switch fields when paused -cardinality renamed emergence - and gives some JUNK - -bug fix where game crashes if you beat the boss +cloaking field no longer gets smaller when you are low on energy +invisible map element bug fixed ******************************************************** TODO ******************************************************** @@ -190,16 +183,6 @@ n-gon outreach ideas ******************************************************** BUGS ******************************************************** -map elements from labs not getting removed from matter.js, but they are removed from map[] - seems to always be the top right room near the center. why??? - these 1-2 elements are probalby the last elements added to the engine - floor in labs loot room, showed up on warehouse map once, invisible - button floor and shelf that drops blocks from labs showed up invisible on next levels - 2 thin floors in loot room, rectangles - 2 of the 5 elements were not rectangles - is labs too big? - add a delay for loading maps? - Matter.World module has now been replaced by Matter.Composite (is this a possible fix?) // for (let i = 0; i < array.length; ++i) Matter.World.remove(engine.world, array[i]); for (let i = 0; i < array.length; ++i) Matter.Composite.remove(engine.world, array[i]);