Merge branch 'main' of https://github.com/slweeb/sandboxels
This commit is contained in:
commit
cbccd2b632
|
|
@ -1056,6 +1056,38 @@ temp: 2000,
|
||||||
viscosity: 10000,
|
viscosity: 10000,
|
||||||
density: 2.65
|
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:
|
/* Unfinished:
|
||||||
magnesium
|
magnesium
|
||||||
hematite mixture
|
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,5 +1,12 @@
|
||||||
runAfterLoad(function() {
|
var incrementt = 0;
|
||||||
drawPixels = function(forceTick=false) {
|
|
||||||
|
var interval = setInterval( increment, 500/30);
|
||||||
|
|
||||||
|
function increment(){
|
||||||
|
incrementt = incrementt % (Math.PI*8.8) + (Math.PI/30);
|
||||||
|
}
|
||||||
|
|
||||||
|
function drawPixels(forceTick=false) {
|
||||||
// newCurrentPixels = shuffled currentPixels
|
// newCurrentPixels = shuffled currentPixels
|
||||||
var newCurrentPixels = currentPixels.slice();
|
var newCurrentPixels = currentPixels.slice();
|
||||||
newCurrentPixels.sort(function() {return 0.5 - Math.random()});
|
newCurrentPixels.sort(function() {return 0.5 - Math.random()});
|
||||||
|
|
@ -7,25 +14,41 @@ runAfterLoad(function() {
|
||||||
pixel = newCurrentPixels[i];
|
pixel = newCurrentPixels[i];
|
||||||
//if (pixelMap[pixel.x][pixel.y] == undefined || currentPixels.indexOf(pixel) == -1) {continue}
|
//if (pixelMap[pixel.x][pixel.y] == undefined || currentPixels.indexOf(pixel) == -1) {continue}
|
||||||
if (pixel.del) {continue}
|
if (pixel.del) {continue}
|
||||||
if ((!paused) || forceTick) {pixelTick(pixel);};
|
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
|
// Draw the current pixels
|
||||||
if (!hiding) {
|
|
||||||
var canvas = document.getElementById("game");
|
var canvas = document.getElementById("game");
|
||||||
var ctx = canvas.getContext("2d");
|
var ctx = canvas.getContext("2d");
|
||||||
for (var i = 0; i < newCurrentPixels.length; i++) {
|
for (var i = 0; i < newCurrentPixels.length; i++) {
|
||||||
pixel = newCurrentPixels[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.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);
|
}
|
||||||
|
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 (pixel.charge) { // Yellow glow on charge
|
||||||
if (!elements[pixel.element].colorOn) {
|
if (!elements[pixel.element].colorOn) {
|
||||||
ctx.fillStyle = "rgba(255,255,0,0.5)";
|
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);
|
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
|
// 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() {
|
showInfo = (function() {
|
||||||
var cached_function = showInfo;
|
var cached_function = showInfo;
|
||||||
|
|
@ -15,6 +24,8 @@ showInfo = (function() {
|
||||||
};
|
};
|
||||||
})();
|
})();
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
// Everything down below is adding info to vanilla elements
|
// Everything down below is adding info to vanilla elements
|
||||||
|
|
||||||
elements.random.extraInfo = "Produces random pixels.";
|
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.mix.extraInfo = "Mixes pixels in the selection box.";
|
||||||
elements.lookup.extraInfo = "Brings up the info screen of a selected pixel.";
|
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.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.bamboo_plant.extraInfo = "Plants a bamboo plant of variable height.";
|
||||||
elements.sapling.extraInfo = "Plants a tree of variable height and structure.";
|
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.antifire.extraInfo = "Moves in reverse.";
|
||||||
elements.antigas.extraInfo = "Moves in reverse.";
|
elements.antigas.extraInfo = "Moves in reverse.";
|
||||||
elements.static.extraInfo = "Flickers in grayscale.";
|
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.gray_goo.extraInfo = "Duplicates itself when touching other pixels.";
|
||||||
elements.virus.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.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",
|
category:"cum",
|
||||||
conduct:0,
|
conduct:0,
|
||||||
extraInfo: "A whitish, sticky liquid that contains sperm. <span style=\"font-size: 0;\">It isn't funny.</span>",
|
extraInfo: "A whitish, sticky liquid that contains sperm. <span style=\"font-size: 0;\">It isn't funny.</span>",
|
||||||
|
stain: 0.11,
|
||||||
},
|
},
|
||||||
elements.dead_cum = {
|
elements.dead_cum = {
|
||||||
name: "dead cum",
|
name: "dead cum",
|
||||||
|
|
@ -62,6 +63,7 @@ elements.dead_cum = {
|
||||||
conduct: 0.04,
|
conduct: 0.04,
|
||||||
hidden:true,
|
hidden:true,
|
||||||
extraInfo: "Semen whose sperm have died.",
|
extraInfo: "Semen whose sperm have died.",
|
||||||
|
stain: 0.11,
|
||||||
},
|
},
|
||||||
elements.cum_water = {
|
elements.cum_water = {
|
||||||
name: "cum water",
|
name: "cum water",
|
||||||
|
|
@ -96,6 +98,7 @@ elements.cum_water = {
|
||||||
state: "liquid",
|
state: "liquid",
|
||||||
hidden: true,
|
hidden: true,
|
||||||
extraInfo: "Dilute semen.",
|
extraInfo: "Dilute semen.",
|
||||||
|
stain: 0.04,
|
||||||
},
|
},
|
||||||
elements.dead_cum_water = {
|
elements.dead_cum_water = {
|
||||||
name: "dead cum water",
|
name: "dead cum water",
|
||||||
|
|
@ -119,6 +122,7 @@ elements.dead_cum_water = {
|
||||||
conduct: 0.03,
|
conduct: 0.03,
|
||||||
hidden:true,
|
hidden:true,
|
||||||
extraInfo: "Dilute semen whose sperm have died.",
|
extraInfo: "Dilute semen whose sperm have died.",
|
||||||
|
stain: 0.04,
|
||||||
},
|
},
|
||||||
elements.burnt_cum = {
|
elements.burnt_cum = {
|
||||||
name: "burnt cum",
|
name: "burnt cum",
|
||||||
|
|
@ -428,6 +432,7 @@ elements.precum = {
|
||||||
category:"cum",
|
category:"cum",
|
||||||
state: "liquid",
|
state: "liquid",
|
||||||
extraInfo: "A sticky fluid that neutralizes acid.",
|
extraInfo: "A sticky fluid that neutralizes acid.",
|
||||||
|
stain: 0.03,
|
||||||
},
|
},
|
||||||
elements.precum_ice = {
|
elements.precum_ice = {
|
||||||
name: "frozen pre-cum",
|
name: "frozen pre-cum",
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,7 @@ elements.piss = {
|
||||||
state: "liquid",
|
state: "liquid",
|
||||||
conduct:elements.water.conduct+0.1,
|
conduct:elements.water.conduct+0.1,
|
||||||
extraInfo: "A liquid excreted as waste by many animals.",
|
extraInfo: "A liquid excreted as waste by many animals.",
|
||||||
|
stain: 0.07,
|
||||||
},
|
},
|
||||||
|
|
||||||
elements.piss_water = {
|
elements.piss_water = {
|
||||||
|
|
@ -50,6 +51,7 @@ elements.piss_water = {
|
||||||
category: "piss",
|
category: "piss",
|
||||||
conduct: elements.water.conduct+0.05,
|
conduct: elements.water.conduct+0.05,
|
||||||
hidden: true,
|
hidden: true,
|
||||||
|
stain: 0.05,
|
||||||
},
|
},
|
||||||
|
|
||||||
elements.piss_ice = {
|
elements.piss_ice = {
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,7 @@ elements.vomit = {
|
||||||
stateLow: "frozen_vomit",
|
stateLow: "frozen_vomit",
|
||||||
state: "liquid",
|
state: "liquid",
|
||||||
density: 1049,
|
density: 1049,
|
||||||
|
stain: 0.32,
|
||||||
},
|
},
|
||||||
|
|
||||||
elements.acid_gas.ignore.push("water")
|
elements.acid_gas.ignore.push("water")
|
||||||
|
|
|
||||||
|
|
@ -15,24 +15,9 @@ elements.shit = {
|
||||||
category: "shit",
|
category: "shit",
|
||||||
state: "solid",
|
state: "solid",
|
||||||
density: 1060,
|
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 = {
|
elements.dried_shit = {
|
||||||
color: ["#b58738","#8c7245","#ad915f","#b5a174","#705e34","#bdad88"],
|
color: ["#b58738","#8c7245","#ad915f","#b5a174","#705e34","#bdad88"],
|
||||||
behavior: [
|
behavior: [
|
||||||
|
|
@ -48,9 +33,9 @@ elements.dried_shit = {
|
||||||
density: 265,
|
density: 265,
|
||||||
burn: 120,
|
burn: 120,
|
||||||
burnTime: 300,
|
burnTime: 300,
|
||||||
burnInto: ["ash","altnull","altnull"],
|
burnInto: ["ash",null,null],
|
||||||
tempHigh: 300, //bs
|
tempHigh: 300, //bs
|
||||||
stateHigh: ["ash","altnull","altnull"],
|
stateHigh: ["ash",null,null],
|
||||||
},
|
},
|
||||||
|
|
||||||
elements.diarrhea = {
|
elements.diarrhea = {
|
||||||
|
|
@ -71,6 +56,7 @@ elements.diarrhea = {
|
||||||
state: "liquid",
|
state: "liquid",
|
||||||
density: 1030, //bs
|
density: 1030, //bs
|
||||||
viscosity: 3,
|
viscosity: 3,
|
||||||
|
stain: 0.51,
|
||||||
},
|
},
|
||||||
|
|
||||||
elements.frozen_shit = {
|
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",
|
category: "solids",
|
||||||
density: 10500,
|
density: 10500,
|
||||||
conduct: 1,
|
conduct: 1,
|
||||||
tempHigh: 550,
|
tempHigh: 1550,
|
||||||
stateHigh: "molten_signalum",
|
stateHigh: "molten_signalum",
|
||||||
state: "solid",
|
state: "solid",
|
||||||
},
|
},
|
||||||
|
|
@ -213,3 +213,9 @@ elements.resonant_ender = {
|
||||||
state: "liquid",
|
state: "liquid",
|
||||||
viscosity: 3**4,
|
viscosity: 3**4,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
runAfterLoad(function() {
|
||||||
|
lifeArray = Object.keys(elements).filter(function(e) {
|
||||||
|
return elements[e].category == "life";
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
runAfterLoad(function() {
|
runAfterLoad(function() {
|
||||||
liquidArray = Object.keys(elements).filter(function(e) {
|
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++) {
|
for(i = 0; i < liquidArray.length; i++) {
|
||||||
elements[`${liquidArray[i]}_spout`] = {
|
elements[`${liquidArray[i]}_spout`] = {
|
||||||
|
|
@ -14,4 +14,5 @@ runAfterLoad(function() {
|
||||||
temp: elements[liquidArray[i]].temp,
|
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,
|
hardness: 1.0,
|
||||||
state: "solid",
|
state: "solid",
|
||||||
excludeRandom: true,
|
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