94 lines
3.0 KiB
JavaScript
94 lines
3.0 KiB
JavaScript
|
|
elements.reel = {
|
||
|
|
color: "#78784c",
|
||
|
|
behavior: behaviors.WALL,
|
||
|
|
behaviorOn: [
|
||
|
|
"XX|SH|XX",
|
||
|
|
"SH|CH:spinning_reel|SH",
|
||
|
|
"XX|SH|XX",
|
||
|
|
],
|
||
|
|
tick: function(pixel) {
|
||
|
|
if (pixel.age < 1000) {
|
||
|
|
if (pixel.age > 100 && pixel.color != "#78784c") {
|
||
|
|
pixel.color = "#78784c"
|
||
|
|
}
|
||
|
|
else if (pixel.age > 50 && pixel.color === "#ff0000") {
|
||
|
|
pixel.winSignal = true
|
||
|
|
pixel.color = "#ff0001"
|
||
|
|
}
|
||
|
|
if (!isEmpty(pixel.x+2, pixel.y, true) && pixel.age > 50) {
|
||
|
|
if (pixel.color === "#ffff00" && pixelMap[pixel.x+2][pixel.y].color === "#ffff00") {
|
||
|
|
pixel.jackpotSignal = true
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if (!isEmpty(pixel.x+4, pixel.y, true) && !isEmpty(pixel.x+2, pixel.y, true) && pixel.age > 50) {
|
||
|
|
if (pixelMap[pixel.x+4][pixel.y].color === pixel.color && pixelMap[pixel.x+2][pixel.y].color === pixel.color) {
|
||
|
|
pixel.jackpotSignal = true
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if (pixel.winSignal == true) {
|
||
|
|
if (!isEmpty(pixel.x+2, pixel.y, true)) {
|
||
|
|
pixelMap[pixel.x+2][pixel.y].winSignal = true
|
||
|
|
pixel.winSignal = false
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if (pixel.jackpotSignal == true) {
|
||
|
|
if (!isEmpty(pixel.x+2, pixel.y, true)) {
|
||
|
|
pixelMap[pixel.x+2][pixel.y].jackpotSignal = true
|
||
|
|
pixel.jackpotSignal = false
|
||
|
|
}
|
||
|
|
}
|
||
|
|
pixel.age++;
|
||
|
|
}
|
||
|
|
doDefaults(pixel)
|
||
|
|
},
|
||
|
|
colorOn: "#ffff59",
|
||
|
|
category: "machines",
|
||
|
|
conduct: 1,
|
||
|
|
ignore: ["shocker"],
|
||
|
|
ignoreConduct: ["electric"]
|
||
|
|
}
|
||
|
|
|
||
|
|
elements.spinning_reel = {
|
||
|
|
color: ["#ff0000","#ff8800","#ffff00","#88ff00","#00ff00","#00ff88","#00ffff","#0088ff","#0000ff","#8800ff","#ff00ff"],
|
||
|
|
behavior: [
|
||
|
|
"XX|XX|XX",
|
||
|
|
"XX|CC:#ff0000,#ffff00,#ff8800,#00ffff,#0088ff,#0000ff,#8800ff,#ff00ff|XX",
|
||
|
|
"XX|XX|XX",
|
||
|
|
],
|
||
|
|
tick: function(pixel) {
|
||
|
|
if (pixel.age > 100) {
|
||
|
|
changePixel(pixel,"reel")
|
||
|
|
pixel.color = pixel.oldcolor
|
||
|
|
pixel.age = 0
|
||
|
|
}
|
||
|
|
pixel.age++;
|
||
|
|
if (pixel.color != pixel.oldcolor) {
|
||
|
|
pixel.oldcolor = pixel.color
|
||
|
|
}
|
||
|
|
doDefaults(pixel)
|
||
|
|
},
|
||
|
|
properties: {
|
||
|
|
"age":0
|
||
|
|
},
|
||
|
|
category: "machines",
|
||
|
|
}
|
||
|
|
|
||
|
|
elements.reward_giver = {
|
||
|
|
name: "slot",
|
||
|
|
color: "#dddd00",
|
||
|
|
behavior: behaviors.WALL,
|
||
|
|
tick: function(pixel) {
|
||
|
|
if (pixel.winSignal === true) {
|
||
|
|
if (!isEmpty(pixel.x, pixel.y-1, true)) {
|
||
|
|
if (tryMove(pixelMap[pixel.x][pixel.y-1], pixel.x, pixel.y+1)) {
|
||
|
|
pixel.winSignal = false
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
category:"machines",
|
||
|
|
insulate:true,
|
||
|
|
darkText: true,
|
||
|
|
hardness: 1,
|
||
|
|
movable: false
|
||
|
|
}
|