Merge branch 'main' of https://github.com/slweeb/sandboxels
This commit is contained in:
commit
cbccd2b632
|
|
@ -1056,6 +1056,38 @@ temp: 2000,
|
|||
viscosity: 10000,
|
||||
density: 2.65
|
||||
};
|
||||
elements.liquid_cloner = {
|
||||
color: "#ffff00",
|
||||
category: "special",
|
||||
state: "liquid",
|
||||
behavior: [
|
||||
"CF|CF|CF",
|
||||
"CF AND M2|XX|CF AND M2",
|
||||
"CF AND M1|CF AND M1|CF AND M1",
|
||||
],
|
||||
density: 975,
|
||||
};
|
||||
elements.fire_cloner = {
|
||||
color: "#ff8000",
|
||||
category: "special",
|
||||
state: "gas",
|
||||
behavior: [
|
||||
"CF AND HT%1 AND M1|CF AND HT%1|CF AND HT%1 AND M1",
|
||||
"CF AND HT%1|HT%1|CF AND HT%1",
|
||||
"CF AND HT%1|CF AND HT%1|CF AND HT%1",
|
||||
],
|
||||
};
|
||||
elements.antigravity_powder_cloner = {
|
||||
color: "#808000",
|
||||
category: "special",
|
||||
state: "powder",
|
||||
behavior: [
|
||||
"CF AND M2|CF AND M1|CF AND M2",
|
||||
"CF|XX|CF",
|
||||
"CF|CF|CF",
|
||||
],
|
||||
density: 1050,
|
||||
};
|
||||
/* Unfinished:
|
||||
magnesium
|
||||
hematite mixture
|
||||
|
|
|
|||
|
|
@ -0,0 +1,54 @@
|
|||
var incrementt = 0;
|
||||
|
||||
var interval = setInterval( increment, 500/30);
|
||||
|
||||
function increment(){
|
||||
incrementt = incrementt % (Math.PI*8.8) + (Math.PI/30);
|
||||
}
|
||||
|
||||
function drawPixels(forceTick=false) {
|
||||
// newCurrentPixels = shuffled currentPixels
|
||||
var newCurrentPixels = currentPixels.slice();
|
||||
newCurrentPixels.sort(function() {return 0.5 - Math.random()});
|
||||
for (var i = 0; i < newCurrentPixels.length; i++) {
|
||||
pixel = newCurrentPixels[i];
|
||||
//if (pixelMap[pixel.x][pixel.y] == undefined || currentPixels.indexOf(pixel) == -1) {continue}
|
||||
if (pixel.del) {continue}
|
||||
if ((!paused) || forceTick) {
|
||||
if (elements[pixel.element].tick) { // Run tick function if it exists
|
||||
elements[pixel.element].tick(pixel);
|
||||
}
|
||||
if (elements[pixel.element].behavior) { // Parse behavior if it exists
|
||||
pixelTick(pixel);
|
||||
}
|
||||
};
|
||||
}
|
||||
// Draw the current pixels
|
||||
var canvas = document.getElementById("game");
|
||||
var ctx = canvas.getContext("2d");
|
||||
for (var i = 0; i < newCurrentPixels.length; i++) {
|
||||
pixel = newCurrentPixels[i];
|
||||
if (pixelMap[pixel.x][pixel.y] == undefined) {continue}
|
||||
if (view===null) {
|
||||
ctx.fillStyle = pixel.color;
|
||||
}
|
||||
else if (view === "thermal") {
|
||||
// set the color to pixel.temp, from hottest at 0 hue to coldest 225 hue, with the minimum being -273, max being 6000
|
||||
var temp = pixel.temp;
|
||||
if (temp < -273) {temp = -273}
|
||||
if (temp > 6000) {temp = 6000}
|
||||
var hue = 225 - (temp/6000)*225;
|
||||
if (hue < 0) {hue = 0}
|
||||
if (hue > 225) {hue = 225}
|
||||
ctx.fillStyle = "hsl("+hue+",100%,50%)";
|
||||
}
|
||||
ctx.fillRect(pixel.x*pixelSize+(19.8*Math.tan((pixel.y+incrementt )/4.4)), pixel.y*pixelSize+(21.6*Math.tan((pixel.x+incrementt)/4.4)), pixelSize, pixelSize);
|
||||
if (pixel.charge) { // Yellow glow on charge
|
||||
if (!elements[pixel.element].colorOn) {
|
||||
ctx.fillStyle = "rgba(255,255,0,0.5)";
|
||||
ctx.fillRect(pixel.x*pixelSize+(18*Math.sec((pixel.y+incrementt)/4.4)), pixel.y*pixelSize+(9*Math.sec((pixel.x+incrementt)/4.4)), pixelSize, pixelSize);
|
||||
}
|
||||
}
|
||||
}
|
||||
if ((!paused) || forceTick) {pixelTicks++};
|
||||
}
|
||||
|
|
@ -1,31 +1,54 @@
|
|||
runAfterLoad(function() {
|
||||
drawPixels = function(forceTick=false) {
|
||||
// newCurrentPixels = shuffled currentPixels
|
||||
var newCurrentPixels = currentPixels.slice();
|
||||
newCurrentPixels.sort(function() {return 0.5 - Math.random()});
|
||||
var incrementt = 0;
|
||||
|
||||
var interval = setInterval( increment, 500/30);
|
||||
|
||||
function increment(){
|
||||
incrementt = incrementt % (Math.PI*8.8) + (Math.PI/30);
|
||||
}
|
||||
|
||||
function drawPixels(forceTick=false) {
|
||||
// newCurrentPixels = shuffled currentPixels
|
||||
var newCurrentPixels = currentPixels.slice();
|
||||
newCurrentPixels.sort(function() {return 0.5 - Math.random()});
|
||||
for (var i = 0; i < newCurrentPixels.length; i++) {
|
||||
pixel = newCurrentPixels[i];
|
||||
//if (pixelMap[pixel.x][pixel.y] == undefined || currentPixels.indexOf(pixel) == -1) {continue}
|
||||
if (pixel.del) {continue}
|
||||
if ((!paused) || forceTick) {
|
||||
if (elements[pixel.element].tick) { // Run tick function if it exists
|
||||
elements[pixel.element].tick(pixel);
|
||||
}
|
||||
if (elements[pixel.element].behavior) { // Parse behavior if it exists
|
||||
pixelTick(pixel);
|
||||
}
|
||||
};
|
||||
}
|
||||
// Draw the current pixels
|
||||
var canvas = document.getElementById("game");
|
||||
var ctx = canvas.getContext("2d");
|
||||
for (var i = 0; i < newCurrentPixels.length; i++) {
|
||||
pixel = newCurrentPixels[i];
|
||||
//if (pixelMap[pixel.x][pixel.y] == undefined || currentPixels.indexOf(pixel) == -1) {continue}
|
||||
if (pixel.del) {continue}
|
||||
if ((!paused) || forceTick) {pixelTick(pixel);};
|
||||
}
|
||||
// Draw the current pixels
|
||||
if (!hiding) {
|
||||
var canvas = document.getElementById("game");
|
||||
var ctx = canvas.getContext("2d");
|
||||
for (var i = 0; i < newCurrentPixels.length; i++) {
|
||||
pixel = newCurrentPixels[i];
|
||||
if (pixelMap[pixel.x][pixel.y] == undefined) {continue}
|
||||
if (pixelMap[pixel.x][pixel.y] == undefined) {continue}
|
||||
if (view===null) {
|
||||
ctx.fillStyle = pixel.color;
|
||||
ctx.fillRect(pixel.x*pixelSize+(18*Math.sin((pixel.y)/4.4)), pixel.y*pixelSize+(18*Math.sin((pixel.x)/4.4)), pixelSize, pixelSize);
|
||||
if (pixel.charge) { // Yellow glow on charge
|
||||
if (!elements[pixel.element].colorOn) {
|
||||
ctx.fillStyle = "rgba(255,255,0,0.5)";
|
||||
ctx.fillRect(pixel.x*pixelSize+(18*Math.sin((pixel.y)/4.4)), pixel.y*pixelSize+(18*Math.sin((pixel.x)/4.4)), pixelSize, pixelSize);
|
||||
}
|
||||
}
|
||||
else if (view === "thermal") {
|
||||
// set the color to pixel.temp, from hottest at 0 hue to coldest 225 hue, with the minimum being -273, max being 6000
|
||||
var temp = pixel.temp;
|
||||
if (temp < -273) {temp = -273}
|
||||
if (temp > 6000) {temp = 6000}
|
||||
var hue = 225 - (temp/6000)*225;
|
||||
if (hue < 0) {hue = 0}
|
||||
if (hue > 225) {hue = 225}
|
||||
ctx.fillStyle = "hsl("+hue+",100%,50%)";
|
||||
}
|
||||
ctx.fillRect(pixel.x*pixelSize+(18*Math.sin((pixel.y+incrementt )/4.4)), pixel.y*pixelSize+(18*Math.sin((pixel.x+incrementt)/4.4)), pixelSize, pixelSize);
|
||||
if (pixel.charge) { // Yellow glow on charge
|
||||
if (!elements[pixel.element].colorOn) {
|
||||
ctx.fillStyle = "rgba(255,255,0,0.5)";
|
||||
ctx.fillRect(pixel.x*pixelSize+(18*Math.sin((pixel.y+incrementt)/4.4)), pixel.y*pixelSize+(18*Math.sin((pixel.x+incrementt)/4.4)), pixelSize, pixelSize);
|
||||
}
|
||||
}
|
||||
}
|
||||
if ((!paused) || forceTick) {pixelTicks++};
|
||||
}
|
||||
});
|
||||
if ((!paused) || forceTick) {pixelTicks++};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,22 @@
|
|||
elements.clone_liquid = {
|
||||
color: "#f0f000",
|
||||
behavior: [
|
||||
"XX|CF|XX",
|
||||
"CF AND M2|XX|CF AND M2",
|
||||
"M1|CF AND M1|M1",
|
||||
],
|
||||
ignore: ["cloner","ecloner","slow_cloner","floating_cloner","clone_powder","clone_liquid_spout"],
|
||||
category:"machines",
|
||||
insulate:true,
|
||||
state:"gas",
|
||||
density:2710,
|
||||
hardness: 1,
|
||||
},
|
||||
|
||||
elements.floating_cloner.state = "gas"
|
||||
|
||||
runAfterLoad(function() {
|
||||
if(enabledMods.includes("mods/spouts.js")) {
|
||||
elements.floating_cloner.ignore.push("floating_cloner_spout")
|
||||
}
|
||||
});
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
//base syntax by sightnado
|
||||
elements.warm = {
|
||||
color: "#7fff7f",
|
||||
tool: function(pixel) {
|
||||
pixel.temp = 20;
|
||||
pixelTempCheck(pixel)
|
||||
},
|
||||
category: "tools",
|
||||
};
|
||||
elements.ultraheat = {
|
||||
color: ["#ff0000", "#ffbf4f", "#ff0000", "#ffbf4f", "#ff0000", "#ffbf4f"],
|
||||
tool: function(pixel) {
|
||||
if(shiftDown) { pixel.temp += (350 * (1 + shiftDown)) } else { pixel.temp += 350 }
|
||||
pixelTempCheck(pixel)
|
||||
},
|
||||
category: "tools",
|
||||
};
|
||||
elements.ultracool = {
|
||||
color: ["#0000ff", "#4fbfff", "#0000ff", "#4fbfff", "#0000ff", "#4fbfff"],
|
||||
tool: function(pixel) {
|
||||
if(shiftDown) { pixel.temp -= (350 * (1 + shiftDown)) } else { pixel.temp -= 350 }
|
||||
pixelTempCheck(pixel)
|
||||
},
|
||||
category: "tools",
|
||||
};
|
||||
elements.na_ntemp = {
|
||||
color: ["#000000", "#ff00ff", "#000000", "#ff00ff"],
|
||||
tool: function(pixel) {
|
||||
pixel.temp = NaN;
|
||||
pixelTempCheck(pixel)
|
||||
},
|
||||
category: "tools",
|
||||
};
|
||||
elements.inftemp = {
|
||||
color: ["#ff0000", "#ffffff", "#ff0000", "#ffffff", "#ff0000", "#ffffff", "#ff0000", "#ffffff", "#ff0000", "#ffffff", "#ff0000", "#ffffff", "#ff0000", "#ffffff", "#ff0000", "#ffffff", "#ff0000", "#ffffff", "#ff0000", "#ffffff", "#ff0000", "#ffffff", "#ff0000", "#ffffff", "#ff0000", "#ffffff", "#ff0000", "#ffffff", "#ff0000", "#ffffff", "#ff0000", "#ffffff", "#ff0000", "#ffffff", "#ff0000", "#ffffff", "#ff0000", "#ffffff", "#ff0000", "#ffffff"],
|
||||
tool: function(pixel) {
|
||||
pixel.temp = Infinity;
|
||||
pixelTempCheck(pixel)
|
||||
},
|
||||
category: "tools",
|
||||
};
|
||||
|
|
@ -1,7 +1,16 @@
|
|||
// Extra Element Info, v1.0
|
||||
// Extra Element Info, v1.1
|
||||
// Author: MelecieDiancie
|
||||
|
||||
// To show extra info on the info screen, add the extraInfo variable onto an object. It's a string.
|
||||
/*
|
||||
=== CHANGELOG ===
|
||||
1.1 Version
|
||||
- Removed code for extra element info, due to its addition to vanilla. It still exists as a comment if you want to check it out.
|
||||
|
||||
1.0 Version
|
||||
+ Initial release
|
||||
*/
|
||||
|
||||
/*
|
||||
|
||||
showInfo = (function() {
|
||||
var cached_function = showInfo;
|
||||
|
|
@ -15,6 +24,8 @@ showInfo = (function() {
|
|||
};
|
||||
})();
|
||||
|
||||
*/
|
||||
|
||||
// Everything down below is adding info to vanilla elements
|
||||
|
||||
elements.random.extraInfo = "Produces random pixels.";
|
||||
|
|
@ -22,6 +33,11 @@ elements.pick.extraInfo = "Picks a selected pixel. Works with hidden elements as
|
|||
elements.mix.extraInfo = "Mixes pixels in the selection box.";
|
||||
elements.lookup.extraInfo = "Brings up the info screen of a selected pixel.";
|
||||
elements.shock.extraInfo = "Produces electricity on all pixels in the selection box that can conduct it.";
|
||||
elements.uncharge.extraInfo = "Removes electricity on all pixels in the selection box with electricity.";
|
||||
elements.smash.extraInfo = "Crushes all elements in the selection box as if they were destroyed by an explosion.";
|
||||
elements.cook.extraInfo = "Slowly heats up elements.";
|
||||
elements.heat.extraInfo = "Heats up elements.";
|
||||
elements.cool.extraInfo = "Cools down elements.";
|
||||
|
||||
elements.bamboo_plant.extraInfo = "Plants a bamboo plant of variable height.";
|
||||
elements.sapling.extraInfo = "Plants a tree of variable height and structure.";
|
||||
|
|
@ -52,7 +68,11 @@ elements.antimolten.extraInfo = "Moves in reverse.";
|
|||
elements.antifire.extraInfo = "Moves in reverse.";
|
||||
elements.antigas.extraInfo = "Moves in reverse.";
|
||||
elements.static.extraInfo = "Flickers in grayscale.";
|
||||
elements.rainbow.extraInfo = "Flickers the rainbow's colors.";
|
||||
elements.gray_goo.extraInfo = "Duplicates itself when touching other pixels.";
|
||||
elements.virus.extraInfo = "Duplicates itself when touching other pixels.";
|
||||
elements.snake.extraInfo = "Goes around in a snake-like pattern.";
|
||||
elements.shocker.extraInfo = "Produces sparks when powered.";
|
||||
elements.pressure_plate.extraInfo = "Produces electricity when something is above it.";
|
||||
elements.light_bulb.extraInfo = "Produces light when powered.";
|
||||
elements.tesla_coil.extraInfo = "Produces plasma when powered.";
|
||||
elements.border.extraInfo = "Produces a border effect.";
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@ elements.cum = {
|
|||
category:"cum",
|
||||
conduct:0,
|
||||
extraInfo: "A whitish, sticky liquid that contains sperm. <span style=\"font-size: 0;\">It isn't funny.</span>",
|
||||
stain: 0.11,
|
||||
},
|
||||
elements.dead_cum = {
|
||||
name: "dead cum",
|
||||
|
|
@ -62,6 +63,7 @@ elements.dead_cum = {
|
|||
conduct: 0.04,
|
||||
hidden:true,
|
||||
extraInfo: "Semen whose sperm have died.",
|
||||
stain: 0.11,
|
||||
},
|
||||
elements.cum_water = {
|
||||
name: "cum water",
|
||||
|
|
@ -96,6 +98,7 @@ elements.cum_water = {
|
|||
state: "liquid",
|
||||
hidden: true,
|
||||
extraInfo: "Dilute semen.",
|
||||
stain: 0.04,
|
||||
},
|
||||
elements.dead_cum_water = {
|
||||
name: "dead cum water",
|
||||
|
|
@ -119,6 +122,7 @@ elements.dead_cum_water = {
|
|||
conduct: 0.03,
|
||||
hidden:true,
|
||||
extraInfo: "Dilute semen whose sperm have died.",
|
||||
stain: 0.04,
|
||||
},
|
||||
elements.burnt_cum = {
|
||||
name: "burnt cum",
|
||||
|
|
@ -428,6 +432,7 @@ elements.precum = {
|
|||
category:"cum",
|
||||
state: "liquid",
|
||||
extraInfo: "A sticky fluid that neutralizes acid.",
|
||||
stain: 0.03,
|
||||
},
|
||||
elements.precum_ice = {
|
||||
name: "frozen pre-cum",
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@ elements.piss = {
|
|||
state: "liquid",
|
||||
conduct:elements.water.conduct+0.1,
|
||||
extraInfo: "A liquid excreted as waste by many animals.",
|
||||
stain: 0.07,
|
||||
},
|
||||
|
||||
elements.piss_water = {
|
||||
|
|
@ -50,6 +51,7 @@ elements.piss_water = {
|
|||
category: "piss",
|
||||
conduct: elements.water.conduct+0.05,
|
||||
hidden: true,
|
||||
stain: 0.05,
|
||||
},
|
||||
|
||||
elements.piss_ice = {
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ elements.vomit = {
|
|||
stateLow: "frozen_vomit",
|
||||
state: "liquid",
|
||||
density: 1049,
|
||||
stain: 0.32,
|
||||
},
|
||||
|
||||
elements.acid_gas.ignore.push("water")
|
||||
|
|
|
|||
|
|
@ -15,24 +15,9 @@ elements.shit = {
|
|||
category: "shit",
|
||||
state: "solid",
|
||||
density: 1060,
|
||||
stain: 0.34,
|
||||
},
|
||||
|
||||
elements.altnull = {
|
||||
color: settings.bg,
|
||||
behavior: behaviors.SELFDELETE,
|
||||
reactions: {
|
||||
"altnull": { "elem1": null, "elem2": null }
|
||||
},
|
||||
tick: function(pixel) {
|
||||
deletePixel(pixel.x,pixel.y)
|
||||
},
|
||||
burn: 10000,
|
||||
burnTime: 1,
|
||||
hidden: true,
|
||||
category: "special",
|
||||
},
|
||||
|
||||
|
||||
elements.dried_shit = {
|
||||
color: ["#b58738","#8c7245","#ad915f","#b5a174","#705e34","#bdad88"],
|
||||
behavior: [
|
||||
|
|
@ -48,9 +33,9 @@ elements.dried_shit = {
|
|||
density: 265,
|
||||
burn: 120,
|
||||
burnTime: 300,
|
||||
burnInto: ["ash","altnull","altnull"],
|
||||
burnInto: ["ash",null,null],
|
||||
tempHigh: 300, //bs
|
||||
stateHigh: ["ash","altnull","altnull"],
|
||||
stateHigh: ["ash",null,null],
|
||||
},
|
||||
|
||||
elements.diarrhea = {
|
||||
|
|
@ -71,6 +56,7 @@ elements.diarrhea = {
|
|||
state: "liquid",
|
||||
density: 1030, //bs
|
||||
viscosity: 3,
|
||||
stain: 0.51,
|
||||
},
|
||||
|
||||
elements.frozen_shit = {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,382 @@
|
|||
elements.anti_mudstone = {
|
||||
color: "#4a341e",
|
||||
behavior: [
|
||||
"XX|M1|XX",
|
||||
"SP|XX|SP",
|
||||
"XX|XX|XX",
|
||||
],
|
||||
tempHigh:1200,
|
||||
stateHigh: "molten_dirt",
|
||||
category: "center intersecting s p- line mudstones",
|
||||
state: "solid",
|
||||
density: 1250,
|
||||
breakInto: "dirt",
|
||||
},
|
||||
|
||||
elements.vertical_mudstone_1 = {
|
||||
name: "<|- mudstone",
|
||||
color: "#4a341e",
|
||||
behavior: [
|
||||
"XX|SP|XX",
|
||||
"M1|XX|XX",
|
||||
"XX|SP|XX",
|
||||
],
|
||||
tempHigh:1200,
|
||||
stateHigh: "molten_dirt",
|
||||
category: "center intersecting s p- line mudstones",
|
||||
state: "solid",
|
||||
density: 1250,
|
||||
breakInto: "dirt",
|
||||
},
|
||||
|
||||
elements.vertical_mudstone_2 = {
|
||||
name: "|>- mudstone",
|
||||
color: "#4a341e",
|
||||
behavior: [
|
||||
"XX|SP|XX",
|
||||
"XX|XX|M1",
|
||||
"XX|SP|XX",
|
||||
],
|
||||
tempHigh:1200,
|
||||
stateHigh: "molten_dirt",
|
||||
category: "center intersecting s p- line mudstones",
|
||||
state: "solid",
|
||||
density: 1250,
|
||||
breakInto: "dirt",
|
||||
},
|
||||
|
||||
elements.tl_br_mudstone_1 = {
|
||||
name: "L\\- mudstone",
|
||||
color: "#4a341e",
|
||||
behavior: [
|
||||
"SP|XX|XX",
|
||||
"XX|XX|XX",
|
||||
"M1|XX|SP",
|
||||
],
|
||||
tempHigh:1200,
|
||||
stateHigh: "molten_dirt",
|
||||
category: "center intersecting s p- line mudstones",
|
||||
state: "solid",
|
||||
density: 1250,
|
||||
breakInto: "dirt",
|
||||
},
|
||||
|
||||
elements.tl_br_mudstone_2 = {
|
||||
name: "\\'- mudstone",
|
||||
color: "#4a341e",
|
||||
behavior: [
|
||||
"SP|XX|M1",
|
||||
"XX|XX|XX",
|
||||
"XX|XX|SP",
|
||||
],
|
||||
tempHigh:1200,
|
||||
stateHigh: "molten_dirt",
|
||||
category: "center intersecting s p- line mudstones",
|
||||
state: "solid",
|
||||
density: 1250,
|
||||
breakInto: "dirt",
|
||||
},
|
||||
|
||||
elements.tr_bl_mudstone_1 = {
|
||||
name: "/J- mudstone",
|
||||
color: "#4a341e",
|
||||
behavior: [
|
||||
"XX|XX|SP",
|
||||
"XX|XX|XX",
|
||||
"SP|XX|M1",
|
||||
],
|
||||
tempHigh: 1200,
|
||||
stateHigh: "molten_dirt",
|
||||
category: "center intersecting s p- line mudstones",
|
||||
state: "solid",
|
||||
density: 1250,
|
||||
breakInto: "dirt",
|
||||
},
|
||||
|
||||
elements.tr_bl_mudstone_2 = {
|
||||
name: "r/- mudstone",
|
||||
color: "#4a341e",
|
||||
behavior: [
|
||||
"M1|XX|SP",
|
||||
"XX|XX|XX",
|
||||
"SP|XX|XX",
|
||||
],
|
||||
tempHigh: 1200,
|
||||
stateHigh: "molten_dirt",
|
||||
category: "center intersecting s p- line mudstones",
|
||||
state: "solid",
|
||||
density: 1250,
|
||||
breakInto: "dirt",
|
||||
},
|
||||
|
||||
elements.tr_tl_mudstone = {
|
||||
name: "V- mudstone",
|
||||
color: "#4a341e",
|
||||
behavior: [
|
||||
"SP|XX|SP",
|
||||
"XX|XX|XX",
|
||||
"XX|M1|XX",
|
||||
],
|
||||
tempHigh: 1200,
|
||||
stateHigh: "molten_dirt",
|
||||
category: "non- center intersecting s p- line mudstones",
|
||||
state: "solid",
|
||||
density: 1250,
|
||||
breakInto: "dirt",
|
||||
},
|
||||
|
||||
elements.br_bl_mudstone = {
|
||||
name: "^- mudstone",
|
||||
color: "#4a341e",
|
||||
behavior: [
|
||||
"XX|M1|XX",
|
||||
"XX|XX|XX",
|
||||
"SP|XX|SP",
|
||||
],
|
||||
tempHigh: 1200,
|
||||
stateHigh: "molten_dirt",
|
||||
category: "non- center intersecting s p- line mudstones",
|
||||
state: "solid",
|
||||
density: 1250,
|
||||
breakInto: "dirt",
|
||||
},
|
||||
|
||||
elements.tl_bl_mudstone = {
|
||||
name: ">- mudstone",
|
||||
color: "#4a341e",
|
||||
behavior: [
|
||||
"SP|XX|XX",
|
||||
"XX|XX|M1",
|
||||
"SP|XX|XX",
|
||||
],
|
||||
tempHigh: 1200,
|
||||
stateHigh: "molten_dirt",
|
||||
category: "non- center intersecting s p- line mudstones",
|
||||
state: "solid",
|
||||
density: 1250,
|
||||
breakInto: "dirt",
|
||||
},
|
||||
|
||||
elements.tr_br_mudstone = {
|
||||
name: "<- mudstone",
|
||||
color: "#4a341e",
|
||||
behavior: [
|
||||
"XX|XX|SP",
|
||||
"M1|XX|XX",
|
||||
"XX|XX|SP",
|
||||
],
|
||||
tempHigh: 1200,
|
||||
stateHigh: "molten_dirt",
|
||||
category: "non- center intersecting s p- line mudstones",
|
||||
state: "solid",
|
||||
density: 1250,
|
||||
breakInto: "dirt",
|
||||
},
|
||||
|
||||
elements.tm_mr_mudstone = {
|
||||
name: "-,- mudstone",
|
||||
color: "#4a341e",
|
||||
behavior: [
|
||||
"XX|SP|XX",
|
||||
"XX|XX|SP",
|
||||
"M1|XX|XX",
|
||||
],
|
||||
tempHigh: 1200,
|
||||
stateHigh: "molten_dirt",
|
||||
category: "non- center intersecting s p- line mudstones",
|
||||
state: "solid",
|
||||
density: 1250,
|
||||
breakInto: "dirt",
|
||||
},
|
||||
|
||||
elements.ml_tm_mudstone = {
|
||||
name: "r- mudstone",
|
||||
color: "#4a341e",
|
||||
behavior: [
|
||||
"XX|SP|XX",
|
||||
"SP|XX|XX",
|
||||
"XX|XX|M1",
|
||||
],
|
||||
tempHigh: 1200,
|
||||
stateHigh: "molten_dirt",
|
||||
category: "non- center intersecting s p- line mudstones",
|
||||
state: "solid",
|
||||
density: 1250,
|
||||
breakInto: "dirt",
|
||||
},
|
||||
|
||||
elements.ml_bm_mudstone = {
|
||||
name: "L- mudstone",
|
||||
color: "#4a341e",
|
||||
behavior: [
|
||||
"XX|XX|M1",
|
||||
"SP|XX|XX",
|
||||
"XX|SP|XX",
|
||||
],
|
||||
tempHigh: 1200,
|
||||
stateHigh: "molten_dirt",
|
||||
category: "non- center intersecting s p- line mudstones",
|
||||
state: "solid",
|
||||
density: 1250,
|
||||
breakInto: "dirt",
|
||||
},
|
||||
|
||||
elements.bm_mr_mudstone = {
|
||||
name: "J- mudstone",
|
||||
color: "#4a341e",
|
||||
behavior: [
|
||||
"M1|XX|XX",
|
||||
"XX|XX|SP",
|
||||
"XX|SP|XX",
|
||||
],
|
||||
tempHigh: 1200,
|
||||
stateHigh: "molten_dirt",
|
||||
category: "non- center intersecting s p- line mudstones",
|
||||
state: "solid",
|
||||
density: 1250,
|
||||
breakInto: "dirt",
|
||||
},
|
||||
|
||||
elements.tl_bl_tr_br_mudstone_1 = {
|
||||
name: "Xv- mudstone",
|
||||
color: "#4a341e",
|
||||
behavior: [
|
||||
"SP|XX|SP",
|
||||
"XX|XX|XX",
|
||||
"SP|M1|SP",
|
||||
],
|
||||
tempHigh: 1200,
|
||||
stateHigh: "molten_dirt",
|
||||
category: "cross s p- line mudstones",
|
||||
state: "solid",
|
||||
density: 1250,
|
||||
breakInto: "dirt",
|
||||
},
|
||||
|
||||
elements.tl_bl_tr_br_mudstone_2 = {
|
||||
name: "X^- mudstone",
|
||||
color: "#4a341e",
|
||||
behavior: [
|
||||
"SP|M1|SP",
|
||||
"XX|XX|XX",
|
||||
"SP|XX|SP",
|
||||
],
|
||||
tempHigh: 1200,
|
||||
stateHigh: "molten_dirt",
|
||||
category: "cross s p- line mudstones",
|
||||
state: "solid",
|
||||
density: 1250,
|
||||
breakInto: "dirt",
|
||||
},
|
||||
|
||||
elements.tl_bl_tr_br_mudstone_3 = {
|
||||
name: "X<- mudstone",
|
||||
color: "#4a341e",
|
||||
behavior: [
|
||||
"SP|XX|SP",
|
||||
"M1|XX|XX",
|
||||
"SP|XX|SP",
|
||||
],
|
||||
tempHigh: 1200,
|
||||
stateHigh: "molten_dirt",
|
||||
category: "cross s p- line mudstones",
|
||||
state: "solid",
|
||||
density: 1250,
|
||||
breakInto: "dirt",
|
||||
},
|
||||
|
||||
elements.tl_bl_tr_br_mudstone_4 = {
|
||||
name: "X>- mudstone",
|
||||
color: "#4a341e",
|
||||
behavior: [
|
||||
"SP|XX|SP",
|
||||
"XX|XX|M1",
|
||||
"SP|XX|SP",
|
||||
],
|
||||
tempHigh: 1200,
|
||||
stateHigh: "molten_dirt",
|
||||
category: "cross s p- line mudstones",
|
||||
state: "solid",
|
||||
density: 1250,
|
||||
breakInto: "dirt",
|
||||
},
|
||||
|
||||
elements.ml_tm_bm_mr_mudstone_1 = {
|
||||
name: "+ L- mudstone",
|
||||
color: "#4a341e",
|
||||
behavior: [
|
||||
"XX|SP|XX",
|
||||
"SS|XX|SP",
|
||||
"M1|SP|XX",
|
||||
],
|
||||
tempHigh: 1200,
|
||||
stateHigh: "molten_dirt",
|
||||
category: "cross s p- line mudstones",
|
||||
state: "solid",
|
||||
density: 1250,
|
||||
breakInto: "dirt",
|
||||
},
|
||||
|
||||
elements.ml_tm_bm_mr_mudstone_2 = {
|
||||
name: "+ -,- mudstone",
|
||||
color: "#4a341e",
|
||||
behavior: [
|
||||
"XX|SP|M1",
|
||||
"SS|XX|SP",
|
||||
"XX|SP|XX",
|
||||
],
|
||||
tempHigh: 1200,
|
||||
stateHigh: "molten_dirt",
|
||||
category: "cross s p- line mudstones",
|
||||
state: "solid",
|
||||
density: 1250,
|
||||
breakInto: "dirt",
|
||||
},
|
||||
|
||||
elements.ml_tm_bm_mr_mudstone_3 = {
|
||||
name: "+r- mudstone",
|
||||
color: "#4a341e",
|
||||
behavior: [
|
||||
"M1|SP|XX",
|
||||
"SS|XX|SP",
|
||||
"XX|SP|XX",
|
||||
],
|
||||
tempHigh: 1200,
|
||||
stateHigh: "molten_dirt",
|
||||
category: "cross s p- line mudstones",
|
||||
state: "solid",
|
||||
density: 1250,
|
||||
breakInto: "dirt",
|
||||
},
|
||||
|
||||
elements.ml_tm_bm_mr_mudstone_4 = {
|
||||
name: "+J- mudstone",
|
||||
color: "#4a341e",
|
||||
behavior: [
|
||||
"XX|SP|XX",
|
||||
"SS|XX|SP",
|
||||
"XX|SP|M1",
|
||||
],
|
||||
tempHigh: 1200,
|
||||
stateHigh: "molten_dirt",
|
||||
category: "cross s p- line mudstones",
|
||||
state: "solid",
|
||||
density: 1250,
|
||||
breakInto: "dirt",
|
||||
},
|
||||
|
||||
elements.tl_rm_mudstone_1 = {
|
||||
name: "`-v- mudstone",
|
||||
color: "#4a341e",
|
||||
behavior: [
|
||||
"SP|XX|XX",
|
||||
"XX|XX|SP",
|
||||
"XX|M1|XX",
|
||||
],
|
||||
tempHigh: 1200,
|
||||
stateHigh: "molten_dirt",
|
||||
category: "other s p- line mudstones",
|
||||
state: "solid",
|
||||
density: 1250,
|
||||
breakInto: "dirt",
|
||||
}
|
||||
|
|
@ -0,0 +1,128 @@
|
|||
elements.soup = {
|
||||
color: "#AC4A2E",
|
||||
behavior: behaviors.LIQUID,
|
||||
category: "food",
|
||||
viscosity: 74000,
|
||||
state: "liquid",
|
||||
density: 720
|
||||
};
|
||||
elements.wet_soup = {
|
||||
color: "#C15C3F",
|
||||
behavior: behaviors.LIQUID,
|
||||
category: "food",
|
||||
viscosity: 6400,
|
||||
state: "liquid",
|
||||
density: 320
|
||||
};
|
||||
elements.guacamole = {
|
||||
color: "#67A555",
|
||||
behavior: behaviors.LIQUID,
|
||||
category: "food",
|
||||
viscosity: 4640,
|
||||
state: "liquid",
|
||||
density: 993
|
||||
};
|
||||
elements.cream = {
|
||||
color: ["#E1D3A2","#E5DBB7"],
|
||||
behavior: behaviors.LIQUID,
|
||||
category: "food",
|
||||
stateHigh: "gas",
|
||||
viscosity: 4640,
|
||||
state: "liquid",
|
||||
density: 993
|
||||
};
|
||||
elements.poop = {
|
||||
color: "#8A4D24",
|
||||
behavior: [
|
||||
"XX|CR:plague%0.1 AND CR:fly%0.01 AND CR:methane%0.0316|XX",
|
||||
"XX|CH:dried_poop%0.02|XX",
|
||||
"M2%50|M1 AND SW:water%50|M2%50",
|
||||
],
|
||||
category: "life",
|
||||
viscosity: 1,
|
||||
reactions: {},
|
||||
state: "liquid",
|
||||
density: 43
|
||||
};
|
||||
elements.dried_poop = {
|
||||
color: "#442714",
|
||||
behavior: behaviors.POWDER,
|
||||
category: "powders",
|
||||
viscosity: 1,
|
||||
state: "solid",
|
||||
density: 43
|
||||
};
|
||||
elements.tar = {
|
||||
color: "#101217",
|
||||
behavior: behaviors.LIQUID,
|
||||
category: "liquids",
|
||||
viscosity: 45000,
|
||||
state: "liquid",
|
||||
burn: 10,
|
||||
reactions: {},
|
||||
burnTime: 200,
|
||||
fireColor: "#101217",
|
||||
density: 1
|
||||
};
|
||||
elements.cinder = {
|
||||
color: "#171210",
|
||||
behavior: behaviors.LIQUID,
|
||||
category: "liquids",
|
||||
viscosity: 70,
|
||||
state: "liquid",
|
||||
burn: 5,
|
||||
burnTime: 70,
|
||||
fireColor: "#FF4F00",
|
||||
density: 343
|
||||
};
|
||||
elements.paste = {
|
||||
color: "#C4AA98",
|
||||
behavior: behaviors.WALL,
|
||||
category: "solids",
|
||||
stateHigh: ["liquid_paste"],
|
||||
state: "solid",
|
||||
density: 230
|
||||
};
|
||||
elements.husk = {
|
||||
color: ["#C4AA98", "#9E836B", "#A5876D", "#AE7D64", "#C87B67"],
|
||||
behavior: behaviors.WALL,
|
||||
category: "solids",
|
||||
reactions: {},
|
||||
state: "solid"
|
||||
};
|
||||
elements.remnant = {
|
||||
color: "#3C382B",
|
||||
behavior: behaviors.POWDER,
|
||||
category: "land",
|
||||
state: "solid",
|
||||
density: 1730
|
||||
};
|
||||
elements.rot = {
|
||||
color: ["#101217", "#853A2A"],
|
||||
behavior: [
|
||||
"XX|CR:fly%0.054|XX",
|
||||
"XX|XX|XX",
|
||||
"XX|CR:rot%0.054|XX",
|
||||
],
|
||||
category: "liquids",
|
||||
viscosity: 1,
|
||||
state: "liquid",
|
||||
reactions: {},
|
||||
density: 2
|
||||
};
|
||||
elements.liquid_paste = {
|
||||
color: "#D8D4C1",
|
||||
behavior: behaviors.LIQUID,
|
||||
category: "liquids",
|
||||
viscosity: 150430,
|
||||
state: "liquid",
|
||||
density: 230
|
||||
};
|
||||
elements.water.reactions.soup = { "elem1":"wet_soup", "elem2":"salt_water" };
|
||||
elements.tar.reactions.magma = { "elem1":"smoke", "elem2":"cinder" };
|
||||
elements.poop.reactions.water = { "elem1":"dried_poop", "elem2":"fly" };
|
||||
elements.tar.reactions.husk = { "elem1":"rot", "elem2":"fly" };
|
||||
elements.husk.reactions.molasses = { "elem1":"smoke", "elem2":"remnant" };
|
||||
elements.rot.reactions.fire = { "elem1":"smoke", "elem2":"cinder" };
|
||||
elements.water.reactions.rot = { "elem1":"blood", "elem2":"slag" };
|
||||
|
||||
|
|
@ -0,0 +1,63 @@
|
|||
elements.move_up = {
|
||||
color: "#1C0000",
|
||||
tool: function(pixel) {
|
||||
tryMove(pixel,pixel.x,pixel.y-1);
|
||||
},
|
||||
category: "tools",
|
||||
},
|
||||
|
||||
elements.move_down = {
|
||||
color: "#000038",
|
||||
tool: function(pixel) {
|
||||
tryMove(pixel,pixel.x,pixel.y+1);
|
||||
},
|
||||
category: "tools",
|
||||
},
|
||||
|
||||
elements.move_left = {
|
||||
color: "#007000",
|
||||
tool: function(pixel) {
|
||||
tryMove(pixel,pixel.x-1,pixel.y);
|
||||
},
|
||||
category: "tools",
|
||||
},
|
||||
|
||||
elements.move_right = {
|
||||
color: "#000E00",
|
||||
tool: function(pixel) {
|
||||
tryMove(pixel,pixel.x+1,pixel.y);
|
||||
},
|
||||
category: "tools",
|
||||
},
|
||||
|
||||
elements.move_up_left = {
|
||||
color: "#E00000",
|
||||
tool: function(pixel) {
|
||||
tryMove(pixel,pixel.x-1,pixel.y-1);
|
||||
},
|
||||
category: "tools",
|
||||
},
|
||||
|
||||
elements.move_down_left = {
|
||||
color: "#0001C0",
|
||||
tool: function(pixel) {
|
||||
tryMove(pixel,pixel.x-1,pixel.y+1);
|
||||
},
|
||||
category: "tools",
|
||||
},
|
||||
|
||||
elements.move_up_right = {
|
||||
color: "#038000",
|
||||
tool: function(pixel) {
|
||||
tryMove(pixel,pixel.x+1,pixel.y-1);
|
||||
},
|
||||
category: "tools",
|
||||
},
|
||||
|
||||
elements.move_down_right = {
|
||||
color: "#000007",
|
||||
tool: function(pixel) {
|
||||
tryMove(pixel,pixel.x+1,pixel.y+1);
|
||||
},
|
||||
category: "tools",
|
||||
}
|
||||
|
|
@ -0,0 +1,90 @@
|
|||
elements.igniter = {
|
||||
color: elements.fire.color,
|
||||
tool: function(pixel) {
|
||||
pixel.burnStart = pixelTicks;
|
||||
pixel.burning = true;
|
||||
},
|
||||
category: "tools",
|
||||
excludeRandom: true,
|
||||
};
|
||||
|
||||
elements.extinguisher = {
|
||||
color: "#bad1e3",
|
||||
tool: function(pixel) {
|
||||
if(pixel.burnStart) { delete pixel.burnStart }
|
||||
pixel.burning = false;
|
||||
},
|
||||
category: "tools",
|
||||
excludeRandom: true,
|
||||
};
|
||||
|
||||
elements.cursed_shock = {
|
||||
color: ["#ffff00", "#00ff00", "#ffff00", "#00ff00", "#ffff00", "#00ff00", "#ffff00", "#00ff00"],
|
||||
tool: function(pixel) {
|
||||
var con = elements[pixel.element].conduct;
|
||||
if (con == undefined) {con = 0}
|
||||
if (Math.random() < con || con == 0) { // If random number is less than conductivity, or anyway
|
||||
if (!pixel.charge && !pixel.chargeCD) {
|
||||
pixel.charge = 1;
|
||||
if (elements[pixel.element].colorOn) {
|
||||
pixel.color = pixelColorPick(pixel);
|
||||
}
|
||||
}
|
||||
}
|
||||
if(Math.random() > con) {
|
||||
if (elements[pixel.element].insulate != true) { // Otherwise heat the pixel (Resistance simulation)
|
||||
pixel.temp += 0.25;
|
||||
pixelTempCheck(pixel);
|
||||
}
|
||||
}
|
||||
},
|
||||
category: "tools",
|
||||
excludeRandom: true,
|
||||
};
|
||||
|
||||
elements.extinguisher = {
|
||||
color: "#bad1e3",
|
||||
tool: function(pixel) {
|
||||
if(pixel.burnStart) { delete pixel.burnStart }
|
||||
pixel.burning = false;
|
||||
},
|
||||
category: "tools",
|
||||
excludeRandom: true,
|
||||
};
|
||||
|
||||
elements.anti_gravity = {
|
||||
color: [elements.dirt.color[1],elements.dirt.color[1],elements.oxygen.color,elements.oxygen.color],
|
||||
tool: function(pixel) {
|
||||
pixel.r = 2;
|
||||
},
|
||||
category: "tools",
|
||||
excludeRandom: true,
|
||||
};
|
||||
|
||||
elements.normal_gravity = {
|
||||
color: [elements.oxygen.color,elements.oxygen.color,elements.dirt.color[1],elements.dirt.color[1]],
|
||||
tool: function(pixel) {
|
||||
pixel.r = 0;
|
||||
},
|
||||
category: "tools",
|
||||
excludeRandom: true,
|
||||
};
|
||||
|
||||
elements.rg1 = {
|
||||
color: [elements.dirt.color[14],elements.dirt.color[14],elements.liquid_oxygen.color,elements.liquid_oxygen.color],
|
||||
tool: function(pixel) {
|
||||
pixel.r = 1;
|
||||
},
|
||||
category: "tools",
|
||||
excludeRandom: true,
|
||||
};
|
||||
|
||||
elements.rg3 = {
|
||||
color: [elements.liquid_oxygen.color,elements.liquid_oxygen.color,elements.dirt.color[14],elements.dirt.color[14]],
|
||||
tool: function(pixel) {
|
||||
pixel.r = 3;
|
||||
},
|
||||
category: "tools",
|
||||
excludeRandom: true,
|
||||
};
|
||||
|
||||
|
|
@ -19,7 +19,7 @@ elements.signalum = {
|
|||
category: "solids",
|
||||
density: 10500,
|
||||
conduct: 1,
|
||||
tempHigh: 550,
|
||||
tempHigh: 1550,
|
||||
stateHigh: "molten_signalum",
|
||||
state: "solid",
|
||||
},
|
||||
|
|
@ -213,3 +213,9 @@ elements.resonant_ender = {
|
|||
state: "liquid",
|
||||
viscosity: 3**4,
|
||||
}
|
||||
|
||||
runAfterLoad(function() {
|
||||
lifeArray = Object.keys(elements).filter(function(e) {
|
||||
return elements[e].category == "life";
|
||||
});
|
||||
});
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
runAfterLoad(function() {
|
||||
liquidArray = Object.keys(elements).filter(function(e) {
|
||||
return elements[e].state == "liquid" || elements[e].state == "gas";
|
||||
return (elements[e].state == "liquid" || elements[e].state == "gas") && elements[e] != "ketchup";
|
||||
});
|
||||
for(i = 0; i < liquidArray.length; i++) {
|
||||
elements[`${liquidArray[i]}_spout`] = {
|
||||
|
|
@ -14,4 +14,5 @@ runAfterLoad(function() {
|
|||
temp: elements[liquidArray[i]].temp,
|
||||
};
|
||||
};
|
||||
liquidArray.push("ketchup")
|
||||
});
|
||||
|
|
|
|||
|
|
@ -0,0 +1,7 @@
|
|||
elements.time = {
|
||||
color: "#006e05",
|
||||
behavior: behaviors.GAS,
|
||||
category: "gases",
|
||||
state: "gas",
|
||||
density: 10,
|
||||
};
|
||||
|
|
@ -75,4 +75,31 @@ elements.troll4 = {
|
|||
hardness: 1.0,
|
||||
state: "solid",
|
||||
excludeRandom: true,
|
||||
},
|
||||
|
||||
elements.offset_fourth_y = {
|
||||
color: ["#000000", "#ff00ff", "#000000", "#ff00ff", "#000000", "#ff00ff", "#000000", "#ff00ff"],
|
||||
tool: function(pixel) {
|
||||
tryMove(pixel,pixel.x,pixel.y+0.25);
|
||||
pixelTempCheck(pixel)
|
||||
},
|
||||
category: "tools",
|
||||
},
|
||||
|
||||
elements.offset_half_y = {
|
||||
color: ["#000000", "#ff00ff", "#000000", "#ff00ff", "#000000", "#ff00ff", "#000000", "#ff00ff"],
|
||||
tool: function(pixel) {
|
||||
tryMove(pixel,pixel.x,pixel.y+0.5);
|
||||
pixelTempCheck(pixel)
|
||||
},
|
||||
category: "tools",
|
||||
},
|
||||
|
||||
elements.offset_three_fourth_y = {
|
||||
color: ["#000000", "#ff00ff", "#000000", "#ff00ff", "#000000", "#ff00ff", "#000000", "#ff00ff"],
|
||||
tool: function(pixel) {
|
||||
tryMove(pixel,pixel.x,pixel.y+0.75);
|
||||
pixelTempCheck(pixel)
|
||||
},
|
||||
category: "tools",
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue