e-pushers and pushStrength parameter

This commit is contained in:
Laetitia (O-01-67) 2023-03-06 19:54:29 -05:00 committed by GitHub
parent d71f254dfb
commit a90e0e5618
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 245 additions and 37 deletions

View File

@ -1,79 +1,287 @@
elements.up_pusher = { elements.up_pusher = {
color: "#9fafdf",
properties: { properties: {
range: 10, range: 10,
pushStrength: 1,
}, },
color: "#7f7f7f", tick: function(pixel) {
tick: function(pixel) { pixel.range ??= 10;
if(!pixel.range) { pixel.pushStrength ??= 1;
pixel.range = 10;
}; for(h = 0; h < pixel.pushStrength; h++) {
for(i=(pixel.range - 1); i>=0; i--) { //9 -> 10 for(i=(pixel.range - 1); i>=0; i--) {
if (!isEmpty(pixel.x,pixel.y-1-i,true)) { 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);
};
}; };
}; };
doDefaults(pixel);
}, },
category: "machines", category: "machines",
insulate: true, breakInto: ["metal_scrap", "steel", "iron", "glass", "uranium", "tin"],
tempHigh: 2400,
stateHigh: ["molten_aluminum", "molten_steel", "molten_iron", "molten_glass", "molten_uranium", "molten_tin"],
density: 10000,
hardness: 0.85,
conduct: 1,
state: "solid", state: "solid",
} }
elements.down_pusher = { elements.down_pusher = {
color: "#7f7f7f", color: "#9fafdf",
properties: { properties: {
range: 10, range: 10,
pushStrength: 1,
}, },
tick: function(pixel) { tick: function(pixel) {
if(!pixel.range) { pixel.range ??= 10;
pixel.range = 10; pixel.pushStrength ??= 1;
};
for(i=(pixel.range - 1); i>=0; i--) { for(h = 0; h < pixel.pushStrength; h++) {
if (!isEmpty(pixel.x,pixel.y+1+i,true)) { for(i=(pixel.range - 1); i>=0; i--) {
tryMove(pixelMap[pixel.x][pixel.y+1+i],pixel.x,pixel.y+2+i); if (!isEmpty(pixel.x,pixel.y+1+i,true)) {
tryMove(pixelMap[pixel.x][pixel.y+1+i],pixel.x,pixel.y+2+i);
};
};
}; };
};
doDefaults(pixel);
}, },
category: "machines", category: "machines",
insulate: true, breakInto: ["metal_scrap", "steel", "iron", "glass", "uranium", "tin"],
tempHigh: 2400,
stateHigh: ["molten_aluminum0", "molten_steel", "molten_iron", "molten_glass", "molten_uranium", "molten_tin"],
density: 10000,
hardness: 0.85,
conduct: 1,
state: "solid", state: "solid",
} }
elements.left_pusher = { elements.left_pusher = {
color: "#7f7f7f", color: "#9fafdf",
properties: { properties: {
range: 10, range: 10,
pushStrength: 1,
}, },
tick: function(pixel) { tick: function(pixel) {
if(!pixel.range) { pixel.range ??= 10;
pixel.range = 10; pixel.pushStrength ??= 1;
};
for(i=(pixel.range - 1); i>=0; i--) { for(h = 0; h < pixel.pushStrength; h++) {
if (!isEmpty(pixel.x-1-i,pixel.y,true)) { for(i=(pixel.range - 1); i>=0; i--) {
tryMove(pixelMap[pixel.x-1-i][pixel.y],pixel.x-2-i,pixel.y); if (!isEmpty(pixel.x-1-i,pixel.y,true)) {
tryMove(pixelMap[pixel.x-1-i][pixel.y],pixel.x-2-i,pixel.y);
};
}; };
}; };
doDefaults(pixel);
}, },
category: "machines", category: "machines",
insulate: true, breakInto: ["metal_scrap", "steel", "iron", "glass", "uranium", "tin"],
tempHigh: 2400,
stateHigh: ["molten_aluminum", "molten_steel", "molten_iron", "molten_glass", "molten_uranium", "molten_tin"],
density: 10000,
hardness: 0.85,
conduct: 1,
state: "solid", state: "solid",
} }
elements.right_pusher = { elements.right_pusher = {
color: "#7f7f7f", color: "#9fafdf",
properties: { properties: {
range: 10, range: 10,
pushStrength: 1,
}, },
tick: function(pixel) { tick: function(pixel) {
if(!pixel.range) { pixel.range ??= 10;
pixel.range = 10; pixel.pushStrength ??= 1;
};
for(i=(pixel.range - 1); i>=0; i--) { for(h = 0; h < pixel.pushStrength; h++) {
if (!isEmpty(pixel.x+1+i,pixel.y,true)) { for(i=(pixel.range - 1); i>=0; i--) {
tryMove(pixelMap[pixel.x+1+i][pixel.y],pixel.x+2+i,pixel.y); if (!isEmpty(pixel.x+1+i,pixel.y,true)) {
tryMove(pixelMap[pixel.x+1+i][pixel.y],pixel.x+2+i,pixel.y);
};
}; };
}; };
doDefaults(pixel);
}, },
category: "machines", category: "machines",
insulate: true, breakInto: ["metal_scrap", "steel", "iron", "glass", "uranium", "tin"],
tempHigh: 2400,
stateHigh: ["molten_aluminum", "molten_steel", "molten_iron", "molten_glass", "molten_uranium", "molten_tin"],
density: 10000,
hardness: 0.85,
conduct: 1,
state: "solid",
}
elements.up_e_pusher = {
color: "#9f9f6f",
properties: {
range: 10,
pushTime: 0,
pushLength: 5,
pushStrength: 1,
},
tick: function(pixel) {
pixel.range ??= 10;
pixel.pushTime ??= 0;
pixel.pushLength ??= 5;
pixel.pushStrength ??= 1;
if(isNaN(pixel.pushTime) || pixel.pushTime < 0) { pixel.pushTime = 0 };
if(pixel.charge) {
pixel.pushTime = pixel.pushLength;
};
if(pixel.pushTime > 0) {
for(h = 0; h < pixel.pushStrength; h++) {
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);
};
};
};
pixel.pushTime--;
};
doDefaults(pixel);
},
category: "machines",
breakInto: ["metal_scrap", "steel", "iron", "glass", "uranium", "tin"],
tempHigh: 2400,
stateHigh: ["molten_aluminum", "molten_steel", "molten_iron", "molten_glass", "molten_uranium", "molten_tin"],
density: 10000,
hardness: 0.85,
conduct: 1,
state: "solid",
}
elements.down_e_pusher = {
color: "#9f9f6f",
properties: {
range: 10,
pushTime: 0,
pushLength: 5,
pushStrength: 1,
},
tick: function(pixel) {
pixel.range ??= 10;
pixel.pushTime ??= 0;
pixel.pushLength ??= 5;
pixel.pushStrength ??= 1;
if(isNaN(pixel.pushTime) || pixel.pushTime < 0) { pixel.pushTime = 0 };
if(pixel.charge) {
pixel.pushTime = pixel.pushLength;
};
if(pixel.pushTime > 0) {
for(h = 0; h < pixel.pushStrength; h++) {
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);
};
};
};
pixel.pushTime--;
};
doDefaults(pixel);
},
category: "machines",
breakInto: ["metal_scrap", "steel", "iron", "glass", "uranium", "tin"],
tempHigh: 2400,
stateHigh: ["molten_aluminum0", "molten_steel", "molten_iron", "molten_glass", "molten_uranium", "molten_tin"],
density: 10000,
hardness: 0.85,
conduct: 1,
state: "solid",
}
elements.left_e_pusher = {
color: "#9f9f6f",
properties: {
range: 10,
pushTime: 0,
pushLength: 5,
pushStrength: 1,
},
tick: function(pixel) {
pixel.range ??= 10;
pixel.pushTime ??= 0;
pixel.pushLength ??= 5;
pixel.pushStrength ??= 1;
if(isNaN(pixel.pushTime) || pixel.pushTime < 0) { pixel.pushTime = 0 };
if(pixel.charge) {
pixel.pushTime = pixel.pushLength;
};
if(pixel.pushTime > 0) {
for(h = 0; h < pixel.pushStrength; h++) {
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);
};
};
};
pixel.pushTime--;
};
doDefaults(pixel);
},
category: "machines",
breakInto: ["metal_scrap", "steel", "iron", "glass", "uranium", "tin"],
tempHigh: 2400,
stateHigh: ["molten_aluminum", "molten_steel", "molten_iron", "molten_glass", "molten_uranium", "molten_tin"],
density: 10000,
hardness: 0.85,
conduct: 1,
state: "solid",
}
elements.right_e_pusher = {
color: "#9f9f6f",
properties: {
range: 10,
pushTime: 0,
pushLength: 5,
pushStrength: 1,
},
tick: function(pixel) {
pixel.range ??= 10;
pixel.pushTime ??= 0;
pixel.pushLength ??= 5;
pixel.pushStrength ??= 1;
if(isNaN(pixel.pushTime) || pixel.pushTime < 0) { pixel.pushTime = 0 };
if(pixel.charge) {
pixel.pushTime = pixel.pushLength;
};
if(pixel.pushTime > 0) {
for(h = 0; h < pixel.pushStrength; h++) {
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);
};
};
};
pixel.pushTime--;
};
doDefaults(pixel);
},
category: "machines",
breakInto: ["metal_scrap", "steel", "iron", "glass", "uranium", "tin"],
tempHigh: 2400,
stateHigh: ["molten_aluminum", "molten_steel", "molten_iron", "molten_glass", "molten_uranium", "molten_tin"],
density: 10000,
hardness: 0.85,
conduct: 1,
state: "solid", state: "solid",
} }