Merge branch 'main' of https://github.com/slweeb/sandboxels
This commit is contained in:
commit
3b6dd97f05
|
|
@ -1,5 +1,6 @@
|
|||
elements.alcohol.name = "ethanol"
|
||||
elements.alcohol.viscosity = elements.alcohol.viscosity * (1.074/1.0016)
|
||||
elements.alcohol.name = "ethanol";
|
||||
elements.alcohol.viscosity = 1.144;
|
||||
elements.water.viscosity = 1; //define reference viscosity of 1
|
||||
|
||||
elements.methanol = {
|
||||
color: "#c9c5b1",
|
||||
|
|
@ -10,31 +11,8 @@ elements.methanol = {
|
|||
"head": { "elem2":"rotten_meat", "chance": 0.8 },
|
||||
"body": { "elem2":"rotten_meat", "chance": 0.8 },
|
||||
},
|
||||
viscosity: 1*(0.553/1.0016),
|
||||
tempHigh: 64.7,
|
||||
stateHigh: ["steam","carbon_dioxide"], //todo: alcohols' phase transitions
|
||||
burn: 100,
|
||||
burnTime: 2,
|
||||
fireColor: "#b2c5d1",
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 792,
|
||||
stain: -0.25,
|
||||
}
|
||||
|
||||
|
||||
elements.methanol = {
|
||||
color: "#c9c5b1",
|
||||
behavior: behaviors.LIQUID,
|
||||
reactions: {
|
||||
"virus": { "elem2":null },
|
||||
"plague": { "elem2":null },
|
||||
"head": { "elem2":"rotten_meat", "chance": 0.8 },
|
||||
"body": { "elem2":"rotten_meat", "chance": 0.8 },
|
||||
},
|
||||
viscosity: 1*(0.553/1.0016),
|
||||
tempHigh: 64.7,
|
||||
stateHigh: ["steam","carbon_dioxide"], //todo: alcohols' phase transitions
|
||||
viscosity: 0.56,
|
||||
//tempHigh: 64.7,
|
||||
burn: 100,
|
||||
burnTime: 2,
|
||||
fireColor: "#b2c5d1",
|
||||
|
|
@ -51,9 +29,8 @@ elements.propanol = {
|
|||
"virus": { "elem2":null },
|
||||
"plague": { "elem2":null },
|
||||
},
|
||||
viscosity: 1*(1.945/1.0016),
|
||||
tempHigh: 97,
|
||||
stateHigh: ["steam","carbon_dioxide"],
|
||||
viscosity: 2.23, //EXERCISE 8: VISCOSITY OF PURE LIQUIDS AND SOLUTIONS
|
||||
//tempHigh: 97,
|
||||
burn: 100,
|
||||
burnTime: 3,
|
||||
fireColor: "#ced8de",
|
||||
|
|
@ -70,9 +47,8 @@ elements.isopropanol = {
|
|||
"virus": { "elem2":null },
|
||||
"plague": { "elem2":null },
|
||||
},
|
||||
viscosity: 1*(2.052/1.0016),
|
||||
tempHigh: 82.5,
|
||||
stateHigh: ["steam","carbon_dioxide"],
|
||||
viscosity: 2.38, //http://www.ddbst.com/en/EED/PCP/VIS_C95.php (293K is close enough)
|
||||
//tempHigh: 82.5,
|
||||
burn: 100,
|
||||
burnTime: 3,
|
||||
fireColor: "#d1c958",
|
||||
|
|
@ -89,13 +65,49 @@ elements.butanol = {
|
|||
"virus": { "elem2":null },
|
||||
"plague": { "elem2":null },
|
||||
},
|
||||
viscosity: 1*(2.53/1.0016),
|
||||
tempHigh: 118,
|
||||
stateHigh: ["steam","carbon_dioxide"],
|
||||
viscosity: 3.0011, //https://www.sciencedirect.com/science/article/abs/pii/S0021961416301446?via%3Dihub
|
||||
//tempHigh: 118,
|
||||
burn: 100,
|
||||
burnTime: 3,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 810,
|
||||
stain: -0.25,
|
||||
}
|
||||
}
|
||||
|
||||
elements.alcohol.reactions.water = { //50% is close enough to the standard 40%
|
||||
elem1: "vodka",
|
||||
elem2: "vodka",
|
||||
}
|
||||
|
||||
elements.vodka = {
|
||||
color: "#9FAEC5",
|
||||
behavior: behaviors.LIQUID,
|
||||
reactions: {
|
||||
"virus": { "elem2":null },
|
||||
"plague": { "elem2":null },
|
||||
},
|
||||
//tempLow: -16,
|
||||
//tempHigh: 78.37,
|
||||
tick: function(pixel) {
|
||||
//thermal splitting function
|
||||
/*var randomNeighbor = adjacentCoords[Math.floor(Math.random() * adjacentCoords.length)]
|
||||
var rnx = randomNeighbor[0]
|
||||
var rny = randomNeighbor[1]
|
||||
if(pixel.temp >= 100) {
|
||||
if(isEmpty(pixel.x+rnx, pixel.y+rny, false)) {
|
||||
createPixel("ethanol_gas", pixel.x+rnx, pixel.y+rny)
|
||||
changePixel(pixel, "water")
|
||||
}
|
||||
}*/
|
||||
},
|
||||
/*burn: 20,
|
||||
burnTime: 60,
|
||||
burnInto: "vodka_extinguish_handler",
|
||||
fireColor: ["#80ACF0","#96CDFE","#bee6d4"],*/
|
||||
//It is not possible to have the vodka catch fire temporarily and then be briefly unable to do so again; it is even more impossible to avoid waves while doing this.
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 916,
|
||||
stain: -0.25,
|
||||
}
|
||||
|
|
|
|||
|
|
@ -137,19 +137,23 @@ elements.nitrogen_ice.breakInto = "nitrogen_snow"
|
|||
|
||||
runAfterLoad(function() {
|
||||
for(i = 0; i < regularShinyThingArray.length; i++) {
|
||||
if(elements[regularShinyThingArray[i]]) {
|
||||
elements[`${regularShinyThingArray[i]}_scrap`] = {
|
||||
color: elements[regularShinyThingArray[i]].color,
|
||||
var thing = regularShinyThingArray[i];
|
||||
if(elements[thing]) {
|
||||
elements[`${thing}_scrap`] = {
|
||||
color: elements[thing].color,
|
||||
behavior: behaviors.POWDER,
|
||||
tempHigh: elements[regularShinyThingArray[i]].tempHigh,
|
||||
stateHigh: regularShinyThingArray[i],
|
||||
reactions: elements[regularShinyThingArray[i]].reactions,
|
||||
tempHigh: elements[thing].tempHigh,
|
||||
stateHigh: thing,
|
||||
category: "powders",
|
||||
hidden: true,
|
||||
density: elements[regularShinyThingArray[i]].density * 0.09,
|
||||
conduct: elements[regularShinyThingArray[i]].conduct * 0.4,
|
||||
density: elements[thing].density * 0.09,
|
||||
conduct: elements[thing].conduct * 0.4,
|
||||
movable: true,
|
||||
};
|
||||
elements[regularShinyThingArray[i]].breakInto = `${regularShinyThingArray[i]}_scrap`
|
||||
if(elements[thing].reactions) {
|
||||
elements[`${thing}_scrap`].reactions = elements[thing].reactions;
|
||||
};
|
||||
elements[thing].breakInto = `${thing}_scrap`;
|
||||
};
|
||||
};
|
||||
if(enabledMods.includes("mods/randomness.js")) {
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ includedElements = ["ketchup_spout", "spout", "udder", "torch", "sun"]
|
|||
|
||||
runAfterLoad(function() {
|
||||
liquidArray = Object.keys(elements).filter(function(e) {
|
||||
return (elements[e].state == "liquid" || elements[e].state == "gas") && !excludedElements.includes(elements[e]);
|
||||
return (elements[e].state == "liquid" || elements[e].state == "gas" || elements[e].movable) && !excludedElements.includes(elements[e]);
|
||||
});
|
||||
for(i = 0; i < liquidArray.length; i++) {
|
||||
elements[`${liquidArray[i]}_spout`] = {
|
||||
|
|
|
|||
|
|
@ -1,13 +1,332 @@
|
|||
/*
|
||||
TODO:
|
||||
Porphyritic, vesicular, vitreous, and fragmental IRs (if they exist, and i might make some up if they don't)
|
||||
Other rocks that fit these categories??
|
||||
Sedimentary and metamorphic rocks in general
|
||||
Proper classification of limestone in comments
|
||||
Fill in remaining IRs (if they exist, and i might make some up if they don't)
|
||||
Soils
|
||||
More sedimentary rocks
|
||||
Metamorphic rocks
|
||||
Ersatz pressure
|
||||
Merge crimson?
|
||||
Proper classification of limestone within these code comments
|
||||
*/
|
||||
|
||||
//Terrain
|
||||
|
||||
//Soils
|
||||
|
||||
//Dry
|
||||
//Warning: Crippling lack of online information on the properties of the various soils by texture
|
||||
|
||||
//Clay
|
||||
|
||||
//Clay exists
|
||||
|
||||
//Silty clay
|
||||
|
||||
//TODO
|
||||
|
||||
//Silty Clay Loam
|
||||
|
||||
//TODO
|
||||
|
||||
//Silty Loam
|
||||
|
||||
//TODO
|
||||
|
||||
//Silt
|
||||
|
||||
//TODO
|
||||
|
||||
//Clay Loam
|
||||
|
||||
//TODO
|
||||
//elements.clay_soil.name = "Clay Loam"
|
||||
|
||||
//Medium Loam
|
||||
|
||||
//TODO
|
||||
//elements.dirt.name = "Medium Loam";
|
||||
|
||||
//Sandy Clay
|
||||
|
||||
/*elements.sandy_clay = {
|
||||
color: "#DDCD8A",
|
||||
behavior: behaviors.POWDER,
|
||||
tempHigh: 1710,
|
||||
tempLow: -50,
|
||||
stateLow: "sandy_clay_permafrost",
|
||||
category:"land",
|
||||
state: "solid",
|
||||
density: 1220,
|
||||
};*/
|
||||
|
||||
//Sandy Clay Loam
|
||||
|
||||
//TODO
|
||||
|
||||
//Sandy Loam
|
||||
|
||||
//TODO
|
||||
|
||||
//Loamy Sand
|
||||
|
||||
//TODO
|
||||
|
||||
//Sand
|
||||
|
||||
//Sand exists
|
||||
|
||||
//Wet
|
||||
|
||||
//Wet Clay
|
||||
|
||||
//TODO
|
||||
|
||||
//Wet Silty clay
|
||||
|
||||
//TODO
|
||||
|
||||
//Wet Silty Clay Loam
|
||||
|
||||
//TODO
|
||||
|
||||
//Wet Silty Loam
|
||||
|
||||
//TODO
|
||||
|
||||
//Wet Silt
|
||||
|
||||
//TODO
|
||||
|
||||
//Wet Clay Loam
|
||||
|
||||
//TODO
|
||||
|
||||
//Wet Medium Loam
|
||||
|
||||
//Mud exists
|
||||
|
||||
//Wet Sandy Clay
|
||||
|
||||
//TODO
|
||||
|
||||
//Wet Sandy Clay Loam
|
||||
|
||||
//TODO
|
||||
|
||||
//Wet Sandy Loam
|
||||
|
||||
//TODO
|
||||
|
||||
//Wet Loamy Sand
|
||||
|
||||
//TODO
|
||||
|
||||
//Wet Sand
|
||||
|
||||
//Wet Sand exists
|
||||
|
||||
//Permafrost
|
||||
|
||||
//Clay Permafrost
|
||||
|
||||
//TODO
|
||||
|
||||
//Silty clay Permafrost
|
||||
|
||||
//TODO
|
||||
|
||||
//Silty Clay Loam Permafrost
|
||||
|
||||
//TODO
|
||||
|
||||
//Silty Loam Permafrost
|
||||
|
||||
//TODO
|
||||
|
||||
//Silt Permafrost
|
||||
|
||||
//TODO
|
||||
|
||||
//Clay Loam Permafrost
|
||||
|
||||
//TODO
|
||||
|
||||
//Medium Loam Permafrost
|
||||
|
||||
//Permafrost exists
|
||||
|
||||
//Sandy Clay Permafrost
|
||||
|
||||
//TODO
|
||||
|
||||
//Sandy Clay Loam Permafrost
|
||||
|
||||
//TODO
|
||||
|
||||
//Sandy Loam Permafrost
|
||||
|
||||
//TODO
|
||||
|
||||
//Loamy Sand Permafrost
|
||||
|
||||
//TODO
|
||||
|
||||
//Sand Permafrost
|
||||
|
||||
//TODO
|
||||
|
||||
//Irradiated (unmoved/TODO)
|
||||
|
||||
//Dry
|
||||
|
||||
//Irradiated Clay
|
||||
|
||||
//Clay exists
|
||||
|
||||
//Irradiated Silty clay
|
||||
|
||||
//TODO
|
||||
|
||||
//Irradiated Silty Clay Loam
|
||||
|
||||
//TODO
|
||||
|
||||
//Irradiated Silty Loam
|
||||
|
||||
//TODO
|
||||
|
||||
//Irradiated Silt
|
||||
|
||||
//TODO
|
||||
|
||||
//Irradiated Clay Loam
|
||||
|
||||
//Clay Soil exists
|
||||
|
||||
//Irradiated Medium Loam
|
||||
|
||||
//Dirt exists
|
||||
|
||||
//Irradiated Sandy Clay
|
||||
|
||||
//TODO
|
||||
|
||||
//Irradiated Sandy Clay Loam
|
||||
|
||||
//TODO
|
||||
|
||||
//Irradiated Sandy Loam
|
||||
|
||||
//TODO
|
||||
|
||||
//Irradiated Loamy Sand
|
||||
|
||||
//TODO
|
||||
|
||||
//Irradiated Sand
|
||||
|
||||
//Sand exists
|
||||
|
||||
//Wet
|
||||
|
||||
//Irradiated Wet Clay
|
||||
|
||||
//TODO
|
||||
|
||||
//Irradiated Wet Silty clay
|
||||
|
||||
//TODO
|
||||
|
||||
//Irradiated Wet Silty Clay Loam
|
||||
|
||||
//TODO
|
||||
|
||||
//Irradiated Wet Silty Loam
|
||||
|
||||
//TODO
|
||||
|
||||
//Irradiated Wet Silt
|
||||
|
||||
//TODO
|
||||
|
||||
//Irradiated Wet Clay Loam
|
||||
|
||||
//TODO
|
||||
|
||||
//Irradiated Wet Medium Loam
|
||||
|
||||
//Mud exists
|
||||
|
||||
//Irradiated Wet Sandy Clay
|
||||
|
||||
//TODO
|
||||
|
||||
//Irradiated Wet Sandy Clay Loam
|
||||
|
||||
//TODO
|
||||
|
||||
//Irradiated Wet Sandy Loam
|
||||
|
||||
//TODO
|
||||
|
||||
//Irradiated Wet Loamy Sand
|
||||
|
||||
//TODO
|
||||
|
||||
//Irradiated Wet Sand
|
||||
|
||||
//Wet Sand exists
|
||||
|
||||
//Permafrost
|
||||
|
||||
//Irradiated Clay Permafrost
|
||||
|
||||
//TODO
|
||||
|
||||
//Irradiated Silty clay Permafrost
|
||||
|
||||
//TODO
|
||||
|
||||
//Irradiated Silty Clay Loam Permafrost
|
||||
|
||||
//TODO
|
||||
|
||||
//Irradiated Silty Loam Permafrost
|
||||
|
||||
//TODO
|
||||
|
||||
//Irradiated Silt Permafrost
|
||||
|
||||
//TODO
|
||||
|
||||
//Irradiated Clay Loam Permafrost
|
||||
|
||||
//TODO
|
||||
|
||||
//Irradiated Medium Loam Permafrost
|
||||
|
||||
//Permafrost exists
|
||||
|
||||
//Irradiated Sandy Clay Permafrost
|
||||
|
||||
//TODO
|
||||
|
||||
//Irradiated Sandy Clay Loam Permafrost
|
||||
|
||||
//TODO
|
||||
|
||||
//Irradiated Sandy Loam Permafrost
|
||||
|
||||
//TODO
|
||||
|
||||
//Irradiated Loamy Sand Permafrost
|
||||
|
||||
//TODO
|
||||
|
||||
//Irradiated Sand Permafrost
|
||||
|
||||
//TODO
|
||||
|
||||
//Rocks
|
||||
|
||||
//Igneous
|
||||
|
|
@ -347,13 +666,13 @@ Proper classification of limestone in comments
|
|||
|
||||
//Elements from which simplified lithification can spread
|
||||
|
||||
sandstoneLithificationElements = ["sand_sediment", "sandstone", "irradiated_sand_sediment", "irradiated_sandstone"]
|
||||
sandstoneLithificationElements = ["sand_sediment", "sandstone", "irradiated_sand_sediment", "irradiated_sandstone"/*, "crimson_sandstone", "crimson_sand_sediment"*/]
|
||||
|
||||
//Water reaction to pick up the fine material (this is very simplified)
|
||||
|
||||
elements.water.reactions.wet_sand = {
|
||||
"elem1": "sandy_water",
|
||||
"elem2": ["wet_sand","wet_sand","wet_sand","wet_sand","wet_sand",null],
|
||||
"elem2": ["wet_sand","wet_sand","wet_sand","sandy_water"],
|
||||
chance: 0.01
|
||||
};
|
||||
|
||||
|
|
@ -363,6 +682,12 @@ Proper classification of limestone in comments
|
|||
chance: 0.01
|
||||
};
|
||||
|
||||
/*elements.water.reactions.crimson_wet_sand = { /
|
||||
"elem1": "crimson_sandy_water",
|
||||
"elem2": ["crimson_wet_sand","crimson_wet_sand","crimson_wet_sand","crimson_wet_sand","crimson_wet_sand",null],
|
||||
chance: 0.01
|
||||
};*/
|
||||
|
||||
//Sediment suspension
|
||||
|
||||
elements.sandy_water = {
|
||||
|
|
@ -379,10 +704,10 @@ Proper classification of limestone in comments
|
|||
"elem1": [null,null,"wet_sand"], // First element transforms into; in this case, water deletes itself
|
||||
"elem2": "mud", // Second element transforms into; in this case, dirt turns to mud
|
||||
},
|
||||
"water": { "elem1":"water", "elem2":"sandy_water", "chance":0.025 },
|
||||
"sand": { "elem1": [null,null,"wet_sand"], "elem2": "wet_sand", },
|
||||
"sandy_water": { "elem1":"wet_sand", "elem2":"water", "chance": 0.001 },
|
||||
"wet_sand": { "elem2":"sand_sediment", "chance": 0.0005 },
|
||||
"water": { "elem1":"water", "elem2":"sandy_water", "chance":0.025 }, //swap reaction
|
||||
"sand": { "elem1": [null,null,"wet_sand"], "elem2": "wet_sand", },
|
||||
"sandy_water": { "elem1":"water", "elem2":"sand_sediment", "chance": 0.001 },
|
||||
"wet_sand": { "elem1": "water", "elem2":"sand_sediment", "chance": 0.0005 },
|
||||
//"salt": { "elem1": "salt_water", "elem2": null },
|
||||
//"sugar": { "elem1": "sugar_water", "elem2": null, },
|
||||
"dust": { "elem1": "dirty_water", "elem2": null, },
|
||||
|
|
@ -426,7 +751,7 @@ Proper classification of limestone in comments
|
|||
"SW:wet_sand%1.5 AND M2|SW:wet_sand%2.5 AND M1|SW:wet_sand%1.5 AND M2"
|
||||
],
|
||||
reactions: {
|
||||
"water": { "elem1":"sandy_water", "elem2":"sandy_water", "chance":0.025 },
|
||||
"water": { "elem1":"sandy_water", "elem2":"sandy_water", "chance":0.001 },
|
||||
"sand": { "elem1": [null,null,"wet_sand"], "elem2": "wet_sand", },
|
||||
"sandy_water": { "elem1":["water","water","sand_sediment"], "chance":0.001 },
|
||||
"wet_sand": { "elem2": "sand_sediment", "chance": 0.0005 },
|
||||
|
|
@ -834,7 +1159,7 @@ Proper classification of limestone in comments
|
|||
dirt: "irradiated_dirt",
|
||||
molten_dirt: "molten_irradiated_dirt",
|
||||
glass: "irradiated_glass",
|
||||
irradiated_glass: "molten_irradiated_glass",
|
||||
molten_glass: "molten_irradiated_glass",
|
||||
glass_shard: "irradiated_glass_shard",
|
||||
sand: "irradiated_sand",
|
||||
mud: "irradiated_mud",
|
||||
|
|
@ -993,11 +1318,11 @@ Proper classification of limestone in comments
|
|||
"water": { "elem1":"irradiated_water", "elem2":"irradiated_sandy_water", "chance":0.025 },
|
||||
"irradiated_water": { "elem1":"irradiated_water", "elem2":"irradiated_sandy_water", "chance":0.025 },
|
||||
"sand": { "elem1": [null,null,"irradiated_wet_sand"], "elem2": "irradiated_wet_sand", },
|
||||
"sandy_water": { "elem1":"irradiated_wet_sand", "elem2":"irradiated_water", "chance": 0.001 },
|
||||
"irradiated_sand": { "elem1": [null,null,"irradiated_wet_sand"], "elem2": "irradiated_wet_sand", },
|
||||
"irradiated_sandy_water": { "elem1":"irradiated_wet_sand", "elem2":"irradiated_water", "chance": 0.001 },
|
||||
"wet_sand": { "elem2":"irradiated_sand_sediment", "chance": 0.0005 },
|
||||
"irradiated_wet_sand": { "elem2":"irradiated_sand_sediment", "chance": 0.0005 },
|
||||
"sandy_water": { "elem1":"irradiated_wet_sand", "elem2":"irradiated_sand_sediment", "chance": 0.001 },
|
||||
"irradiated_sandy_water": { "elem1":"irradiated_wet_sand", "elem2":"irradiated_sand_sediment", "chance": 0.001 },
|
||||
"wet_sand": { "elem1": "irradiated_water", "elem2":"irradiated_sand_sediment", "chance": 0.0005 },
|
||||
"irradiated_wet_sand": { "elem1": "irradiated_water", "elem2":"irradiated_sand_sediment", "chance": 0.0005 },
|
||||
/*"salt": { "elem1": "salt_water", "elem2": null },
|
||||
"sugar": { "elem1": "sugar_water", "elem2": null, },
|
||||
"dust": { "elem1": "dirty_water", "elem2": null, },
|
||||
|
|
|
|||
Loading…
Reference in New Issue