invisible map element bug fixed

cloaking field no longer gets smaller when you are low on energy
invisible map element bug fixed
This commit is contained in:
landgreen
2021-08-08 11:26:24 -07:00
parent 387d30eff5
commit efa16c9ad5
5 changed files with 14 additions and 29 deletions

BIN
.DS_Store vendored

Binary file not shown.

View File

@@ -3803,6 +3803,7 @@ const b = {
if (tech.isIceCrystals) { if (tech.isIceCrystals) {
bullet[bullet.length - 1].beforeDmg = function(who) { bullet[bullet.length - 1].beforeDmg = function(who) {
mobs.statusSlow(who, 60) 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) { 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 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) { if (m.energy < 0.01) {
m.fireCDcycle = m.cycle + 60; // cool down m.fireCDcycle = m.cycle + 60; // cool down
} else { } else {
m.energy -= m.fieldRegen + 0.009 m.energy -= m.fieldRegen + 0.008
} }
} }
}, },
@@ -4610,7 +4611,7 @@ const b = {
name: "spores", name: "spores",
description: "fire a <strong class='color-p' style='letter-spacing: 2px;'>sporangium</strong> that discharges <strong class='color-p' style='letter-spacing: 2px;'>spores</strong><br><strong class='color-p' style='letter-spacing: 2px;'>spores</strong> seek out nearby mobs", description: "fire a <strong class='color-p' style='letter-spacing: 2px;'>sporangium</strong> that discharges <strong class='color-p' style='letter-spacing: 2px;'>spores</strong><br><strong class='color-p' style='letter-spacing: 2px;'>spores</strong> seek out nearby mobs",
ammo: 0, ammo: 0,
ammoPack: 3, ammoPack: 2.3,
have: false, have: false,
do() {}, do() {},
fire() { fire() {

View File

@@ -7,12 +7,12 @@ const level = {
defaultZoom: 1400, defaultZoom: 1400,
onLevel: -1, onLevel: -1,
levelsCleared: 0, 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: [], levels: [],
start() { start() {
if (level.levelsCleared === 0) { //this code only runs on the first level if (level.levelsCleared === 0) { //this code only runs on the first level
// localSettings.levelsClearedLastGame = 10 // 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 // level.difficultyIncrease(30) //30 is near max on hard //60 is near max on why
// simulation.isHorizontalFlipped = true // simulation.isHorizontalFlipped = true
// tech.isFieldFree = 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 < 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") // for (let i = 0; i < 7; i++) tech.giveTech("undefined")
// lore.techCount = 6 // lore.techCount = 6
simulation.enableConstructMode() //used to build maps in testing mode
// simulation.isCheating = false //true; // simulation.isCheating = false //true;
// localSettings.loreCount = 3; //this sets what conversation is heard // 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 + 250, y + -1700, hexagon150);
spawn.mapVertex(x + 725, y + -1950, hexagon150); spawn.mapVertex(x + 725, y + -1950, hexagon150);
spawn.mapVertex(x + 1200, y + -2200, 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]) for (let i = 0; i < numberOfMapElementsAdded; i++) addMapToLevelInProgress(map[map.length - 1 - i])
spawn.randomMob(x + 1075, y + -1500, mobSpawnChance); spawn.randomMob(x + 1075, y + -1500, mobSpawnChance);
@@ -1986,7 +1987,7 @@ const level = {
empty = emptyOptions[Math.floor(Math.random() * emptyOptions.length)]; empty = emptyOptions[Math.floor(Math.random() * emptyOptions.length)];
loot = lootOptions[Math.floor(Math.random() * lootOptions.length)]; loot = lootOptions[Math.floor(Math.random() * lootOptions.length)];
upDown = upDownOptions[Math.floor(Math.random() * upDownOptions.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) //3x2: 4 short rooms (3000x1500), 1 double tall room (3000x3000)
//rooms //rooms
let rooms = ["loot", "enter", "empty", "exit"] let rooms = ["loot", "enter", "empty", "exit"]

View File

@@ -2204,7 +2204,7 @@ const m = {
} }
function drawField() { function drawField() {
m.fieldPhase += 0.007 + 0.07 * (1 - energy) m.fieldPhase += 0.007
const wiggle = 0.15 * Math.sin(m.fieldPhase * 0.5) const wiggle = 0.15 * Math.sin(m.fieldPhase * 0.5)
ctx.beginPath(); ctx.beginPath();
ctx.ellipse(m.pos.x, m.pos.y, m.fieldDrawRadius * (1 - wiggle), m.fieldDrawRadius * (1 + wiggle), m.fieldPhase, 0, 2 * Math.PI); 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(); 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) { if (m.isCloak) {
this.fieldRange = this.fieldRange * 0.9 + 0.1 * drawRadius 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() drawField()
} else { } else {
if (this.fieldRange < 3000) { if (this.fieldRange < 3000) {
this.fieldRange += 200 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() drawField()
} }
} }

View File

@@ -1,14 +1,7 @@
******************************************************** NEXT PATCH ******************************************************** ******************************************************** NEXT PATCH ********************************************************
new boss snakeSpitBoss - it's just snake boss but it shoots little pink seekers cloaking field no longer gets smaller when you are low on energy
invisible map element bug fixed
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
******************************************************** TODO ******************************************************** ******************************************************** TODO ********************************************************
@@ -190,16 +183,6 @@ n-gon outreach ideas
******************************************************** BUGS ******************************************************** ******************************************************** 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?) 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.World.remove(engine.world, array[i]);
for (let i = 0; i < array.length; ++i) Matter.Composite.remove(engine.world, array[i]); for (let i = 0; i < array.length; ++i) Matter.Composite.remove(engine.world, array[i]);