sandboxels/mods/flipflop.js

31 lines
780 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 02:13:59 -04:00
if (typeof Output !== "undefined" && typeof Input !== "undefined")
if (pixel.powerstate == "true" && Input.charge > 0.2) {
2023-09-26 07:45:07 -04:00
Input.charge = 0
2023-09-26 06:53:49 -04:00
pixel.powerstate = "false"
2023-09-26 06:05:49 -04:00
pixel.color = "#CF300D"
Output.charge = 0
2023-09-27 02:13:59 -04:00
} else if (pixel.powerstate == "false" && Input.charge > 0.2) {
2023-09-27 02:06:19 -04:00
Input.charge = 0
2023-09-26 06:53:49 -04:00
pixel.powerstate = "true"
2023-09-26 06:05:49 -04:00
pixel.color = "#94CF0D"
Output.charge = 5
}
}
2023-09-26 04:32:09 -04:00
}
};