spaceship
This commit is contained in:
parent
17157ff16d
commit
d11857c300
|
|
@ -0,0 +1,138 @@
|
|||
elements.power_core = {
|
||||
color: ["#10F7F3", "#5AEDEB", "#BDFCFB"],
|
||||
behavior: behaviors.WALL,
|
||||
temp: 250,
|
||||
category: "special",
|
||||
stateHigh: "n_explosion",
|
||||
tempHigh: 9500,
|
||||
state: "solid",
|
||||
desc: "The power core for your spaceship! Make sure it doesnt reach 9500 degrees!" ,
|
||||
tick: function(pixel) {
|
||||
const elementToCheck = "core_casing";
|
||||
let isValid = true;
|
||||
for (let i = pixel.x - 4; i < pixel.x + 4; i++) {
|
||||
for (let j = pixel.y - 4; j < pixel.y + 4; j++) {
|
||||
if (Math.abs(pixel.x - i) === 4 || Math.abs(pixel.y - j) === 4) {isValid &= pixelMap[i][j]?.element === elementToCheck;}
|
||||
else if (i !== pixel.x && j !== pixel.y) isValid &= isEmpty(i, j);
|
||||
}
|
||||
}
|
||||
// if (!pixel.alerted) {
|
||||
// if (isValid) { alert("Power Core succesfully stored") }
|
||||
// else { alert("Invalid core! Make sure its a 9x9 hollow box with the pixel in the middle!"); }
|
||||
// pixel.alerted = true;
|
||||
// } Not finished Yet
|
||||
if (pixel.temp === 5000) { pixel.color = pixelColorPick(pixel,"#F92810");}
|
||||
else if ( pixel.temp < 2000) { pixel.color = pixelColorPick(pixel,"#F9B610");}
|
||||
else { pixel.color = pixelColorPick(pixel,"#5AEDEB");}
|
||||
if (isValid) { if (pixelMap[pixel.x][pixel.y-4].element === "core_casing")
|
||||
{createPixel("core_energizer", pixel.x, pixel.y-5);}}
|
||||
else {{createPixel("core_energizer", pixel.x, pixel.y-4);}
|
||||
}
|
||||
},
|
||||
};
|
||||
elements.thrusters = {
|
||||
color: ["#8D8D8C", "#666666"],
|
||||
behavior: behaviors.WALL,
|
||||
category: "special",
|
||||
behaviorOn: [
|
||||
"XX|XX|XX",
|
||||
"XX|XX|CR:fire",
|
||||
"XX|XX|XX",
|
||||
],
|
||||
state: "solid",
|
||||
desc: "Use this to drive your ship! (Cosmetic)",
|
||||
conduct:1,
|
||||
};
|
||||
elements.core_wall = {
|
||||
color: ["#6EB5F1", "#708494"],
|
||||
behavior: behaviors.WALL,
|
||||
hardness: 1,
|
||||
density: 90000000,
|
||||
desc: "Harder than anything in the world!",
|
||||
category: "special",
|
||||
};
|
||||
elements.space_blaster = {
|
||||
color: ["#10F7F3", "#5AEDEB", "#BDFCFB"],
|
||||
tick: function(pixel) {
|
||||
for (var i = 0; i < 3; i++) {
|
||||
var skip = false;
|
||||
if (!isEmpty(pixel.x,pixel.y-1,true)) {
|
||||
var p = pixelMap[pixel.x][pixel.y-1];
|
||||
if (p.element === "space_blaster") { skip = true; }
|
||||
if (Math.random() < 0.9 && elements[p.element].hardness !== 1) {
|
||||
deletePixel(p.x,p.y);
|
||||
}
|
||||
}
|
||||
if (!tryMove(pixel,pixel.x-1,pixel.y,["flash","heat_ray","electric"]) && !skip) {
|
||||
explodeAt(pixel.x,pixel.y,30,"plasma");
|
||||
var coords = circleCoords(pixel.x,pixel.y,15);
|
||||
coords.forEach(function(coord) {
|
||||
var x = coord.x;
|
||||
var y = coord.y;
|
||||
if (!isEmpty(x,y,true)) {
|
||||
pixelMap[x][y].temp += 10000;
|
||||
pixelTempCheck(pixelMap[x][y]);
|
||||
}
|
||||
})
|
||||
deletePixel(pixel.x,pixel.y);
|
||||
return;
|
||||
}
|
||||
}
|
||||
},
|
||||
category: "energy",
|
||||
state: "solid",
|
||||
density: 100000000,
|
||||
temp: 10000,
|
||||
hardness: 1,
|
||||
maxSize: 3,
|
||||
cooldown: defaultCooldown,
|
||||
excludeRandom: true,
|
||||
desc: "A energized blaster pixel",
|
||||
};
|
||||
elements.space_gunner_LEFT = {
|
||||
color: ["#708494", "#5A6873"],
|
||||
behavior: behaviors.WALL,
|
||||
category: "special",
|
||||
behaviorOn: [
|
||||
"XX|XX|XX",
|
||||
"CR:space_blaster|XX|XX",
|
||||
"XX|XX|XX",
|
||||
],
|
||||
state: "solid",
|
||||
desc: "Use this to shoot your enemies! (Shoots Left)",
|
||||
conduct:1,
|
||||
};
|
||||
elements.space_gunner_RIGHT = {
|
||||
color: ["#708494", "#5A6873"],
|
||||
behavior: behaviors.WALL,
|
||||
category: "special",
|
||||
behaviorOn: [
|
||||
"XX|XX|XX",
|
||||
"XX|XX|CR:space_blaster",
|
||||
"XX|XX|XX",
|
||||
],
|
||||
state: "solid",
|
||||
desc: "Use this to shoot your enemies! (Shoots Right)",
|
||||
conduct:1,
|
||||
};
|
||||
elements.core_energizer = {
|
||||
color: "#FFFB00",
|
||||
hidden: true,
|
||||
behavior: behaviors.WALL,
|
||||
state: "solid",
|
||||
tick: function(pixel) {
|
||||
createPixel("radiation", pixel.x, pixel.y+1)
|
||||
},
|
||||
};
|
||||
elements.core_casing = {
|
||||
color: ["#4A7375","#C1D875","#8BFCF3"],
|
||||
reactions: {
|
||||
"radiation": { elem2:"electric", temp1:200 }
|
||||
},
|
||||
behavior: behaviors.WALL,
|
||||
category: "special",
|
||||
density: 2710,
|
||||
conduct: 0.73,
|
||||
hardness: 1,
|
||||
desc: "Casing for the inner core!",
|
||||
};
|
||||
Loading…
Reference in New Issue