sandboxels/mods/miscellaneous_elements.js

279 lines
8.7 KiB
JavaScript

elements.explorder = {
color: "#ff6600",
behavior: [
"XX|XX|XX",
"XX|CH:water>explosion|XX",
"M2|M1|M2"
],
category: "evilness",
state: "solid",
reactions: {
"water": { elem1: "supernova", elem2: null }
},
desc: 'Unstable element that creates a massive explosion when it comes into contact with water.'
};
elements.netrinth = {
color: "#0066ff",
behavior: behaviors.WALL,
category: 'evilness',
state: 'solid',
desc: 'Highly radioactive element that twists structure of atom particles, making them part of radiation, energy can be extracted from it.',
tick: function(pixel) {
if (Math.floor(Math.random() * 900) + 1 === 1) {
tryCreate('radiation', pixel.x, pixel.y+1)
}
},
reactions: {
"proton": { elem1: "radiation", elem2: null},
"neutron": { elem1: "radiation", elem2: null},
"electric": { elem1: "radiation", elem2: null}
},
tempHigh: 1000,
stateHigh: "liquid_netrinth"
};
elements.liquid_netrinth = {
color: "#0066ff",
behavior: [
"XX|XX|XX",
"M3%15|XX|M3%15",
"M2%15|M1|M2%15"
],
category: 'states',
state: 'liquid',
desc: 'ok nub did you expect liquid netrinth be billion times dangerous and more evil? this damages the atom structure of this element, making it less radioactive, harder to extract energy.',
tick: function(pixel) {
if (Math.floor(Math.random() * 1800) + 1 === 1) {
tryCreate('radiation', pixel.x, pixel.y+1)
}
},
reactions: {
"proton": { elem1: "radiation", elem2: null},
"neutron": { elem1: "radiation", elem2: null},
"electric": { elem1: "radiation", elem2: null}
},
tempLow:500,
stateLow: "netrinth",
tempHigh: 6000,
stateHigh: "gas_netrinth",
temp: 1001
};
elements.gas_netrinth = {
color: "#76adff",
behavior: behaviors.GAS,
category: 'states',
state: 'gas',
desc: 'the element atom structure is completely destroyed, making it non radioactive, even after solidifying, no longer extractable energy, and giving it brigher color, also now completely safe.',
tempLow: 6000,
stateLow: "safe_liquid_nentrinth",
temp: 6001
}
elements.safe_liquid_netrinth = {
color: "#76adff",
behavior: [
"XX|XX|XX",
"M3%15|XX|M3%15",
"M2%15|M1|M2%15"
],
category: 'states',
state: 'liquid',
desc: 'what do you expect this to be',
tempLow:500,
stateLow: "safe_netrinth",
tempHigh: 6000,
stateHigh: "gas_netrinth",
temp: 1001
};
elements.safe_netrinth = {
color: "#76adff",
behavior: behaviors.WALL,
category: 'evilness',
state: 'solid',
desc: ':/',
tempHigh: 1000,
stateHigh: "safe_liquid_netrinth"
};
elements.mercurium = {
color: ["#740000","#2e2e2e","#1b0047"],
behavior: behaviors.SUPPORT,
category: 'evilness',
state: 'solid',
desc: 'Very rare and sticky element, DO NOT MISTAKE WITH MERCURY, will explode on high temperatures',
tick: function(pixel) {
if (Math.floor(Math.random() * 1000) + 1 === 1) {
tryCreate('electric', pixel.x, pixel.y-1)
}
},
tempHigh: 4000,
stateHigh: "supernova"
};
elements.magnetite = {
color: ["#3a3a3a", "#535353", "#a200d3"],
behavior: behaviors.WALL,
category: 'evilness',
state: 'solid',
desc: 'A very dense and heavy magnetic element, it can attract and repel other metals.',
reactions: {
"iron": { elem1: "magnetite", elem2: null },
"steel": { elem1: "magnetite", elem2: null },
"gold": { elem1: "magnetite", elem2: null },
"copper": { elem1: "magnetite", elem2: null },
"aluminum": { elem1: "magnetite", elem2: null },
"lead": { elem1: "magnetite", elem2: null },
"tungsten": { elem1: "magnetite", elem2: null },
},
tick: function(pixel) {
if (Math.floor(Math.random() * 1000) + 1 === 1) {
tryCreate('electric', pixel.x, pixel.y-1)
}
},
tempHigh: 3000,
stateHigh: "molten_magnetite",
breakInto: "magnetite_powder"
}
elements.molten_magnetite = {
color: ["#e4e4e4", "#535353", "#e180ff"],
behavior: behaviors.LIQUID,
category: 'states',
state: 'liquid',
desc: 'magnetite but liquid, and also explodes in electricity during high temperatures',
tempLow: 3000,
stateLow: "magnetite",
temp: 3000,
tempHigh: 6000,
stateHigh: 'lightning',
}
elements.netrinth_receiver = {
color: "#00ffcc",
behavior: behaviors.WALL,
category: 'machines',
state: 'solid',
desc: 'A device that absorbs radiation from netrinth and converts it into electricity, hoewer destroys the netrinth in the process.',
conduct: 1,
tick: function(pixel) {
// Check adjacent pixels for netrinth or liquid_netrinth
let dirs = [
[0, -1], [1, 0], [0, 1], [-1, 0]
];
for (let d = 0; d < dirs.length; d++) {
let nx = pixel.x + dirs[d][0];
let ny = pixel.y + dirs[d][1];
if (isEmpty(nx, ny)) continue;
let np = pixelMap[nx][ny];
if (!np) continue;
if (np.element === "netrinth" || np.element === "liquid_netrinth") {
// Remove netrinth and create electric
changePixel(np, "electric");
break;
}
}
}
};
elements.magnetite_powder = {
color: ["#3a3a3a", "#535353", "#a200d3"],
behavior: [
"XX|XX|XX",
"XX|XX|XX",
"M2|M1|M2"
],
category: 'evilness',
state: 'solid',
desc: 'tottaly not the same magnetite as the previous one',
reactions: {
"iron": { elem1: "magnetite_powder", elem2: null },
"steel": { elem1: "magnetite_powder", elem2: null },
"gold": { elem1: "magnetite_powder", elem2: null },
"copper": { elem1: "magnetite_powder", elem2: null },
"aluminum": { elem1: "magnetite_powder", elem2: null },
"lead": { elem1: "magnetite_powder", elem2: null },
"tungsten": { elem1: "magnetite_powder", elem2: null },
},
tempHigh: 3000,
stateHigh: "molten_magnetite",
tick: function(pixel) {
if (Math.floor(Math.random() * 1000) + 1 === 1) {
tryCreate('electric', pixel.x, pixel.y-1)
}
},
}
elements.side_gravity_powder = {
color: ["#ff0000", "#ff8800", "#fffb00", "#00ff00", "#00ffff", "#0000ff", "#ff00ff"],
fireColor: ["#ff0000", "#ff8800", "#fffb00", "#00ff00", "#00ffff", "#0000ff", "#ff00ff"],
behavior: [
"M2|XX|XX",
"M1|XX|XX",
"M2|XX|XX"
],
desc: "Powder that falls sideways, isnt that cool?, NO PLEASE DONT THROW TOMATOES AT ME I DONT SUPPORT LGBTQ+",
category: "evilness",
state: "solid",
burn: 20,
}
elements.side_gravity_powder_but_not_directly_sideways = {
color: ["#ff0000", "#ff8800", "#fffb00", "#00ff00", "#00ffff", "#0000ff", "#ff00ff"],
fireColor: ["#ff0000", "#ff8800", "#fffb00", "#00ff00", "#00ffff", "#0000ff", "#ff00ff"],
behavior: [
"XX|XX|XX",
"M2|XX|XX",
"M1|M2|XX"
],
desc: "Powder that falls sideways, isnt that cool?, NO PLEASE DONT THROW TOMATOES AT ME I DONT SUPPORT LGBTQ+",
category: "evilness",
state: "solid",
burn: 20,
}
elements.explosive_gas = {
color: "#ff0000",
behavior: behaviors.GAS,
category: "evilness",
state: "gas",
reactions: {
"fire": { elem1: "explosion", elem2: null },
"plasma": { elem1: "supernova", elem2: null},
"laser": { elem1: "explosion", elem2: null },
"flash": { elem1: "explosion", elem2: null },
},
desc: "boom",
tempHigh: 21,
stateHigh: "explosion",
tempLow: 19,
stateLow: "explosion",
}
elements.neutronium = {
color: ["#00ffdd", "#00098b", "rgba(71, 71, 71, 1)"],
behavior: behaviors.POWDER,
category: 'evilness',
glow: true,
state: 'solid',
desc: 'A very dense and heavy element, made entirely out of neutrons, it is incredibly rare and valuable, but also very unstable.',
tempHigh: 1000,
stateHigh: "neutron",
density: 10000,
tick: function(pixel) {
if (Math.floor(Math.random() * 600) + 1 === 1) {
tryCreate('neutron', pixel.x, pixel.y-1)
};
if (Math.floor(Math.random() * 800) + 1 === 1) {
tryCreate('electric', pixel.x, pixel.y-1)
};
},
unbreakable: true,
reactions: {
"proton": { elem1: "neutron", elem2: null},
}
}