Merge pull request #950 from NecroticPhantom/main
This commit is contained in:
commit
045ab9c923
789
mods/drills.js
789
mods/drills.js
|
|
@ -15,590 +15,351 @@
|
|||
+ void drill missile L, R, U & D
|
||||
+ drills.js info (drills_info) element to 'mods' category
|
||||
~ fixed steel/diamond/void drill R & steel/diamond/void drill missile R crashing upon border collision
|
||||
~ made steel/diamond/void drill missile L, R, U & D explode upon border contact
|
||||
~ made steel/diamond/void drill missile L, R, U & D explode upon contact with canvas edge
|
||||
~ committed
|
||||
|
||||
Version: 1.0.1
|
||||
Version: 1.0.1 (No Hardness Fix)
|
||||
@NecroticPhantom
|
||||
~ fixed steel/diamond/void drill L, R, U & D + steel/diamond/void drill missile L, R, U & D not breaking pixels with no listed hardness
|
||||
|
||||
Version: 2.0.0 (Drills Revamped (AKA Reverse Drills))
|
||||
@NecroticPhantom
|
||||
+ maxSize: 1 to all drills without it
|
||||
~ rewrote drills and functions so no longer need L, R, U and D versions of all drills
|
||||
- L, R, U and D versions of all drills
|
||||
~ rewrote drills and functions so no longer need 1 function per drill material
|
||||
- drill material-specific functions
|
||||
- drill color variables
|
||||
~ changed breakInto and stateHigh for most drills
|
||||
~ changed density, tempHigh and conductivity of all drills
|
||||
~ renamed 'drills.js_info' element to 'drills.js'
|
||||
+ steel, diamond and void reverse drills
|
||||
*/
|
||||
|
||||
|
||||
drills_mod_desc_Colour = "#000000"
|
||||
steel_drill_Colour = "#71797e"
|
||||
steel_drill_missile_Colour = ["#71797e", "#ff0000"];
|
||||
diamond_drill_Colour = "#03fcec"
|
||||
diamond_drill_missile_Colour = ["#03fcec", "#ff0000"];
|
||||
void_drill_Colour = "#262626"
|
||||
void_drill_missile_Colour = ["#262626", "#ff0000"];
|
||||
|
||||
|
||||
|
||||
behaviors.SELFDELETE = [
|
||||
"XX|XX|XX",
|
||||
"XX|DL|XX",
|
||||
"XX|XX|XX",
|
||||
];
|
||||
|
||||
|
||||
|
||||
// info element
|
||||
elements.drills_info = {
|
||||
color: drills_mod_desc_Colour,
|
||||
name: "drills.js_info",
|
||||
color: "#000000",
|
||||
name: "drills.js",
|
||||
category: "Mods",
|
||||
behavior: behaviors.SELFDELETE,
|
||||
maxSize: 1,
|
||||
tool: function(pixel) {},
|
||||
onSelect: function(pixel) {
|
||||
let info1stMod = "The drills.js mod adds different kinds of drills to a new 'drills' category.\n\nMod made by: Necrotic_Phantom. \n With help from: voidapex11."
|
||||
alert(info1stMod)
|
||||
let mod_info = "The drills.js mod adds different kinds of drills to a new 'drills' category.\n\nMod made by: Necrotic_Phantom. \n With help from: voidapex11."
|
||||
alert(mod_info)
|
||||
return
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
|
||||
steel_drill_function = function(pixel, dif_x, dif_y) {
|
||||
dif_x = dif_x-pixel.x
|
||||
dif_y = dif_y-pixel.y
|
||||
if (!outOfBounds(pixel.x+dif_x,pixel.y+dif_y)) {
|
||||
pxl = pixelMap[pixel.x+dif_x][pixel.y+dif_y]
|
||||
if (!isEmpty(pixel.x+dif_x,pixel.y+dif_y)) {
|
||||
if (elements[pxl.element].hardness <= 0.8) {
|
||||
delete pixelMap[pixel.x+dif_x][pixel.y+dif_y];
|
||||
}
|
||||
else if (elements[pxl.element].hardness == undefined) {
|
||||
delete pixelMap[pixel.x+dif_x][pixel.y+dif_y];
|
||||
// functions
|
||||
drill_function = function(pixel, dif_x, dif_y) {
|
||||
if (!outOfBounds(pixel.x + dif_x, pixel.y + dif_y)) {
|
||||
if (!isEmpty(pixel.x + dif_x, pixel.y + dif_y)) {
|
||||
var pxl = pixelMap[pixel.x + dif_x][pixel.y + dif_y];
|
||||
if (elements[pxl.element].hardness <= pixel.hardness || elements[pxl.element].hardness == undefined) {
|
||||
deletePixel(pixel.x + dif_x, pixel.y + dif_y);
|
||||
};
|
||||
};
|
||||
tryMove(pixel,pixel.x+dif_x,pixel.y+dif_y);
|
||||
tryMove(pixel, pixel.x + dif_x, pixel.y + dif_y);
|
||||
};
|
||||
doDefaults(pixel);
|
||||
}
|
||||
};
|
||||
|
||||
elements.steel_drill_LEFT = {
|
||||
color: steel_drill_Colour,
|
||||
tick: function(pixel) {
|
||||
steel_drill_function(pixel,pixel.x-1,pixel.y);
|
||||
},
|
||||
category: "Drills",
|
||||
breakInto: ["metal_scrap", "steel", "iron", "tin"],
|
||||
tempHigh: 10000,
|
||||
stateHigh: ["molten_steel", "molten_iron", "molten_tin"],
|
||||
density: 10000,
|
||||
hardness: 0.8,
|
||||
conduct: 1,
|
||||
state: "solid",
|
||||
}
|
||||
|
||||
elements.steel_drill_RIGHT = {
|
||||
color: steel_drill_Colour,
|
||||
tick: function(pixel) {
|
||||
steel_drill_function(pixel,pixel.x+1,pixel.y);
|
||||
},
|
||||
category: "Drills",
|
||||
breakInto: ["metal_scrap", "steel", "iron", "tin"],
|
||||
tempHigh: 10000,
|
||||
stateHigh: ["molten_aluminum", "molten_steel", "molten_iron", "molten_tin"],
|
||||
density: 10000,
|
||||
hardness: 0.8,
|
||||
conduct: 1,
|
||||
state: "solid",
|
||||
}
|
||||
|
||||
elements.steel_drill_UP = {
|
||||
color: steel_drill_Colour,
|
||||
tick: function(pixel) {
|
||||
steel_drill_function(pixel,pixel.x,pixel.y-1);
|
||||
},
|
||||
category: "Drills",
|
||||
breakInto: ["metal_scrap", "steel", "iron", "tin"],
|
||||
tempHigh: 10000,
|
||||
stateHigh: ["molten_aluminum", "molten_steel", "molten_iron", "molten_tin"],
|
||||
density: 10000,
|
||||
hardness: 0.8,
|
||||
conduct: 1,
|
||||
state: "solid",
|
||||
}
|
||||
|
||||
elements.steel_drill_DOWN = {
|
||||
color: steel_drill_Colour,
|
||||
tick: function(pixel) {
|
||||
steel_drill_function(pixel,pixel.x,pixel.y+1);
|
||||
},
|
||||
category: "Drills",
|
||||
breakInto: ["metal_scrap", "steel", "iron", "tin"],
|
||||
tempHigh: 10000,
|
||||
stateHigh: ["molten_aluminum", "molten_steel", "molten_iron", "molten_tin"],
|
||||
density: 10000,
|
||||
hardness: 0.8,
|
||||
conduct: 1,
|
||||
state: "solid",
|
||||
}
|
||||
|
||||
|
||||
|
||||
steel_drill_missile_function = function(pixel, dif_x, dif_y) {
|
||||
dif_x = dif_x-pixel.x
|
||||
dif_y = dif_y-pixel.y
|
||||
if (pixel.die <= 0) {
|
||||
deletePixel(pixel.x, pixel.y)
|
||||
drill_missile_function = function(pixel, dif_x, dif_y) {
|
||||
if (pixel.die == 0) {
|
||||
deletePixel(pixel.x, pixel.y);
|
||||
explodeAt(pixel.x, pixel.y, 15);
|
||||
return true
|
||||
return;
|
||||
};
|
||||
if (!outOfBounds(pixel.x+dif_x,pixel.y+dif_y)) {
|
||||
pxl = pixelMap[pixel.x+dif_x][pixel.y+dif_y]
|
||||
if (!isEmpty(pixel.x+dif_x,pixel.y+dif_y)) {
|
||||
pixel.primed = true
|
||||
if (elements[pxl.element].hardness <= 0.8) {
|
||||
delete pixelMap[pixel.x+dif_x][pixel.y+dif_y];
|
||||
if (!outOfBounds(pixel.x + dif_x, pixel.y + dif_y)) {
|
||||
var pxl = pixelMap[pixel.x + dif_x][pixel.y + dif_y];
|
||||
if (!isEmpty(pixel.x + dif_x, pixel.y + dif_y)) {
|
||||
pixel.primed = true;
|
||||
if (elements[pxl.element].hardness <= pixel.hardness) {
|
||||
deletePixel(pixel.x + dif_x, pixel.y + dif_y);
|
||||
}
|
||||
else if (elements[pxl.element].hardness == undefined) {
|
||||
delete pixelMap[pixel.x+dif_x][pixel.y+dif_y];
|
||||
deletePixel(pixel.x + dif_x, pixel.y + dif_y);
|
||||
};
|
||||
}
|
||||
else if (pixel.primed) {
|
||||
pixel.die--
|
||||
return true
|
||||
pixel.die--;
|
||||
return;
|
||||
};
|
||||
tryMove(pixel,pixel.x+dif_x,pixel.y+dif_y);
|
||||
tryMove(pixel, pixel.x + dif_x, pixel.y + dif_y);
|
||||
}
|
||||
else if (outOfBounds(pixel.x+dif_x, pixel.y+dif_y)) {
|
||||
deletePixel(pixel.x, pixel.y)
|
||||
else if (outOfBounds(pixel.x + dif_x, pixel.y + dif_y)) {
|
||||
deletePixel(pixel.x, pixel.y);
|
||||
explodeAt(pixel.x, pixel.y, 15);
|
||||
};
|
||||
doDefaults(pixel);
|
||||
}
|
||||
};
|
||||
|
||||
elements.steel_drill_missile_LEFT = {
|
||||
color: steel_drill_missile_Colour,
|
||||
properties: {
|
||||
die: 5,
|
||||
primed: false,
|
||||
},
|
||||
tick: function(pixel) {
|
||||
steel_drill_missile_function(pixel,pixel.x-1,pixel.y);
|
||||
},
|
||||
category: "Drills",
|
||||
density: 10000,
|
||||
hardness: 0.8,
|
||||
conduct: 1,
|
||||
state: "solid",
|
||||
maxSize: 1,
|
||||
}
|
||||
|
||||
elements.steel_drill_missile_RIGHT = {
|
||||
color: steel_drill_missile_Colour,
|
||||
properties: {
|
||||
die: 5,
|
||||
primed: false,
|
||||
},
|
||||
tick: function(pixel) {
|
||||
steel_drill_missile_function(pixel,pixel.x+1,pixel.y);
|
||||
},
|
||||
category: "Drills",
|
||||
density: 10000,
|
||||
hardness: 0.8,
|
||||
conduct: 1,
|
||||
state: "solid",
|
||||
maxSize: 1,
|
||||
}
|
||||
|
||||
elements.steel_drill_missile_UP = {
|
||||
color: steel_drill_missile_Colour,
|
||||
properties: {
|
||||
die: 5,
|
||||
primed: false,
|
||||
},
|
||||
tick: function(pixel) {
|
||||
steel_drill_missile_function(pixel,pixel.x,pixel.y-1);
|
||||
},
|
||||
category: "Drills",
|
||||
density: 10000,
|
||||
hardness: 0.8,
|
||||
conduct: 1,
|
||||
state: "solid",
|
||||
maxSize: 1,
|
||||
}
|
||||
|
||||
elements.steel_drill_missile_DOWN = {
|
||||
color: steel_drill_missile_Colour,
|
||||
properties: {
|
||||
die: 5,
|
||||
primed: false,
|
||||
},
|
||||
tick: function(pixel) {
|
||||
steel_drill_missile_function(pixel,pixel.x,pixel.y+1);
|
||||
},
|
||||
category: "Drills",
|
||||
density: 10000,
|
||||
hardness: 0.8,
|
||||
conduct: 1,
|
||||
state: "solid",
|
||||
maxSize: 1,
|
||||
}
|
||||
|
||||
|
||||
|
||||
diamond_drill_function = function(pixel, dif_x, dif_y) {
|
||||
dif_x = dif_x-pixel.x
|
||||
dif_y = dif_y-pixel.y
|
||||
if (!outOfBounds(pixel.x+dif_x,pixel.y+dif_y)) {
|
||||
pxl = pixelMap[pixel.x+dif_x][pixel.y+dif_y]
|
||||
if (!isEmpty(pixel.x+dif_x,pixel.y+dif_y)) {
|
||||
if (elements[pxl.element].hardness <= 0.99) {
|
||||
delete pixelMap[pixel.x+dif_x][pixel.y+dif_y];
|
||||
}
|
||||
else if (elements[pxl.element].hardness == undefined) {
|
||||
delete pixelMap[pixel.x+dif_x][pixel.y+dif_y];
|
||||
reverse_drill_function = function(pixel, dif_x, dif_y, drill_element) {
|
||||
if (!outOfBounds(pixel.x + dif_x, pixel.y + dif_y)) {
|
||||
if (!isEmpty(pixel.x + dif_x, pixel.y + dif_y)) {
|
||||
var pxl = pixelMap[pixel.x + dif_x][pixel.y + dif_y];
|
||||
if (elements[pxl.element].hardness <= pixel.hardness || elements[pxl.element].hardness == undefined) {
|
||||
deletePixel(pixel.x + dif_x, pixel.y + dif_y);
|
||||
};
|
||||
};
|
||||
tryMove(pixel,pixel.x+dif_x,pixel.y+dif_y);
|
||||
tryMove(pixel, pixel.x + dif_x, pixel.y + dif_y);
|
||||
};
|
||||
doDefaults(pixel);
|
||||
}
|
||||
if (isEmpty(pixel.x - dif_x, pixel.y - dif_x)) {
|
||||
createPixel(drill_element, pixel.x - dif_x, pixel.y - dif_y);
|
||||
};
|
||||
};
|
||||
|
||||
elements.diamond_drill_LEFT = {
|
||||
color: diamond_drill_Colour,
|
||||
|
||||
|
||||
// elements
|
||||
elements.steel_drill = {
|
||||
color: "#71797e",
|
||||
properties: {
|
||||
x_direction: 0,
|
||||
y_direction: 0,
|
||||
},
|
||||
tick: function(pixel) {
|
||||
diamond_drill_function(pixel,pixel.x-1,pixel.y);
|
||||
if (pixel.x_direction == 0 && pixel.y_direction == 0) {
|
||||
pixel.x_direction = Number(prompt("Move left, right or neither (Type: -1, 1 or 0 respectively)? "));
|
||||
if (pixel.x_direction == 0) {
|
||||
pixel.y_direction = Number(prompt("Move up or down (Type: -1 or 1 respectively)? "));
|
||||
};
|
||||
};
|
||||
drill_function(pixel, pixel.x_direction, pixel.y_direction);
|
||||
},
|
||||
category: "Drills",
|
||||
breakInto: ["metal_scrap", "steel", "iron", "tin"],
|
||||
tempHigh: 1455.5,
|
||||
stateHigh: ["molten_aluminium", "molten_steel", "molten_iron", "molten_tin"],
|
||||
density: 7850,
|
||||
hardness: 0.8,
|
||||
conduct: 0.42,
|
||||
state: "solid",
|
||||
maxSize: 1,
|
||||
};
|
||||
|
||||
elements.diamond_drill = {
|
||||
color: "#03fcec",
|
||||
properties: {
|
||||
x_direction: 0,
|
||||
y_direction: 0,
|
||||
},
|
||||
tick: function(pixel) {
|
||||
if (pixel.x_direction == 0 && pixel.y_direction == 0) {
|
||||
pixel.x_direction = Number(prompt("Move left, right or neither (Type: -1, 1 or 0 respectively)? "));
|
||||
if (pixel.x_direction == 0) {
|
||||
pixel.y_direction = Number(prompt("Move up or down (Type: -1 or 1 respectively)? "));
|
||||
};
|
||||
};
|
||||
drill_function(pixel, pixel.x_direction, pixel.y_direction);
|
||||
},
|
||||
category: "Drills",
|
||||
breakInto: ["metal_scrap", "diamond", "iron", "tin"],
|
||||
tempHigh: 10000,
|
||||
stateHigh: ["molten_aluminum", "carbon_dioxide", "molten_iron", "molten_tin"],
|
||||
density: 10000,
|
||||
tempHigh: 1455.5,
|
||||
stateHigh: ["molten_aluminium", "diamond", "molten_iron", "molten_tin"],
|
||||
density: 3515,
|
||||
hardness: 0.99,
|
||||
conduct: 1,
|
||||
conduct: 0.01,
|
||||
state: "solid",
|
||||
}
|
||||
maxSize: 1,
|
||||
};
|
||||
|
||||
elements.diamond_drill_RIGHT = {
|
||||
color: diamond_drill_Colour,
|
||||
elements.void_drill = {
|
||||
color: "#262626",
|
||||
properties: {
|
||||
x_direction: 0,
|
||||
y_direction: 0,
|
||||
},
|
||||
tick: function(pixel) {
|
||||
diamond_drill_function(pixel,pixel.x+1,pixel.y);
|
||||
if (pixel.x_direction == 0 && pixel.y_direction == 0) {
|
||||
pixel.x_direction = Number(prompt("Move left, right or neither (Type: -1, 1 or 0 respectively)? "));
|
||||
if (pixel.x_direction == 0) {
|
||||
pixel.y_direction = Number(prompt("Move up or down (Type: -1 or 1 respectively)? "));
|
||||
};
|
||||
};
|
||||
drill_function(pixel, pixel.x_direction, pixel.y_direction);
|
||||
},
|
||||
category: "Drills",
|
||||
breakInto: ["metal_scrap", "void", "iron", "tin"],
|
||||
tempHigh: 1455.5,
|
||||
stateHigh: ["molten_aluminium", "void", "molten_iron", "molten_tin"],
|
||||
density: 7850,
|
||||
hardness: 1,
|
||||
conduct: 0.01,
|
||||
state: "solid",
|
||||
maxSize: 1,
|
||||
};
|
||||
|
||||
elements.steel_drill_missile = {
|
||||
color: ["#71797e", "#ff0000"],
|
||||
properties: {
|
||||
x_direction: 0,
|
||||
y_direction: 0,
|
||||
die: -1,
|
||||
primed: false,
|
||||
},
|
||||
tick: function(pixel) {
|
||||
if (pixel.x_direction == 0 && pixel.y_direction == 0) {
|
||||
pixel.x_direction = Number(prompt("Move left, right or neither (Type: -1, 1 or 0 respectively)? "));
|
||||
if (pixel.x_direction == 0) {
|
||||
pixel.y_direction = Number(prompt("Move up or down (Type: -1 or 1 respectively)? "));
|
||||
};
|
||||
};
|
||||
if (pixel.die == -1) {
|
||||
pixel.die = Number(prompt("How many ticks (after priming) until explosion (enter as number)? "));
|
||||
};
|
||||
drill_missile_function(pixel, pixel.x_direction, pixel.y_direction);
|
||||
},
|
||||
category: "Drills",
|
||||
breakInto: ["metal_scrap", "steel", "iron", "tin"],
|
||||
tempHigh: 1455.5,
|
||||
stateHigh: ["molten_aluminium", "molten_steel", "molten_iron", "molten_tin"],
|
||||
density: 7850,
|
||||
hardness: 0.8,
|
||||
conduct: 0.42,
|
||||
state: "solid",
|
||||
maxSize: 1,
|
||||
};
|
||||
|
||||
elements.diamond_drill_missile = {
|
||||
color: ["#03fcec", "#ff0000"],
|
||||
properties: {
|
||||
x_direction: 0,
|
||||
y_direction: 0,
|
||||
die: -1,
|
||||
primed: false,
|
||||
},
|
||||
tick: function(pixel) {
|
||||
if (pixel.x_direction == 0 && pixel.y_direction == 0) {
|
||||
pixel.x_direction = Number(prompt("Move left, right or neither (Type: -1, 1 or 0 respectively)? "));
|
||||
if (pixel.x_direction == 0) {
|
||||
pixel.y_direction = Number(prompt("Move up or down (Type: -1 or 1 respectively)? "));
|
||||
};
|
||||
};
|
||||
if (pixel.die == -1) {
|
||||
pixel.die = Number(prompt("How many ticks (after priming) until explosion (enter as number)? "));
|
||||
};
|
||||
drill_missile_function(pixel, pixel.x_direction, pixel.y_direction);
|
||||
},
|
||||
category: "Drills",
|
||||
breakInto: ["metal_scrap", "diamond", "iron", "tin"],
|
||||
tempHigh: 10000,
|
||||
stateHigh: ["molten_aluminum", "carbon_dioxide", "molten_iron", "molten_tin"],
|
||||
density: 10000,
|
||||
tempHigh: 1455.5,
|
||||
stateHigh: ["molten_aluminium", "diamond", "molten_iron", "molten_tin"],
|
||||
density: 3515,
|
||||
hardness: 0.99,
|
||||
conduct: 1,
|
||||
conduct: 0.01,
|
||||
state: "solid",
|
||||
}
|
||||
maxSize: 1,
|
||||
};
|
||||
|
||||
elements.diamond_drill_UP = {
|
||||
color: diamond_drill_Colour,
|
||||
elements.void_drill_missile = {
|
||||
color: ["#262626", "#ff0000"],
|
||||
properties: {
|
||||
x_direction: 0,
|
||||
y_direction: 0,
|
||||
die: -1,
|
||||
primed: false,
|
||||
},
|
||||
tick: function(pixel) {
|
||||
diamond_drill_function(pixel,pixel.x,pixel.y-1);
|
||||
if (pixel.x_direction == 0 && pixel.y_direction == 0) {
|
||||
pixel.x_direction = Number(prompt("Move left, right or neither (Type: -1, 1 or 0 respectively)? "));
|
||||
if (pixel.x_direction == 0) {
|
||||
pixel.y_direction = Number(prompt("Move up or down (Type: -1 or 1 respectively)? "));
|
||||
};
|
||||
};
|
||||
if (pixel.die == -1) {
|
||||
pixel.die = Number(prompt("How many ticks (after priming) until explosion (enter as number)? "));
|
||||
};
|
||||
drill_missile_function(pixel, pixel.x_direction, pixel.y_direction);
|
||||
},
|
||||
category: "Drills",
|
||||
breakInto: ["metal_scrap", "void", "iron", "tin"],
|
||||
tempHigh: 1455.5,
|
||||
stateHigh: ["molten_aluminium", "void", "molten_iron", "molten_tin"],
|
||||
density: 7850,
|
||||
hardness: 1,
|
||||
conduct: 0.01,
|
||||
state: "solid",
|
||||
maxSize: 1,
|
||||
};
|
||||
|
||||
elements.steel_reverse_drill = {
|
||||
color: "#e79717", //reverse drill colours are the hexidecimal for the origional drills but reversed
|
||||
properties: {
|
||||
x_direction: 0,
|
||||
y_direction: 0,
|
||||
},
|
||||
tick: function(pixel) {
|
||||
if (pixel.x_direction == 0 && pixel.y_direction == 0) {
|
||||
pixel.x_direction = Number(prompt("Move left, right or neither (Type: -1, 1 or 0 respectively)? "));
|
||||
if (pixel.x_direction == 0) {
|
||||
pixel.y_direction = Number(prompt("Move up or down (Type: -1 or 1 respectively)? "));
|
||||
};
|
||||
};
|
||||
reverse_drill_function(pixel, pixel.x_direction, pixel.y_direction, "steel");
|
||||
},
|
||||
category: "Drills",
|
||||
breakInto: ["metal_scrap", "steel", "iron", "tin"],
|
||||
tempHigh: 1455.5,
|
||||
stateHigh: ["molten_aluminium", "molten_steel", "molten_iron", "molten_tin"],
|
||||
density: 7850,
|
||||
hardness: 0.8,
|
||||
conduct: 0.42,
|
||||
state: "solid",
|
||||
maxSize: 1,
|
||||
};
|
||||
|
||||
elements.diamond_reverse_drill = {
|
||||
color: "#cecf30", //reverse drill colours are the hexidecimal for the origional drills but reversed
|
||||
properties: {
|
||||
x_direction: 0,
|
||||
y_direction: 0,
|
||||
},
|
||||
tick: function(pixel) {
|
||||
if (pixel.x_direction == 0 && pixel.y_direction == 0) {
|
||||
pixel.x_direction = Number(prompt("Move left, right or neither (Type: -1, 1 or 0 respectively)? "));
|
||||
if (pixel.x_direction == 0) {
|
||||
pixel.y_direction = Number(prompt("Move up or down (Type: -1 or 1 respectively)? "));
|
||||
};
|
||||
};
|
||||
reverse_drill_function(pixel, pixel.x_direction, pixel.y_direction, "diamond");
|
||||
},
|
||||
category: "Drills",
|
||||
breakInto: ["metal_scrap", "diamond", "iron", "tin"],
|
||||
tempHigh: 10000,
|
||||
stateHigh: ["molten_aluminum", "carbon_dioxide", "molten_iron", "molten_tin"],
|
||||
density: 10000,
|
||||
tempHigh: 1455.5,
|
||||
stateHigh: ["molten_aluminium", "diamond", "molten_iron", "molten_tin"],
|
||||
density: 3515,
|
||||
hardness: 0.99,
|
||||
conduct: 1,
|
||||
state: "solid",
|
||||
}
|
||||
|
||||
elements.diamond_drill_DOWN = {
|
||||
color: diamond_drill_Colour,
|
||||
tick: function(pixel) {
|
||||
diamond_drill_function(pixel,pixel.x,pixel.y+1);
|
||||
},
|
||||
category: "Drills",
|
||||
breakInto: ["metal_scrap", "diamond", "iron", "tin"],
|
||||
tempHigh: 10000,
|
||||
stateHigh: ["molten_aluminum", "carbon_dioxide", "molten_iron", "molten_tin"],
|
||||
density: 10000,
|
||||
hardness: 0.99,
|
||||
conduct: 1,
|
||||
state: "solid",
|
||||
}
|
||||
|
||||
|
||||
|
||||
diamond_drill_missile_function = function(pixel, dif_x, dif_y) {
|
||||
dif_x = dif_x-pixel.x
|
||||
dif_y = dif_y-pixel.y
|
||||
if (pixel.die <= 0) {
|
||||
deletePixel(pixel.x, pixel.y)
|
||||
explodeAt(pixel.x, pixel.y, 15);
|
||||
return true
|
||||
};
|
||||
if (!outOfBounds(pixel.x+dif_x,pixel.y+dif_y)) {
|
||||
pxl = pixelMap[pixel.x+dif_x][pixel.y+dif_y]
|
||||
if (!isEmpty(pixel.x+dif_x,pixel.y+dif_y)) {
|
||||
pixel.primed = true
|
||||
if (elements[pxl.element].hardness <= 0.99) {
|
||||
delete pixelMap[pixel.x+dif_x][pixel.y+dif_y];
|
||||
}
|
||||
else if (elements[pxl.element].hardness == undefined) {
|
||||
delete pixelMap[pixel.x+dif_x][pixel.y+dif_y];
|
||||
};
|
||||
}
|
||||
else if (pixel.primed) {
|
||||
pixel.die--
|
||||
return true
|
||||
};
|
||||
tryMove(pixel,pixel.x+dif_x,pixel.y+dif_y);
|
||||
}
|
||||
else if (outOfBounds(pixel.x+dif_x, pixel.y+dif_y)) {
|
||||
deletePixel(pixel.x, pixel.y)
|
||||
explodeAt(pixel.x, pixel.y, 15);
|
||||
};
|
||||
doDefaults(pixel);
|
||||
}
|
||||
|
||||
elements.diamond_drill_missile_LEFT = {
|
||||
color: diamond_drill_missile_Colour,
|
||||
properties: {
|
||||
die: 5,
|
||||
primed: false,
|
||||
},
|
||||
tick: function(pixel) {
|
||||
diamond_drill_missile_function(pixel,pixel.x-1,pixel.y);
|
||||
},
|
||||
category: "Drills",
|
||||
density: 10000,
|
||||
hardness: 0.99,
|
||||
conduct: 1,
|
||||
conduct: 0.01,
|
||||
state: "solid",
|
||||
maxSize: 1,
|
||||
}
|
||||
};
|
||||
|
||||
elements.diamond_drill_missile_RIGHT = {
|
||||
color: diamond_drill_missile_Colour,
|
||||
elements.void_reverse_drill = {
|
||||
color: "#626262", //reverse drill colours are the hexidecimal for the origional drills but reversed
|
||||
properties: {
|
||||
die: 5,
|
||||
primed: false,
|
||||
x_direction: 0,
|
||||
y_direction: 0,
|
||||
},
|
||||
tick: function(pixel) {
|
||||
diamond_drill_missile_function(pixel,pixel.x+1,pixel.y);
|
||||
},
|
||||
category: "Drills",
|
||||
density: 10000,
|
||||
hardness: 0.99,
|
||||
conduct: 1,
|
||||
state: "solid",
|
||||
maxSize: 1,
|
||||
}
|
||||
|
||||
elements.diamond_drill_missile_UP = {
|
||||
color: diamond_drill_missile_Colour,
|
||||
properties: {
|
||||
die: 5,
|
||||
primed: false,
|
||||
},
|
||||
tick: function(pixel) {
|
||||
diamond_drill_missile_function(pixel,pixel.x,pixel.y-1);
|
||||
},
|
||||
category: "Drills",
|
||||
density: 10000,
|
||||
hardness: 0.99,
|
||||
conduct: 1,
|
||||
state: "solid",
|
||||
maxSize: 1,
|
||||
}
|
||||
|
||||
elements.diamond_drill_missile_DOWN = {
|
||||
color: diamond_drill_missile_Colour,
|
||||
properties: {
|
||||
die: 5,
|
||||
primed: false,
|
||||
},
|
||||
tick: function(pixel) {
|
||||
diamond_drill_missile_function(pixel,pixel.x,pixel.y+1);
|
||||
},
|
||||
category: "Drills",
|
||||
density: 10000,
|
||||
hardness: 0.99,
|
||||
conduct: 1,
|
||||
state: "solid",
|
||||
maxSize: 1,
|
||||
}
|
||||
|
||||
|
||||
|
||||
void_drill_function = function(pixel, dif_x, dif_y) {
|
||||
dif_x = dif_x-pixel.x
|
||||
dif_y = dif_y-pixel.y
|
||||
if (!outOfBounds(pixel.x+dif_x,pixel.y+dif_y)) {
|
||||
pxl = pixelMap[pixel.x+dif_x][pixel.y+dif_y]
|
||||
if (!isEmpty(pixel.x+dif_x,pixel.y+dif_y)) {
|
||||
if (elements[pxl.element].hardness <= 1) {
|
||||
delete pixelMap[pixel.x+dif_x][pixel.y+dif_y];
|
||||
}
|
||||
else if (elements[pxl.element].hardness == undefined) {
|
||||
delete pixelMap[pixel.x+dif_x][pixel.y+dif_y];
|
||||
if (pixel.x_direction == 0 && pixel.y_direction == 0) {
|
||||
pixel.x_direction = Number(prompt("Move left, right or neither (Type: -1, 1 or 0 respectively)? "));
|
||||
if (pixel.x_direction == 0) {
|
||||
pixel.y_direction = Number(prompt("Move up or down (Type: -1 or 1 respectively)? "));
|
||||
};
|
||||
};
|
||||
tryMove(pixel,pixel.x+dif_x,pixel.y+dif_y);
|
||||
};
|
||||
doDefaults(pixel);
|
||||
}
|
||||
|
||||
elements.void_drill_LEFT = {
|
||||
color: void_drill_Colour,
|
||||
tick: function(pixel) {
|
||||
void_drill_function(pixel,pixel.x-1,pixel.y);
|
||||
reverse_drill_function(pixel, pixel.x_direction, pixel.y_direction, "void");
|
||||
},
|
||||
category: "Drills",
|
||||
breakInto: ["metal_scrap", "void", "iron", "tin"],
|
||||
tempHigh: 10000,
|
||||
stateHigh: ["molten_aluminum", "void", "molten_iron", "molten_tin"],
|
||||
density: 10000,
|
||||
tempHigh: 1455.5,
|
||||
stateHigh: ["molten_aluminium", "void", "molten_iron", "molten_tin"],
|
||||
density: 7850,
|
||||
hardness: 1,
|
||||
conduct: 1,
|
||||
state: "solid",
|
||||
}
|
||||
|
||||
elements.void_drill_RIGHT = {
|
||||
color: void_drill_Colour,
|
||||
tick: function(pixel) {
|
||||
void_drill_function(pixel,pixel.x+1,pixel.y);
|
||||
},
|
||||
category: "Drills",
|
||||
breakInto: ["metal_scrap", "void", "iron", "tin"],
|
||||
tempHigh: 10000,
|
||||
stateHigh: ["molten_aluminum", "void", "molten_iron", "molten_tin"],
|
||||
density: 10000,
|
||||
hardness: 1,
|
||||
conduct: 1,
|
||||
state: "solid",
|
||||
}
|
||||
|
||||
elements.void_drill_UP = {
|
||||
color: void_drill_Colour,
|
||||
tick: function(pixel) {
|
||||
void_drill_function(pixel,pixel.x,pixel.y-1);
|
||||
},
|
||||
category: "Drills",
|
||||
breakInto: ["metal_scrap", "void", "iron", "tin"],
|
||||
tempHigh: 10000,
|
||||
stateHigh: ["molten_aluminum", "void", "molten_iron", "molten_tin"],
|
||||
density: 10000,
|
||||
hardness: 1,
|
||||
conduct: 1,
|
||||
state: "solid",
|
||||
}
|
||||
|
||||
elements.void_drill_DOWN = {
|
||||
color: void_drill_Colour,
|
||||
tick: function(pixel) {
|
||||
void_drill_function(pixel,pixel.x,pixel.y+1);
|
||||
},
|
||||
category: "Drills",
|
||||
breakInto: ["metal_scrap", "void", "iron", "tin"],
|
||||
tempHigh: 10000,
|
||||
stateHigh: ["molten_aluminum", "void", "molten_iron", "molten_tin"],
|
||||
density: 10000,
|
||||
hardness: 1,
|
||||
conduct: 1,
|
||||
state: "solid",
|
||||
}
|
||||
|
||||
|
||||
|
||||
void_drill_missile_function = function(pixel, dif_x, dif_y) {
|
||||
dif_x = dif_x-pixel.x
|
||||
dif_y = dif_y-pixel.y
|
||||
if (pixel.die <= 0) {
|
||||
deletePixel(pixel.x, pixel.y)
|
||||
explodeAt(pixel.x, pixel.y, 15);
|
||||
return true
|
||||
};
|
||||
if (!outOfBounds(pixel.x+dif_x,pixel.y+dif_y)) {
|
||||
pxl = pixelMap[pixel.x+dif_x][pixel.y+dif_y]
|
||||
if (!isEmpty(pixel.x+dif_x,pixel.y+dif_y)) {
|
||||
pixel.primed = true
|
||||
if (elements[pxl.element].hardness <= 1) {
|
||||
delete pixelMap[pixel.x+dif_x][pixel.y+dif_y];
|
||||
}
|
||||
else if (elements[pxl.element].hardness == undefined) {
|
||||
delete pixelMap[pixel.x+dif_x][pixel.y+dif_y];
|
||||
};
|
||||
}
|
||||
else if (pixel.primed) {
|
||||
pixel.die--
|
||||
return true
|
||||
};
|
||||
tryMove(pixel,pixel.x+dif_x,pixel.y+dif_y);
|
||||
}
|
||||
else if (outOfBounds(pixel.x+dif_x, pixel.y+dif_y)) {
|
||||
deletePixel(pixel.x, pixel.y)
|
||||
explodeAt(pixel.x, pixel.y, 15);
|
||||
};
|
||||
doDefaults(pixel);
|
||||
}
|
||||
|
||||
elements.void_drill_missile_LEFT = {
|
||||
color: void_drill_missile_Colour,
|
||||
properties: {
|
||||
die: 5,
|
||||
primed: false,
|
||||
},
|
||||
tick: function(pixel) {
|
||||
void_drill_missile_function(pixel,pixel.x-1,pixel.y);
|
||||
},
|
||||
category: "Drills",
|
||||
density: 10000,
|
||||
hardness: 1,
|
||||
conduct: 1,
|
||||
conduct: 0.01,
|
||||
state: "solid",
|
||||
maxSize: 1,
|
||||
}
|
||||
|
||||
elements.void_drill_missile_RIGHT = {
|
||||
color: void_drill_missile_Colour,
|
||||
properties: {
|
||||
die: 5,
|
||||
primed: false,
|
||||
},
|
||||
tick: function(pixel) {
|
||||
void_drill_missile_function(pixel,pixel.x+1,pixel.y);
|
||||
},
|
||||
category: "Drills",
|
||||
density: 10000,
|
||||
hardness: 1,
|
||||
conduct: 1,
|
||||
state: "solid",
|
||||
maxSize: 1,
|
||||
}
|
||||
|
||||
elements.void_drill_missile_UP = {
|
||||
color: void_drill_missile_Colour,
|
||||
properties: {
|
||||
die: 5,
|
||||
primed: false,
|
||||
},
|
||||
tick: function(pixel) {
|
||||
void_drill_missile_function(pixel,pixel.x,pixel.y-1);
|
||||
},
|
||||
category: "Drills",
|
||||
density: 10000,
|
||||
hardness: 1,
|
||||
conduct: 1,
|
||||
state: "solid",
|
||||
maxSize: 1,
|
||||
}
|
||||
|
||||
elements.void_drill_missile_DOWN = {
|
||||
color: void_drill_missile_Colour,
|
||||
properties: {
|
||||
die: 5,
|
||||
primed: false,
|
||||
},
|
||||
tick: function(pixel) {
|
||||
void_drill_missile_function(pixel,pixel.x,pixel.y+1);
|
||||
},
|
||||
category: "Drills",
|
||||
density: 10000,
|
||||
hardness: 1,
|
||||
conduct: 1,
|
||||
state: "solid",
|
||||
maxSize: 1,
|
||||
}
|
||||
};
|
||||
Loading…
Reference in New Issue