diff --git a/mods/logicgates.js b/mods/logicgates.js index 1751c758..c8e01d18 100644 --- a/mods/logicgates.js +++ b/mods/logicgates.js @@ -39,7 +39,7 @@ elements.logic_wire = { var y = pixel.y+coord[1]; if (!isEmpty(x,y,true)) { if (pixelMap[x][y].element == "output" && pixelMap[x][y].charge == 1){ - pixel.lstate == 2; + pixel.lstate = 2; pixel.color = pixelColorPick(pixel, "#ffe49c"); } } @@ -388,7 +388,7 @@ elements.L2E_constant = { var transmitterVar = 0; elements.logic_transmitter = { onSelect: function() { - var answertransmitter = prompt("Please input the desired element of this filter. It will not work if you do multiple filter types while paused.",(transmitterVar||undefined)); + var answertransmitter = prompt("Please input the desired channel of this transmitter. Placing multiple ones with the same channel while paused may break.",(transmitterVar||undefined)); if (!answertransmitter) { return } transmitterVar = answertransmitter; }, @@ -433,7 +433,7 @@ elements.logic_transmitter = { } elements.logic_receiver = { onSelect: function() { - var answertransmitter = prompt("Please input the desired element of this filter. It will not work if you do multiple filter types while paused.",(transmitterVar||undefined)); + var answertransmitter = prompt("Please input the desired channel of this receiver. It will break if you do multiple different channels while paused.",(transmitterVar||undefined)); if (!answertransmitter) { return } transmitterVar = answertransmitter; }, diff --git a/mods/nousersthings.js b/mods/nousersthings.js index a52250b5..113d9cbe 100644 --- a/mods/nousersthings.js +++ b/mods/nousersthings.js @@ -3348,4 +3348,54 @@ eLists.metals = eLists.metals.concat(["galvanized_steel"]) if (!elements.steel.reactions){elements.steel.reactions = {}} elements.steel.reactions.molten_zinc = {elem1: "galvanized_steel", chance: 0.035} if (!elements.molten_zinc.reactions){elements.zinc.reactions = {}} -elements.molten_zinc.reactions.steel = {elem1: "null", chance: 0.2} \ No newline at end of file +elements.molten_zinc.reactions.steel = {elem1: "null", chance: 0.2} +elements.super_heat_conductor = { + color: "#b66b61", + behavior: behaviors.WALL, + category: "solids", + density: 10000, + tick: function(pixel){ + for (let j = 0; j <= 10; j++){ + 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]; + // Skip if both temperatures are the same + if (pixel.temp == newPixel.temp || elements[newPixel.element].insulate == true) { + continue; + } + // Set both pixel temperatures to their average + var avg = (pixel.temp + newPixel.temp)/2; + pixel.temp = avg; + newPixel.temp = avg; + pixelTempCheck(pixel); + pixelTempCheck(newPixel); + } + } + } + } +} +let ogdrawPixels = drawPixels +drawPixels = function(forceTick=false){ + if (!paused || forceTick){ + var heatpixels = currentPixels.filter(function(pixelToCheck) { + if (pixelToCheck.element == "global_heat_conductor"){ + return true; + } + }) + for (var i = 0; i < heatpixels.length; i++) { + var newPixel = heatpixels[i]; + var randomPixel = heatpixels[Math.floor(Math.random()*heatpixels.length)]; + var avg = (randomPixel.temp + newPixel.temp)/2; + randomPixel.temp = avg; + newPixel.temp = avg; + }} + ogdrawPixels(forceTick) +} +elements.global_heat_conductor = { + color: "#55251e", + behavior: behaviors.WALL, + category: "solids", + density: 10000, +} \ No newline at end of file