sandboxels/mods/weapons.js

162 lines
3.8 KiB
JavaScript

elements.tsar_bomba = {
color: "#524C41",
behavior: [
"XX|EX:150>plasma|XX",
"XX|XX|XX",
"M2|M1 AND EX:150>plasma|M2",
],
category: "weapons",
state: "solid",
density: 1300,
excludeRandom: true,
cooldown: defaultCooldown
},
elements.little_boy = {
color: "#F5F5DC",
behavior: [
"XX|EX:20>plasma|XX",
"XX|XX|XX",
"M2|M1 AND EX:70>plasma,plasma,plasma,plasma,radiation,fallout|M2",
],
category: "weapons",
state: "solid",
density: 500,
excludeRandom: true,
cooldown: defaultCooldown
},
elements.fat_man = {
color: ["#ffff00","#333333"],
behavior: [
"XX|EX:28>plasma|XX",
"XX|XX|XX",
"M2|M1 AND EX:98>plasma,plasma,plasma,plasma,radiation,fallout|M2",
],
category: "weapons",
state: "solid",
density: 1000,
excludeRandom: true,
cooldown: defaultCooldown
},
elements.self_propelled_bomb = {
color: "#71797E",
tick: function(pixel) {
if ((pixel.temp > 1000 || pixel.charge) && !pixel.burning) {
pixel.burning = true;
pixel.burnStart = pixelTicks;
}
if (pixel.burning) {
if (!tryMove(pixel, pixel.x, pixel.y-1)) {
// tryMove again to the top left or top right
tryMove(pixel, pixel.x+(Math.random() < 0.5 ? -1 : 1), pixel.y-1);
}
if (pixelTicks-pixel.burnStart > 50 && Math.random() < 0.1) {
explodeAt(pixel.x, pixel.y, 10, "bomb");
}
}
else {
if (!tryMove(pixel, pixel.x, pixel.y+1)) {
// tryMove again to the bottom left or bottom right
tryMove(pixel, pixel.x+(Math.random() < 0.5 ? -1 : 1), pixel.y+1);
}
}
doDefaults(pixel);
},
burn: 90,
burnTime: 100,
density: 2000,
conduct: 1,
state: "solid",
category: "weapons"
},
elements.left_missile = {
color: "#4c4e42",
behavior: [
"M2|EX:10|XX",
"M1 AND EX:10|XX|EX:10",
"M2|EX:10|XX",
],
category:"weapons",
},
elements.right_missile = {
color: "#4c4e42",
behavior: [
"XX|EX:10|M2",
"EX:10|XX|M1 AND EX:10",
"XX|EX:10|M2",
],
category:"weapons",
},
elements.cluster_munition = {
color: "#444444",
behavior: [
"XX|EX:10>smoke,smoke,smoke,smoke,bomb,bomb|XX",
"XX|XX|XX",
"M2|M1 AND EX:10>smoke,smoke,smoke,smoke,bomb,cluster_munition|M2",
],
category: "weapons",
state: "solid",
density: 1300,
},
elements.RL_cluster_munition = {
color: "#444444",
behavior: [
"XX|XX|XX",
"CRcluster%20|XX|CR:cluster%20",
"M2|M1|M2",
],
category: "weapons",
state: "solid",
density: 1300,
},
elements.cluster = {
color: "#444444",
behavior: [
"XX|EX:10%10|XX",
"XX|XX|XX",
"M2|M1 AND EX:10%10|M2",
],
category: "weapons",
state: "solid",
density: 1300,
hidden: true,
},
elements.machine_gun_left = {
color: "#C0C0C0",
behavior: [
"XX|XX|XX",
"CR:left_bullet|XX|XX",
"XX|XX|XX",
],
category: "weapons",
state: "solid",
density: 1300,
},
elements.machine_gun_right = {
color: "#C0C0C0",
behavior: [
"XX|XX|XX",
"XX|XX|CR:right_bullet",
"XX|XX|XX",
],
category: "weapons",
state: "solid",
density: 1300,
},
elements.left_bullet = {
color: "#4c4e42",
behavior: [
"M2|XX|XX",
"M1 AND EX:5|XX|XX",
"M2|XX|XX",
],
category:"weapons",
},
elements.right_bullet = {
color: "#4c4e42",
behavior: [
"XX|XX|M2",
"XX|XX|M1 AND EX:5",
"XX|XX|M2",
],
category:"weapons",
};