frequency

tech: robotics - 3x frequency of bot tech, spawn a random bot
tech: statistical ensemble - 10000% increased frequency of recursive tech you already have

non-refundable tech can no longer display as "off" in the experiment menu when you click it a second time
  these tech can't be removed with out resetting
  please don't submit bug reports about this...

added more junk tech
This commit is contained in:
landgreen
2021-03-04 04:47:51 -08:00
parent 9e98ceb4e1
commit abed965f7b
8 changed files with 417 additions and 462 deletions

BIN
.DS_Store vendored

Binary file not shown.

View File

@@ -2241,12 +2241,11 @@ const b = {
//remove all bots techs and convert them to the new type so that tech refunds work correctly //remove all bots techs and convert them to the new type so that tech refunds work correctly
let totalTechToConvert = 0 //count how many tech need to be converted let totalTechToConvert = 0 //count how many tech need to be converted
for (let i = 0; i < tech.tech.length; i++) { for (let i = 0; i < tech.tech.length; i++) {
if (tech.tech[i].count && tech.tech[i].isBotTech) { if (tech.tech[i].count && tech.tech[i].isBot) {
totalTechToConvert += tech.tech[i].count totalTechToConvert += tech.tech[i].count
tech.removeTech(i) tech.removeTech(i)
} }
} }
console.log(totalTechToConvert)
let name = "" let name = ""
if (type === "nailBotCount") name = "nail-bot" if (type === "nailBotCount") name = "nail-bot"

View File

@@ -289,9 +289,16 @@ const build = {
if (tech.tech[index].count < tech.tech[index].maxCount) { if (tech.tech[index].count < tech.tech[index].maxCount) {
if (!who.classList.contains("build-tech-selected")) who.classList.add("build-tech-selected"); if (!who.classList.contains("build-tech-selected")) who.classList.add("build-tech-selected");
tech.giveTech(index) tech.giveTech(index)
} else { } else if (!tech.tech[index].isNonRefundable) {
tech.totalCount -= tech.tech[index].count
tech.removeTech(index); tech.removeTech(index);
who.classList.remove("build-tech-selected"); who.classList.remove("build-tech-selected");
} else {
who.classList.remove("build-tech-selected")
setTimeout(() => { //return energy
who.classList.add("build-tech-selected")
}, 50);
} }
} }
//update tech text //disable not allowed tech //update tech text //disable not allowed tech
@@ -308,7 +315,6 @@ const build = {
<div class="circle-grid field" style="position:absolute; top:0; left:10px;opacity:0.65;"></div> <div class="circle-grid field" style="position:absolute; top:0; left:10px;opacity:0.65;"></div>
</span> </span>
&nbsp; &nbsp; &nbsp; &nbsp; ${tech.tech[i].name} ${isCount}</div>${tech.tech[i].description}</div>` &nbsp; &nbsp; &nbsp; &nbsp; ${tech.tech[i].name} ${isCount}</div>${tech.tech[i].description}</div>`
// <div class="circle-grid gun" style="position:absolute; top:-3px; left:-3px; opacity:1; height: 33px; width:33px;"></div> // <div class="circle-grid gun" style="position:absolute; top:-3px; left:-3px; opacity:1; height: 33px; width:33px;"></div>
// <div class="circle-grid tech" style="position:absolute; top:5px; left:5px;opacity:1;height: 20px; width:20px;border: #fff solid 2px;"></div> // <div class="circle-grid tech" style="position:absolute; top:5px; left:5px;opacity:1;height: 20px; width:20px;border: #fff solid 2px;"></div>
// border: #fff solid 0px; // border: #fff solid 0px;

View File

@@ -380,15 +380,15 @@ const m = {
//find what tech I could get //find what tech I could get
let options = []; let options = [];
for (let i = 0, len = tech.tech.length; i < len; i++) { for (let i = 0, len = tech.tech.length; i < len; i++) {
if (tech.tech[i].count < tech.tech[i].maxCount && if (
tech.tech[i].count < tech.tech[i].maxCount &&
tech.tech[i].allowed() &&
!tech.tech[i].isBadRandomOption && !tech.tech[i].isBadRandomOption &&
!tech.tech[i].isLore && !tech.tech[i].isLore &&
tech.tech[i].allowed() && (!tech.tech[i].isJunk || Math.random() < 0.15)
(!tech.tech[i].isJunk || Math.random() < 0.25)) options.push(i); ) {
// !tech.tech[i].isNonRefundable && for (let j = 0; j < tech.tech[i].frequency; j++) options.push(i);
// tech.tech[i].name !== "quantum immortality" && }
// tech.tech[i].name !== "many-worlds" &&
// tech.tech[i].name !== "perturbation theory" &&
} }
//add a new tech from options pool //add a new tech from options pool
if (options.length > 0) tech.giveTech(options[Math.floor(Math.random() * options.length)]) if (options.length > 0) tech.giveTech(options[Math.floor(Math.random() * options.length)])
@@ -399,6 +399,7 @@ const m = {
simulation.updateTechHUD(); simulation.updateTechHUD();
simulation.isTextLogOpen = true; simulation.isTextLogOpen = true;
if (m.holdingTarget) m.drop(); if (m.holdingTarget) m.drop();
if (simulation.paused) build.pauseGrid() //update the build when paused
}, },
death() { death() {
if (tech.isImmortal) { //if player has the immortality buff, spawn on the same level with randomized damage if (tech.isImmortal) { //if player has the immortality buff, spawn on the same level with randomized damage

View File

@@ -125,6 +125,7 @@ const spawn = {
} else if (count === 900) { } else if (count === 900) {
simulation.makeTextLog(`World.clear(engine.world)`); simulation.makeTextLog(`World.clear(engine.world)`);
} else if (count === 1140) { } else if (count === 1140) {
tech.isImmortal = false;
m.death() m.death()
return return
} }

File diff suppressed because it is too large Load Diff

View File

@@ -714,6 +714,29 @@ summary {
} }
.flicker {
animation: flicker 4s linear infinite;
}
@keyframes flicker {
0% {
opacity: 1;
}
80% {
opacity: 1;
}
90% {
opacity: 0;
}
100% {
opacity: 1;
}
}
.box { .box {
padding: 3px 8px 3px 8px; padding: 3px 8px 3px 8px;
border: 2px solid #444; border: 2px solid #444;

View File

@@ -1,14 +1,5 @@
******************************************************** NEXT PATCH ******************************************************** ******************************************************** NEXT PATCH ********************************************************
some tech now has 2x,3x,4x frequency of showing up
(most tech is at 1x, a few are at 2x if they have a rare requirement to unlock)
reworked junk and lore tech systems
(might be some new bugs)
tech that used to just summon a power up now also increases tech frequency
removed the 4 perpetual techs
maybe fixed immune boss bug on detours level
******************************************************** BUGS ******************************************************** ******************************************************** BUGS ********************************************************
@@ -54,6 +45,9 @@ use the floor of portal sensor on the player? to unstuck player
******************************************************** TODO ******************************************************** ******************************************************** TODO ********************************************************
mob - grows after taking damage
mob - attack outwardly after taking damage
tech- foam is attracted to mobs tech- foam is attracted to mobs
use a gravitational attraction model? use a gravitational attraction model?
could foam be attracted to other foam bullets too? could foam be attracted to other foam bullets too?