sandboxels/mods/flipflop.js

33 lines
746 B
JavaScript
Raw Normal View History

2023-09-26 04:32:09 -04:00
elements.flipflop = {
2023-09-26 07:34:55 -04:00
properties: {
powerstate: "false",
},
2023-09-26 04:32:09 -04:00
name: "Flip Flop",
2023-09-26 04:38:08 -04:00
color: "#CF300D",
2023-09-26 04:32:09 -04:00
state: "solid",
2023-09-26 04:38:08 -04:00
category: "machines",
2023-09-26 04:32:09 -04:00
tick: function(pixel) {
doHeat(pixel)
doBurning(pixel)
doElectricity(pixel)
2023-09-26 08:00:57 -04:00
2023-09-26 04:38:08 -04:00
let Output = pixelMap[pixel.x+1][pixel.y]
let Input = pixelMap[pixel.x-1][pixel.y]
2023-09-27 03:00:30 -04:00
if (typeof Output !== "undefined" && typeof Input !== "undefined") {
2023-09-27 03:03:19 -04:00
if (Input.charge > 0.7) {
2023-09-27 03:00:30 -04:00
if (pixel.powerstate == "true") {
Input.charge = 0
pixel.powerstate = "false"
pixel.color = "#CF300D"
Output.charge = 0
} else {
Input.charge = 0
pixel.powerstate = "true"
pixel.color = "#94CF0D"
Output.charge = 5
}
}
2023-09-26 06:05:49 -04:00
}
2023-09-26 04:32:09 -04:00
}
};