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.jsFew curated randomly-generated elementsAlice funny_solid.jsFecesAlice funnynames.jsVarious ways to mess with the names of elementsnousernamefound - haseulite.jsLoona-related materials with various propertiesAlice lactose_intolerance_and_celiac.jsHumans explode on contact with milk, wheat, bread, or toastNubo318 lattice_filler.jsCombination of lattice and filler and a destructive variantSuss liquid_mixing.jsLiquids can mix colors dynamicallyNekonico @@ -417,8 +416,6 @@ Visual Effects acid_and_shapes.jsWeird visual effects enabled in settingsAlice asciiboxels.jsRenders pixels as ASCII charactersNekonico - background_changer.jsPress 'B' to change canvas background to a URLR74n - borders.jsBlack borders around pixels (Use bright background)R74n clouds.jsMoving clouds, sky.js recommendedRedBirdly customBackground.jsSet your background to an image linkJayd fractals.jsElement and tools to render fractals in gamenousernamefound @@ -487,6 +484,7 @@ Broken or Deprecated a_mod_by_alice.jsCombination of most of Alice's mods, and some other thingsAlice + haseulite.jsLoona-related materials with various propertiesAlice adjustablepixelsize.jsSet the pixelSize with a URL parameterAlice advanced_colonies.jsDavlers, creatures with complex coloniesDaviStudios background_changer.jsPress 'B' to change canvas background to a URLR74n 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