mod hotfixes
This commit is contained in:
parent
ef24ae9c23
commit
bbdc0e5cf6
|
|
@ -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);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue