testChamber2
new level testChamber2
New camera flip effect
new laser level element now has collisions with blocks
elevators are less deadly to mobs at low speeds
difficulty level progression reworked
no constraints on final boss
new constraint - healing disabled
quenching 0.3->0.4x overheal converted to max health
tungsten carbide 400->500 extra max health
paradigm shift's health loss is no longer reduced by damage taken reduction
coherence no longer remembers tech that is set to zero frequency, like removed tech
JUNK tech: pet the bot - lets you pet your bots
JUNK tech: the upside down - flip everything
bug
prevented possible duplicate choices with coherence tech
fixed issues with showing and hiding health bars on that constraint
fixed crash from autonomous defense
mass-energy mode wasn't getting any benefit from damage taken reduction
it now gets square root of damage taken reduction
This commit is contained in:
43
js/index.js
43
js/index.js
@@ -324,6 +324,11 @@ function setupCanvas() {
|
||||
ctx.lineJoin = "round";
|
||||
ctx.lineCap = "round";
|
||||
simulation.setZoom();
|
||||
|
||||
if (simulation.isInvertedVertical) {
|
||||
ctx.translate(0, canvas.height); // Move the origin down to the bottom
|
||||
ctx.scale(1, -1); // Flip vertically
|
||||
}
|
||||
}
|
||||
setupCanvas();
|
||||
window.onresize = () => {
|
||||
@@ -519,16 +524,17 @@ ${simulation.isCheating ? "<br><br><em>lore disabled</em>" : ""}
|
||||
<details id="difficulty-parameters-details" style="padding: 0 8px;">
|
||||
<summary>difficulty parameters</summary>
|
||||
<div class="pause-details">
|
||||
${simulation.difficultyMode > 0 ? `<div class="pause-difficulty-row"><strong>0.87x</strong> <strong class='color-d'>damage</strong>, <strong>1.2x</strong> <strong class='color-defense'>damage taken</strong> per level<br><strong>+1</strong> boss on each level</div>` : " "}
|
||||
${simulation.difficultyMode > 1 ? `<div class="pause-difficulty-row"><strong>more</strong> mob per level<br><strong>faster</strong> mobs per level</div>` : " "}
|
||||
${simulation.difficultyMode > 2 ? `<div class="pause-difficulty-row"><strong>0.87x</strong> <strong class='color-d'>damage</strong>, <strong>1.2x</strong> <strong class='color-defense'>damage taken</strong> per level<br><strong>+1</strong> random <strong class="constraint">constraint</strong> on each level</div>` : " "}
|
||||
${simulation.difficultyMode > 3 ? `<div class="pause-difficulty-row"><strong>+1</strong> boss on each level<br>bosses spawn <strong>1</strong> fewer ${powerUps.orb.tech()}</div>` : " "}
|
||||
${simulation.difficultyMode > 4 ? `<div class="pause-difficulty-row"><strong>0.87x</strong> <strong class='color-d'>damage</strong>, <strong>1.2x</strong> <strong class='color-defense'>damage taken</strong> per level<br><strong>+1</strong> random <strong class="constraint">constraint</strong> on each level</div>` : " "}
|
||||
${simulation.difficultyMode > 0 ? `<div class="pause-difficulty-row"><strong>0.85x</strong> <strong class='color-d'>damage</strong> per level<br><strong>1.25x</strong> <strong class='color-defense'>damage taken</strong> per level</div>` : " "}
|
||||
${simulation.difficultyMode > 1 ? `<div class="pause-difficulty-row">spawn <strong>more</strong> mobs<br>mobs move <strong>faster</strong></div>` : " "}
|
||||
${simulation.difficultyMode > 2 ? `<div class="pause-difficulty-row">spawn a <strong>2nd</strong> boss each level<br>bosses spawn <strong>0.5x</strong> power ups</div>` : " "}
|
||||
${simulation.difficultyMode > 3 ? `<div class="pause-difficulty-row"><strong>0.85x</strong> <strong class='color-d'>damage</strong> per level<br><strong>1.25x</strong> <strong class='color-defense'>damage taken</strong> per level</div>` : " "}
|
||||
${simulation.difficultyMode > 4 ? `<div class="pause-difficulty-row"><strong>+1</strong> random <strong class="constraint">constraint</strong> each level<br>fewer initial power ups</div>` : " "}
|
||||
${simulation.difficultyMode > 5 ? `<div class="pause-difficulty-row"><strong>0.5x</strong> initial <strong class='color-d'>damage</strong><br><strong>2x</strong> initial <strong class='color-defense'>damage taken</strong></div>` : " "}
|
||||
${simulation.difficultyMode > 6 ? `<div class="pause-difficulty-row"><strong>+1</strong> random <strong class="constraint">constraint</strong> each level<br>fewer ${powerUps.orb.tech()} spawn</div>` : " "}
|
||||
</div>
|
||||
</details>
|
||||
${simulation.difficultyMode > 2 ? `<details id="constraints-details" style="padding: 0 8px;"><summary>active constraints</summary><div class="pause-details"><span class="constraint">${level.constraintDescription1}<br>${level.constraintDescription2}</span></div></details>` : ""}
|
||||
</div>`
|
||||
${simulation.difficultyMode > 4 ? `<details id="constraints-details" style="padding: 0 8px;"><summary>active constraints</summary><div class="pause-details"><span class="constraint">${level.constraintDescription1}<br>${level.constraintDescription2}</span></div></details>` : ""}
|
||||
</div>`
|
||||
if (!localSettings.isHideHUD) text += `<div class="pause-grid-module card-background" style="height:auto;">
|
||||
<details id = "console-log-details" style="padding: 0 8px;">
|
||||
<summary>console log</summary>
|
||||
@@ -754,7 +760,7 @@ ${simulation.difficultyMode > 2 ? `<details id="constraints-details" style="padd
|
||||
if (tech.isEnergyHealth) {
|
||||
document.getElementById("health").style.display = "none"
|
||||
document.getElementById("health-bg").style.display = "none"
|
||||
} else {
|
||||
} else if (!level.isHideHealth) {
|
||||
document.getElementById("health").style.display = "inline"
|
||||
document.getElementById("health-bg").style.display = "inline"
|
||||
}
|
||||
@@ -1019,7 +1025,6 @@ ${simulation.difficultyMode > 2 ? `<details id="constraints-details" style="padd
|
||||
document.getElementById("experiment-grid").innerHTML = text
|
||||
|
||||
|
||||
|
||||
//add event listener for pressing enter key when in sort
|
||||
function pressEnterSort(event) {
|
||||
if (event.key === 'Enter') {
|
||||
@@ -1029,14 +1034,6 @@ ${simulation.difficultyMode > 2 ? `<details id="constraints-details" style="padd
|
||||
}
|
||||
document.getElementById("sort-input").addEventListener('keydown', pressEnterSort);
|
||||
|
||||
// document.getElementById("difficulty-select-experiment").value = document.getElementById("difficulty-select").value
|
||||
// document.getElementById("difficulty-select-experiment").addEventListener("input", () => {
|
||||
// simulation.difficultyMode = Number(document.getElementById("difficulty-select-experiment").value)
|
||||
// lore.setTechGoal()
|
||||
// localSettings.difficultyMode = Number(document.getElementById("difficulty-select-experiment").value)
|
||||
// document.getElementById("difficulty-select").value = document.getElementById("difficulty-select-experiment").value
|
||||
// if (localSettings.isAllowed) localStorage.setItem("localSettings", JSON.stringify(localSettings)); //update local storage
|
||||
// });
|
||||
//add tooltips
|
||||
for (let i = 0, len = tech.tech.length; i < len; i++) {
|
||||
if (document.getElementById(`tech-${i}`)) {
|
||||
@@ -1066,8 +1063,8 @@ ${simulation.difficultyMode > 2 ? `<details id="constraints-details" style="padd
|
||||
b.activeGun = null;
|
||||
b.inventoryGun = 0;
|
||||
simulation.makeGunHUD();
|
||||
m.resetSkin()
|
||||
tech.setupAllTech();
|
||||
m.resetSkin();
|
||||
build.populateGrid();
|
||||
document.getElementById("field-0").classList.add("build-field-selected");
|
||||
document.getElementById("experiment-grid").style.display = "grid"
|
||||
@@ -1695,9 +1692,13 @@ window.addEventListener("keydown", function (event) {
|
||||
}
|
||||
});
|
||||
//mouse move input
|
||||
document.body.addEventListener("mousemove", (e) => {
|
||||
function mouseMoveDefault(e) {
|
||||
simulation.mouse.x = e.clientX;
|
||||
simulation.mouse.y = e.clientY;
|
||||
}
|
||||
let mouseMove = mouseMoveDefault
|
||||
document.body.addEventListener("mousemove", (e) => {
|
||||
mouseMove(e)
|
||||
});
|
||||
|
||||
document.body.addEventListener("mouseup", (e) => {
|
||||
@@ -1835,7 +1836,7 @@ if (localSettings.isAllowed && !localSettings.isEmpty) {
|
||||
document.getElementById("hide-hud").checked = localSettings.isHideHUD
|
||||
|
||||
if (localSettings.difficultyCompleted === undefined) {
|
||||
localSettings.difficultyCompleted = [null, false, false, false, false, false, false] //null because there isn't a difficulty zero
|
||||
localSettings.difficultyCompleted = [null, false, false, false, false, false, false, false] //null because there isn't a difficulty zero
|
||||
localStorage.setItem("localSettings", JSON.stringify(localSettings)); //update local storage
|
||||
}
|
||||
|
||||
@@ -1857,7 +1858,7 @@ if (localSettings.isAllowed && !localSettings.isEmpty) {
|
||||
isJunkExperiment: false,
|
||||
isCommunityMaps: false,
|
||||
difficultyMode: '2',
|
||||
difficultyCompleted: [null, false, false, false, false, false, false],
|
||||
difficultyCompleted: [null, false, false, false, false, false, false, false],
|
||||
fpsCapDefault: 'max',
|
||||
runCount: 0,
|
||||
isTrainingNotAttempted: true,
|
||||
|
||||
Reference in New Issue
Block a user