From 0579beb31fc3599001f94a169650248fc4ea6032 Mon Sep 17 00:00:00 2001 From: O-01-67 <68935009+O-01-67@users.noreply.github.com> Date: Fri, 9 Sep 2022 22:40:48 -0400 Subject: [PATCH 1/5] tweak sandstone also update todo --- mods/the_ground.js | 39 ++++++++++++++++++++++++--------------- 1 file changed, 24 insertions(+), 15 deletions(-) diff --git a/mods/the_ground.js b/mods/the_ground.js index fb57ff7a..dbcac1ee 100644 --- a/mods/the_ground.js +++ b/mods/the_ground.js @@ -1,9 +1,12 @@ /* 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 @@ -347,13 +350,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 +366,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 +388,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 +435,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 }, @@ -993,11 +1002,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, }, From 1142470c86f5a2a5ad0faade64e245ea7db0bf1c Mon Sep 17 00:00:00 2001 From: O-01-67 <68935009+O-01-67@users.noreply.github.com> Date: Sun, 11 Sep 2022 15:43:52 -0400 Subject: [PATCH 2/5] fix bug in substitution table --- mods/the_ground.js | 318 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 317 insertions(+), 1 deletion(-) diff --git a/mods/the_ground.js b/mods/the_ground.js index dbcac1ee..598d8760 100644 --- a/mods/the_ground.js +++ b/mods/the_ground.js @@ -11,6 +11,322 @@ 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 @@ -843,7 +1159,7 @@ Proper classification of limestone within these code 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", From e658ac0c73e1335afe438620919abc8a942b0c77 Mon Sep 17 00:00:00 2001 From: O-01-67 <68935009+O-01-67@users.noreply.github.com> Date: Mon, 12 Sep 2022 12:47:17 -0400 Subject: [PATCH 3/5] update viscosities, add vodka --- mods/alcohol.js | 86 ++++++++++++++++++++++++++++--------------------- 1 file changed, 49 insertions(+), 37 deletions(-) diff --git a/mods/alcohol.js b/mods/alcohol.js index 1a72e973..e0b96a3d 100644 --- a/mods/alcohol.js +++ b/mods/alcohol.js @@ -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, -} \ No newline at end of file +} + +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, +} From f11a06cc3035aca907dd554357bf63d82a10c97a Mon Sep 17 00:00:00 2001 From: O-01-67 <68935009+O-01-67@users.noreply.github.com> Date: Mon, 12 Sep 2022 12:56:07 -0400 Subject: [PATCH 4/5] tweak idk --- mods/more_breaking.js | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/mods/more_breaking.js b/mods/more_breaking.js index ef722857..0a431c7f 100644 --- a/mods/more_breaking.js +++ b/mods/more_breaking.js @@ -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")) { From 8dd4ee53f864b3c16fbc2f8a1567857c9ab59a26 Mon Sep 17 00:00:00 2001 From: O-01-67 <68935009+O-01-67@users.noreply.github.com> Date: Mon, 12 Sep 2022 12:57:04 -0400 Subject: [PATCH 5/5] buffed spouts added movable to criteria --- mods/spouts.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods/spouts.js b/mods/spouts.js index e18b9008..eb135859 100644 --- a/mods/spouts.js +++ b/mods/spouts.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`] = {