Update ExtraMachines.js
Updating a filter. Added some random testing stuff which I have no clue what they do :)
This commit is contained in:
parent
1bdc57d93b
commit
99c69d54a8
|
|
@ -303,7 +303,7 @@ elements.e_SuperHeater = {
|
||||||
desc: "Works like the Super Heater but needs power to work",
|
desc: "Works like the Super Heater but needs power to work",
|
||||||
hardness: 0.5,
|
hardness: 0.5,
|
||||||
state: "solid",
|
state: "solid",
|
||||||
behavior: behaviors.WALL,
|
color: "#595656",
|
||||||
conduct: 1,
|
conduct: 1,
|
||||||
category: "machines",
|
category: "machines",
|
||||||
color: "#881111",
|
color: "#881111",
|
||||||
|
|
@ -775,7 +775,7 @@ elements.Destructive_Filter = {
|
||||||
color: "#3c6c85",
|
color: "#3c6c85",
|
||||||
desc: "A filter that destroys anything that isn't allowed to get through",
|
desc: "A filter that destroys anything that isn't allowed to get through",
|
||||||
onSelect: function() {
|
onSelect: function() {
|
||||||
var answer4 = prompt("Please input the desired element of this filter. It is case senstive.",(filterTypeVar||undefined));
|
var answer4 = prompt("Please input the desired element of this filter.The the desired element will not get destroyed but everything else will.",(filterTypeVar||undefined));
|
||||||
if (!answer4) { return }
|
if (!answer4) { return }
|
||||||
filterTypeVar2 = answer4;
|
filterTypeVar2 = answer4;
|
||||||
},
|
},
|
||||||
|
|
@ -860,7 +860,10 @@ elements.Destructive_Filter = {
|
||||||
pixel.con.del;
|
pixel.con.del;
|
||||||
moved = true;
|
moved = true;
|
||||||
break;
|
break;
|
||||||
}
|
} else if (!(newPixel.element == pixel.filterType) && !(newPixel.element == pixel.element)) {
|
||||||
|
deletePixel(newPixel.x,newPixel.y);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1201,6 +1204,7 @@ elements.E_Spout = {
|
||||||
conduct: 1,
|
conduct: 1,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
elements.DestroyableWire = {
|
elements.DestroyableWire = {
|
||||||
color: "#4d0a03",
|
color: "#4d0a03",
|
||||||
behavior: behaviors.WALL,
|
behavior: behaviors.WALL,
|
||||||
|
|
@ -1899,27 +1903,23 @@ elements.Missile_Up = {
|
||||||
"uranium_particles": { elem1:null, elem2:"supernova", chance:0.000001}
|
"uranium_particles": { elem1:null, elem2:"supernova", chance:0.000001}
|
||||||
},
|
},
|
||||||
category: "???????",
|
category: "???????",
|
||||||
}
|
|
||||||
|
|
||||||
|
}
|
||||||
|
ignoreGate = ["wall", "wire", "battery"];
|
||||||
elements.air_filter = {
|
elements.air_filter = {
|
||||||
|
|
||||||
|
|
||||||
color: "#414c4f",
|
color: "#414c4f",
|
||||||
|
|
||||||
tick: function(pixel) {
|
tick: function(pixel) {
|
||||||
|
pixel.stage = 2
|
||||||
if (!pixel.stage && pixelTicks-pixel.start > 60) {
|
if (!pixel.stage && pixelTicks-pixel.start > 60) {
|
||||||
for (var i = 0; i < squareCoords.length; i++) {
|
for (var i = 0; i < squareCoords.length; i++) {
|
||||||
var coord = squareCoords[i];
|
var coord = squareCoords[i];
|
||||||
var x = pixel.x+coord[0];
|
var x = pixel.x+coord[0];
|
||||||
var y = pixel.y+coord[1];
|
var y = pixel.y+coord[1];
|
||||||
// delete this bc it makes the pipe walls
|
|
||||||
// if (!isEmpty(x,y,true) && elements[pixelMap[x][y].element].movable) {
|
|
||||||
// deletePixel(x,y)
|
|
||||||
// }
|
|
||||||
// if (isEmpty(x,y)) {
|
|
||||||
// createPixel("pipe_wall",x,y);
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
pixel.stage = 2;
|
pixel.stage = 2;
|
||||||
}
|
}
|
||||||
|
|
@ -1929,12 +1929,7 @@ elements.Missile_Up = {
|
||||||
var x = pixel.x+coord[0];
|
var x = pixel.x+coord[0];
|
||||||
var y = pixel.y+coord[1];
|
var y = pixel.y+coord[1];
|
||||||
pixel.stage = 2;
|
pixel.stage = 2;
|
||||||
// this makes the thing blue and keep pixel.stage = 2 cuz without it it breaks the code
|
|
||||||
// if (isEmpty(x,y)) {
|
|
||||||
// pixel.stage = 2; //blue
|
|
||||||
// pixel.color = pixelColorPick(pixel,"#000036");
|
|
||||||
// break;
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (pixel.stage > 1 && pixelTicks % 3 === pixel.stage-2) { //initialized
|
else if (pixel.stage > 1 && pixelTicks % 3 === pixel.stage-2) { //initialized
|
||||||
|
|
@ -1947,9 +1942,7 @@ elements.Missile_Up = {
|
||||||
if (newPixel.stage === 1) {
|
if (newPixel.stage === 1) {
|
||||||
var newColor;
|
var newColor;
|
||||||
switch (pixel.stage) {
|
switch (pixel.stage) {
|
||||||
case 2: newPixel.stage = 3; newColor = "#003600"; break; //green
|
|
||||||
case 3: newPixel.stage = 4; newColor = "#360000"; break; //red
|
|
||||||
case 4: newPixel.stage = 2; newColor = "#000036"; break; //blue
|
|
||||||
}
|
}
|
||||||
newPixel.color = pixelColorPick(newPixel,newColor);
|
newPixel.color = pixelColorPick(newPixel,newColor);
|
||||||
}
|
}
|
||||||
|
|
@ -2023,3 +2016,323 @@ elements.Missile_Up = {
|
||||||
canContain: true,
|
canContain: true,
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function checkPixels(pixel, upOrDown) {
|
||||||
|
var change = null;
|
||||||
|
|
||||||
|
var x = pixel.x;
|
||||||
|
var y = pixel.y;
|
||||||
|
|
||||||
|
for (let i = 0; i < 7; i++) {
|
||||||
|
if (upOrDown == true) {
|
||||||
|
if (!isEmpty(x, y - i)) {
|
||||||
|
var sensed = pixelMap[x][pixel.y - i];
|
||||||
|
if (!(sensed.element == pixel.element)) {
|
||||||
|
// if (sensed.element.category === "solids") {
|
||||||
|
tryMove(sensed, sensed.x, sensed.y - 1);
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if (upOrDown == false) {
|
||||||
|
if (!isEmpty(x, y + i)) {
|
||||||
|
var sensed = pixelMap[x][pixel.y + i];
|
||||||
|
if (!(sensed.element == pixel.element)) {
|
||||||
|
// if (sensed.element.category === "solids") {
|
||||||
|
tryMove(sensed, sensed.x, sensed.y + 1);
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function checkPixels2(pixel, BringupOrDown) {
|
||||||
|
var change = null;
|
||||||
|
|
||||||
|
var x = pixel.x;
|
||||||
|
var y = pixel.y;
|
||||||
|
|
||||||
|
for (let i = 0; i < 7; i++) {
|
||||||
|
if (BringupOrDown == true) {
|
||||||
|
if (!isEmpty(x, y - i)) {
|
||||||
|
var sensed = pixelMap[x][pixel.y - i];
|
||||||
|
if (!(sensed.element == pixel.element)) {
|
||||||
|
// if (sensed.element.category === "solids") {
|
||||||
|
tryMove(sensed, sensed.x, sensed.y + 1);
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if (BringupOrDown == false) {
|
||||||
|
if (!isEmpty(x, y + i)) {
|
||||||
|
var sensed = pixelMap[x][pixel.y + i];
|
||||||
|
if (!(sensed.element == pixel.element)) {
|
||||||
|
// if (sensed.element.category === "solids") {
|
||||||
|
tryMove(sensed, sensed.x, sensed.y - 1);
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
elements.Repel_Up_Magnet = {
|
||||||
|
color: "#595656",
|
||||||
|
behavior: behaviors.WALL,
|
||||||
|
singleColor: true,
|
||||||
|
category: "machines",
|
||||||
|
state: "solid",
|
||||||
|
|
||||||
|
tick: function(pixel){
|
||||||
|
checkPixels(pixel,true)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
elements.Repel_Down_Magnet = {
|
||||||
|
color: "#595656",
|
||||||
|
singleColor: true,
|
||||||
|
category: "machines",
|
||||||
|
state: "solid",
|
||||||
|
behavior: behaviors.WALL,
|
||||||
|
|
||||||
|
tick: function(pixel){
|
||||||
|
checkPixels(pixel,false)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
elements.Magnet_Pull_Down = {
|
||||||
|
color: "#595656",
|
||||||
|
singleColor: true,
|
||||||
|
category: "machines",
|
||||||
|
state: "solid",
|
||||||
|
behavior: behaviors.WALL,
|
||||||
|
|
||||||
|
tick: function(pixel){
|
||||||
|
checkPixels2(pixel,true)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
elements.Magnet_Pull_Up = {
|
||||||
|
color: "#595656",
|
||||||
|
singleColor: true,
|
||||||
|
category: "machines",
|
||||||
|
state: "solid",
|
||||||
|
behavior: behaviors.WALL,
|
||||||
|
|
||||||
|
tick: function(pixel){
|
||||||
|
checkPixels2(pixel,false)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
elements.Nucler_Fusion = {
|
||||||
|
color: "#595656",
|
||||||
|
maxSize: 1,
|
||||||
|
behavior: behaviors.WALL,
|
||||||
|
tick: function(pixel) {
|
||||||
|
if(pixel.start) {
|
||||||
|
explodeAt(pixel.x, pixel.y, 13, ["fire","fire","plasma","plasma","plasma","plasma"]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
SelectedX = null;
|
||||||
|
SelectedY = null;
|
||||||
|
elements.WireLessPower = {
|
||||||
|
color: "#595656",
|
||||||
|
singleColor: true,
|
||||||
|
category: "machines",
|
||||||
|
state: "solid",
|
||||||
|
behavior: behaviors.WALL,
|
||||||
|
conduct : 1,
|
||||||
|
onSelect: function() {
|
||||||
|
var answer4 = prompt("X pos",(SelectedX||undefined));
|
||||||
|
if (!answer4) { return }
|
||||||
|
SelectedX = answer4;
|
||||||
|
var answer5 = prompt("Y pos",(SelectedY||undefined));
|
||||||
|
if (!answer5) { return }
|
||||||
|
SelectedY = answer5;
|
||||||
|
},
|
||||||
|
|
||||||
|
tick: function(pixel){
|
||||||
|
if (pixel.start === pixelTicks) {
|
||||||
|
pixel.SelX = SelectedX;
|
||||||
|
pixel.SelY = SelectedY;
|
||||||
|
pixel.placed = false;
|
||||||
|
|
||||||
|
}
|
||||||
|
if(isEmpty(pixel.SelX,pixel.SelY) && pixel.placed == false){
|
||||||
|
createPixel("wire",pixel.SelX,pixel.SelY);
|
||||||
|
pixel.placed = true;
|
||||||
|
}
|
||||||
|
if(pixel.chargeCD) {
|
||||||
|
if (!isEmpty(pixel.SelX,pixel.SelY)) {
|
||||||
|
var sensed = pixelMap[pixel.SelX][pixel.SelY];
|
||||||
|
if(!sensed) {return}
|
||||||
|
if (!sensed.chargeCD && !sensed.charge) sensed.charge = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// elements.E_Gate = {
|
||||||
|
|
||||||
|
// name: "E-Gate",
|
||||||
|
// color: "#414c4f",
|
||||||
|
// conduct : 1,
|
||||||
|
// tick: function(pixel) {
|
||||||
|
// pixel.stage = 2
|
||||||
|
// if (!pixel.stage && pixelTicks-pixel.start > 60) {
|
||||||
|
// for (var i = 0; i < squareCoords.length; i++) {
|
||||||
|
// var coord = squareCoords[i];
|
||||||
|
// var x = pixel.x+coord[0];
|
||||||
|
// var y = pixel.y+coord[1];
|
||||||
|
|
||||||
|
// }
|
||||||
|
// pixel.stage = 2;
|
||||||
|
// }
|
||||||
|
// else if (pixel.stage === 1 && pixelTicks-pixel.start > 70) { //uninitialized
|
||||||
|
// for (var i = 0; i < adjacentCoords.length; i++) {
|
||||||
|
// var coord = adjacentCoords[i];
|
||||||
|
// var x = pixel.x+coord[0];
|
||||||
|
// var y = pixel.y+coord[1];
|
||||||
|
// pixel.stage = 2;
|
||||||
|
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// else if (pixel.stage > 1 && pixelTicks % 3 === pixel.stage-2) { //initialized
|
||||||
|
// for (var i = 0; i < squareCoords.length; i++) {
|
||||||
|
// var coord = squareCoords[i];
|
||||||
|
// var x = pixel.x+coord[0];
|
||||||
|
// var y = pixel.y+coord[1];
|
||||||
|
// if (!isEmpty(x,y,true) && pixelMap[x][y].element === "pipe") {
|
||||||
|
// var newPixel = pixelMap[x][y];
|
||||||
|
// if (newPixel.stage === 1) {
|
||||||
|
// var newColor;
|
||||||
|
// switch (pixel.stage) {
|
||||||
|
|
||||||
|
// }
|
||||||
|
// newPixel.color = pixelColorPick(newPixel,newColor);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// var moved = false;
|
||||||
|
// shuffleArray(squareCoordsShuffle);
|
||||||
|
// for (var i = 0; i < squareCoordsShuffle.length; i++) {
|
||||||
|
// var coord = squareCoordsShuffle[i];
|
||||||
|
// var x = pixel.x+coord[0];
|
||||||
|
// var y = pixel.y+coord[1];
|
||||||
|
// if (!isEmpty(x,y,true)) {
|
||||||
|
// var newPixel = pixelMap[x][y];
|
||||||
|
// if (newPixel.element === "pipe") {
|
||||||
|
// var nextStage;
|
||||||
|
// switch (pixel.stage) {
|
||||||
|
|
||||||
|
// }
|
||||||
|
// if (pixel.con && !newPixel.con && newPixel.stage === nextStage) { //transfer to jacent pipe
|
||||||
|
// newPixel.con = pixel.con;
|
||||||
|
// newPixel.con.x = newPixel.x;
|
||||||
|
// newPixel.con.y = newPixel.y;
|
||||||
|
// pixel.con = null;
|
||||||
|
// moved = true;
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// else if (!pixel.con && pixel.chargeCD & !(newPixel.element == pixel.element)&& !(ignoreGate.includes(newPixel.element))) { //suck up pixel
|
||||||
|
// pixel.con = newPixel;
|
||||||
|
// deletePixel(newPixel.x,newPixel.y);
|
||||||
|
// pixel.con.x = pixel.x;
|
||||||
|
// pixel.con.y = pixel.y;
|
||||||
|
// pixel.con.del;
|
||||||
|
// moved = true;
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// if (pixel.con && !moved) { // move to same stage if none other
|
||||||
|
// for (var i = 0; i < squareCoordsShuffle.length; i++) {
|
||||||
|
// var coord = squareCoordsShuffle[i];
|
||||||
|
// var x = pixel.x+coord[0];
|
||||||
|
// var y = pixel.y+coord[1];
|
||||||
|
// if (isEmpty(x,y)) {
|
||||||
|
// delete pixel.con.del;
|
||||||
|
// pixel.con.x = x;
|
||||||
|
// pixel.con.y = y;
|
||||||
|
// pixelMap[x][y] = pixel.con;
|
||||||
|
// currentPixels.push(pixel.con);
|
||||||
|
// pixel.con = null;
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
// if (!isEmpty(x,y,true) && pixelMap[x][y].element === "pipe") {
|
||||||
|
// var newPixel = pixelMap[x][y];
|
||||||
|
// if (pixel.con && !newPixel.con && newPixel.stage === pixel.stage) {
|
||||||
|
// newPixel.con = pixel.con;
|
||||||
|
// newPixel.con.x = newPixel.x;
|
||||||
|
// newPixel.con.y = newPixel.y;
|
||||||
|
// pixel.con = null;
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// doDefaults(pixel);
|
||||||
|
// },
|
||||||
|
// category: "machines",
|
||||||
|
// movable: false,
|
||||||
|
// canContain: true,
|
||||||
|
|
||||||
|
// }
|
||||||
|
|
||||||
|
// RangeSelected = null;
|
||||||
|
// elements.fan = {
|
||||||
|
// color: "#595656",
|
||||||
|
// category: "machines",
|
||||||
|
// state: "solid",
|
||||||
|
// conduct : 1,
|
||||||
|
// behavior : behaviors.WALL,
|
||||||
|
// onSelect: function() {
|
||||||
|
// var answer4 = prompt("Enter a range for how far the fan blows.",(RangeSelected||undefined));
|
||||||
|
// if (!answer4) { return }
|
||||||
|
// RangeSelected = answer4;
|
||||||
|
// },
|
||||||
|
// tick: function(pixel){
|
||||||
|
// if (pixel.start === pixelTicks) {
|
||||||
|
// pixel.RangeBlow = RangeSelected
|
||||||
|
// }
|
||||||
|
// for (let i = 0; i < pixel.RangeBlow; i++) {
|
||||||
|
// if (!isEmpty(pixel.x+1, pixel.y)) {
|
||||||
|
// var sensed = pixelMap[pixel.x+1][pixel.y];
|
||||||
|
// if (!sensed) {return}
|
||||||
|
// if (!(sensed.element == pixel.element)) {
|
||||||
|
// if (elements[sensed.element].category == "gases" || elements[sensed.element].category == "powders") {
|
||||||
|
|
||||||
|
// tryMove(sensed, sensed.x+1, sensed.y );
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// },
|
||||||
|
|
||||||
|
// }
|
||||||
|
|
||||||
|
// elements.test_Element = {
|
||||||
|
// color: "#595656",
|
||||||
|
// singleColor: true,
|
||||||
|
// category: "test",
|
||||||
|
// state: "solid",
|
||||||
|
// behavior : [
|
||||||
|
// ["XX","DL","XX"],
|
||||||
|
// ["DL","XX","DL"],
|
||||||
|
// ["M2","M1 AND DL","M2"]
|
||||||
|
// ],
|
||||||
|
// tick: function(pixel) {},
|
||||||
|
// conduct : 1,
|
||||||
|
|
||||||
|
// }
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue