From f11287ed9c3c9c570ff236579b5693bac33d950b Mon Sep 17 00:00:00 2001 From: O-01-67 <68935009+O-01-67@users.noreply.github.com> Date: Fri, 30 Sep 2022 11:40:18 -0400 Subject: [PATCH] Range can now be changed by means such as prop.js --- mods/pushers.js | 58 ++++++++++++++++++++++++++++++++++--------------- 1 file changed, 41 insertions(+), 17 deletions(-) diff --git a/mods/pushers.js b/mods/pushers.js index b6d9a89e..2a7c890b 100644 --- a/mods/pushers.js +++ b/mods/pushers.js @@ -1,11 +1,17 @@ elements.up_pusher = { + properties: { + range: 10, + }, color: "#7f7f7f", tick: function(pixel) { - for(i=9; i>=0; i--) { + if(!pixel.range) { + pixel.range = 10; + }; + for(i=(pixel.range - 1); i>=0; i--) { //9 -> 10 if (!isEmpty(pixel.x,pixel.y-1-i,true)) { - tryMove(pixelMap[pixel.x][pixel.y-1-i],pixel.x,pixel.y-2-i) - } - } + tryMove(pixelMap[pixel.x][pixel.y-1-i],pixel.x,pixel.y-2-i); + }; + }; }, category: "machines", insulate: true, @@ -14,12 +20,18 @@ elements.up_pusher = { elements.down_pusher = { color: "#7f7f7f", + properties: { + range: 10, + }, tick: function(pixel) { - for(i=9; i>=0; i--) { + if(!pixel.range) { + pixel.range = 10; + }; + for(i=(pixel.range - 1); i>=0; i--) { if (!isEmpty(pixel.x,pixel.y+1+i,true)) { - tryMove(pixelMap[pixel.x][pixel.y+1+i],pixel.x,pixel.y+2+i) - } - } + tryMove(pixelMap[pixel.x][pixel.y+1+i],pixel.x,pixel.y+2+i); + }; + }; }, category: "machines", insulate: true, @@ -28,12 +40,18 @@ elements.down_pusher = { elements.left_pusher = { color: "#7f7f7f", + properties: { + range: 10, + }, tick: function(pixel) { - for(i=9; i>=0; i--) { + if(!pixel.range) { + pixel.range = 10; + }; + for(i=(pixel.range - 1); i>=0; i--) { if (!isEmpty(pixel.x-1-i,pixel.y,true)) { - tryMove(pixelMap[pixel.x-1-i][pixel.y],pixel.x-2-i,pixel.y) - } - } + tryMove(pixelMap[pixel.x-1-i][pixel.y],pixel.x-2-i,pixel.y); + }; + }; }, category: "machines", insulate: true, @@ -42,14 +60,20 @@ elements.left_pusher = { elements.right_pusher = { color: "#7f7f7f", + properties: { + range: 10, + }, tick: function(pixel) { - for(i=9; i>=0; i--) { + if(!pixel.range) { + pixel.range = 10; + }; + for(i=(pixel.range - 1); i>=0; i--) { if (!isEmpty(pixel.x+1+i,pixel.y,true)) { - tryMove(pixelMap[pixel.x+1+i][pixel.y],pixel.x+2+i,pixel.y) - } - } + tryMove(pixelMap[pixel.x+1+i][pixel.y],pixel.x+2+i,pixel.y); + }; + }; }, category: "machines", insulate: true, state: "solid", -} \ No newline at end of file +}