diff --git a/mod-list.html b/mod-list.html
index 86b7c3db..5f844ebe 100644
--- a/mod-list.html
+++ b/mod-list.html
@@ -387,7 +387,6 @@
| funny elements 2022-11-15.js | Few curated randomly-generated elements | Alice |
| funny_solid.js | Feces | Alice |
| funnynames.js | Various ways to mess with the names of elements | nousernamefound |
- | haseulite.js | Loona-related materials with various properties | Alice |
| lactose_intolerance_and_celiac.js | Humans explode on contact with milk, wheat, bread, or toast | Nubo318 |
| lattice_filler.js | Combination of lattice and filler and a destructive variant | Suss |
| liquid_mixing.js | Liquids can mix colors dynamically | Nekonico |
@@ -417,8 +416,6 @@
| Visual Effects |
| acid_and_shapes.js | Weird visual effects enabled in settings | Alice |
| asciiboxels.js | Renders pixels as ASCII characters | Nekonico |
- | background_changer.js | Press 'B' to change canvas background to a URL | R74n |
- | borders.js | Black borders around pixels (Use bright background) | R74n |
| clouds.js | Moving clouds, sky.js recommended | RedBirdly |
| customBackground.js | Set your background to an image link | Jayd |
| fractals.js | Element and tools to render fractals in game | nousernamefound |
@@ -487,6 +484,7 @@
| Broken or Deprecated |
| a_mod_by_alice.js | Combination of most of Alice's mods, and some other things | Alice |
+ | haseulite.js | Loona-related materials with various properties | Alice |
| adjustablepixelsize.js | Set the pixelSize with a URL parameter | Alice |
| advanced_colonies.js | Davlers, creatures with complex colonies | DaviStudios |
| background_changer.js | Press 'B' to change canvas background to a URL | R74n |
diff --git a/mods/chem.js b/mods/chem.js
index 0fbb9af4..4d121ebd 100644
--- a/mods/chem.js
+++ b/mods/chem.js
@@ -1098,7 +1098,7 @@ elements.polytetrafluoroethylene = {
colored: false,
},
tick: function (pixel) {
- if (!pixel.colored) {
+ if (!pixel.colored || !pixel.origColor) {
let rgb = elements.polytetrafluoroethylene.colorObject;
let coloroffset = Math.floor(Math.random() * (Math.random() > 0.5 ? -1 : 1) * Math.random() * 2);
diff --git a/mods/doElectricity changes.js b/mods/doElectricity changes.js
index 5bb17b70..9390116e 100644
--- a/mods/doElectricity changes.js
+++ b/mods/doElectricity changes.js
@@ -1,54 +1,55 @@
//console.log("doElectricity should be changed");
-function doElectricity(pixel) {
- if(isNaN(pixel.charge)) {
- pixel.charge = 0;
- };
- if (pixel.charge) {
- // Check each adjacent pixel, if that pixel's charge is false, set it to the same charge
- for (var i = 0; i < adjacentCoords.length; i++) {
- var x = pixel.x+adjacentCoords[i][0];
- var y = pixel.y+adjacentCoords[i][1];
- if (!isEmpty(x,y,true)) {
- var newPixel = pixelMap[x][y];
- var con = elements[newPixel.element].conduct;
- if (con == undefined) {continue}
- if (elements[pixel.element].noConduct?.length && elements[pixel.element].noConduct.includes(newPixel.element)) {continue};
- if (Math.random() < con) { // If random number is less than conductivity
- if (!newPixel.charge && !newPixel.chargeCD) {
- newPixel.charge = isNaN(pixel.charge) ? 0 : pixel.charge; //Actually set it to the same charge
- if (elements[newPixel.element].colorOn) {
- newPixel.color = pixelColorPick(newPixel);
- }
- if(elements[newPixel.element].onCharge) {
- pixel.charge ??= 0;
- if(isNaN(pixel.charge)) { pixel.charge = 0 };
- elements[newPixel.element].onCharge(pixel);
- };
- }
- }
- else if (elements[newPixel.element].insulate != true && !elements[newPixel.element].noResistance) { // Otherwise heat the pixel (Resistance simulation)
- newPixel.temp += isNaN(pixel.charge) ? 0.25 : pixel.charge/4;
- pixelTempCheck(newPixel);
- }
- }
- }
- pixel.charge -= 0.25;
- if (pixel.charge <= 0) {
- delete pixel.charge;
- //console.log(elements[pixel.element].chargeCD);
- var chargeCd = elements[pixel.element].chargeCD ?? 4;
- pixel.chargeCD = chargeCd; //Customizable chargeCD
- }
- }
- // Lower charge cooldown
- else if (pixel.chargeCD) {
- pixel.chargeCD -= 1;
- if (pixel.chargeCD <= 0) {
- delete pixel.chargeCD;
- if (elements[pixel.element].colorOn) {
- pixel.color = pixelColorPick(pixel);
- }
- }
- }
-}
+// [DEPRECATED - BREAKS GAME as of 2026-01]
+// function doElectricity(pixel) {
+// if(isNaN(pixel.charge)) {
+// pixel.charge = 0;
+// };
+// if (pixel.charge) {
+// // Check each adjacent pixel, if that pixel's charge is false, set it to the same charge
+// for (var i = 0; i < adjacentCoords.length; i++) {
+// var x = pixel.x+adjacentCoords[i][0];
+// var y = pixel.y+adjacentCoords[i][1];
+// if (!isEmpty(x,y,true)) {
+// var newPixel = pixelMap[x][y];
+// var con = elements[newPixel.element].conduct;
+// if (con == undefined) {continue}
+// if (elements[pixel.element].noConduct?.length && elements[pixel.element].noConduct.includes(newPixel.element)) {continue};
+// if (Math.random() < con) { // If random number is less than conductivity
+// if (!newPixel.charge && !newPixel.chargeCD) {
+// newPixel.charge = isNaN(pixel.charge) ? 0 : pixel.charge; //Actually set it to the same charge
+// if (elements[newPixel.element].colorOn) {
+// newPixel.color = pixelColorPick(newPixel);
+// }
+// if(elements[newPixel.element].onCharge) {
+// pixel.charge ??= 0;
+// if(isNaN(pixel.charge)) { pixel.charge = 0 };
+// elements[newPixel.element].onCharge(pixel);
+// };
+// }
+// }
+// else if (elements[newPixel.element].insulate != true && !elements[newPixel.element].noResistance) { // Otherwise heat the pixel (Resistance simulation)
+// newPixel.temp += isNaN(pixel.charge) ? 0.25 : pixel.charge/4;
+// pixelTempCheck(newPixel);
+// }
+// }
+// }
+// pixel.charge -= 0.25;
+// if (pixel.charge <= 0) {
+// delete pixel.charge;
+// //console.log(elements[pixel.element].chargeCD);
+// var chargeCd = elements[pixel.element].chargeCD ?? 4;
+// pixel.chargeCD = chargeCd; //Customizable chargeCD
+// }
+// }
+// // Lower charge cooldown
+// else if (pixel.chargeCD) {
+// pixel.chargeCD -= 1;
+// if (pixel.chargeCD <= 0) {
+// delete pixel.chargeCD;
+// if (elements[pixel.element].colorOn) {
+// pixel.color = pixelColorPick(pixel);
+// }
+// }
+// }
+// }
diff --git a/mods/switches.js b/mods/switches.js
index 392aa7f3..04ee3f4e 100644
--- a/mods/switches.js
+++ b/mods/switches.js
@@ -1,51 +1,53 @@
-var modName = "mods/switches.js";
-var formerlyNoConductMod = "mods/doElectricity changes.js";
+// var modName = "mods/switches.js";
+// var formerlyNoConductMod = "mods/doElectricity changes.js";
-if(enabledMods.includes(formerlyNoConductMod)) {
- elements.switch_off = {
- name: "switch (off)",
- color: "#7F3333",
- behavior: behaviors.WALL,
- noConduct: ["switch_on_control","switch_off_control"],
- category: "machines",
- };
+// if(enabledMods.includes(formerlyNoConductMod)) {
- elements.switch_on = {
- name: "switch (on)",
- color: "#33CC33",
- behavior: behaviors.WALL,
- conduct: 1,
- noConduct: ["switch_on_control","switch_off_control"],
- category: "machines",
- };
+// } else {
+// enabledMods.splice(enabledMods.indexOf(modName),0,formerlyNoConductMod)
+// alert(`The ${formerlyNoConductMod} mod is required and has been automatically inserted (reload for this to take effect).`)
+// localStorage.setItem("enabledMods", JSON.stringify(enabledMods));
+// };
- elements.switch_off_control = {
- color: "#FF3333",
- behavior: behaviors.WALL,
- behaviorOn: [
- "XX|CH:switch_on>switch_off|XX",
- "CH:switch_on>switch_off|XX|CH:switch_on>switch_off",
- "XX|CH:switch_on>switch_off|XX"
- ],
- conduct: 1,
- noConduct: ["switch_on","switch_off"],
- category: "machines",
- };
-
- elements.switch_on_control = {
- color: "#33FF33",
- behavior: behaviors.WALL,
- behaviorOn: [
- "XX|CH:switch_off>switch_on|XX",
- "CH:switch_off>switch_on|XX|CH:switch_off>switch_on",
- "XX|CH:switch_off>switch_on|XX"
- ],
- conduct: 1,
- noConduct: ["switch_on","switch_off"],
- category: "machines",
- };
-} else {
- enabledMods.splice(enabledMods.indexOf(modName),0,formerlyNoConductMod)
- alert(`The ${formerlyNoConductMod} mod is required and has been automatically inserted (reload for this to take effect).`)
- localStorage.setItem("enabledMods", JSON.stringify(enabledMods));
+elements.switch_off = {
+ name: "switch (off)",
+ color: "#7F3333",
+ behavior: behaviors.WALL,
+ ignoreConduct: ["switch_on_control","switch_off_control"],
+ category: "machines",
};
+
+elements.switch_on = {
+ name: "switch (on)",
+ color: "#33CC33",
+ behavior: behaviors.WALL,
+ conduct: 1,
+ ignoreConduct: ["switch_on_control","switch_off_control"],
+ category: "machines",
+};
+
+elements.switch_off_control = {
+ color: "#FF3333",
+ behavior: behaviors.WALL,
+ behaviorOn: [
+ "XX|CH:switch_on>switch_off|XX",
+ "CH:switch_on>switch_off|XX|CH:switch_on>switch_off",
+ "XX|CH:switch_on>switch_off|XX"
+ ],
+ conduct: 1,
+ ignoreConduct: ["switch_on","switch_off"],
+ category: "machines",
+};
+
+elements.switch_on_control = {
+ color: "#33FF33",
+ behavior: behaviors.WALL,
+ behaviorOn: [
+ "XX|CH:switch_off>switch_on|XX",
+ "CH:switch_off>switch_on|XX|CH:switch_off>switch_on",
+ "XX|CH:switch_off>switch_on|XX"
+ ],
+ conduct: 1,
+ ignoreConduct: ["switch_on","switch_off"],
+ category: "machines",
+};
\ No newline at end of file
diff --git a/mods/the_ground_og.js b/mods/the_ground_og.js
index 44ca5f9d..ec585f10 100644
--- a/mods/the_ground_og.js
+++ b/mods/the_ground_og.js
@@ -2531,7 +2531,7 @@ Proper classification of limestone within these code comments
]
};
- elements.plasma.noConduct = ["stellar_plasma","liquid_stellar_plasma","liquid_degenerate_neutronium","gaseous_degenerate_neutronium","neutron_star"]; //I can't suppress the charge overlay and keep the tick color, only effective with noConduct.js but not strictly required
+ elements.plasma.ignoreConduct = ["stellar_plasma","liquid_stellar_plasma","liquid_degenerate_neutronium","gaseous_degenerate_neutronium","neutron_star"]; //I can't suppress the charge overlay and keep the tick color, only effective with noConduct.js but not strictly required
//Main preset