diff --git a/mods/chem.js b/mods/chem.js index aabc4c21..c1e3b9a1 100644 --- a/mods/chem.js +++ b/mods/chem.js @@ -1903,8 +1903,10 @@ trueAcids.push("hexafluorosilicic_acid"); trueAcidGases.push("hexafluorosilicic_acid_gas"); -elements.hydrofluoric_acid.ignore.push("sand","hexafluorosilicic_acid","hexafluorosilicic_acid_gas","potassium_carbonate","potassium_fluoride"); -elements.hydrofluoric_acid_gas.ignore.push("sand","hexafluorosilicic_acid","hexafluorosilicic_acid_gas","potassium_carbonate","potassium_fluoride"); +elements.hydrofluoric_acid.ignore.push("sand","hexafluorosilicic_acid","hexafluorosilicic_acid_gas","potassium_carbonate","potassium_fluoride","carbon_dioxide","hydrogen"); +elements.hydrofluoric_acid_gas.ignore.push("sand","hexafluorosilicic_acid","hexafluorosilicic_acid_gas","potassium_carbonate","potassium_fluoride","carbon_dioxide","hydrogen"); +elements.hydrogen_fluoride.ignore.push("sand","hexafluorosilicic_acid","hexafluorosilicic_acid_gas","potassium_carbonate","potassium_fluoride","carbon_dioxide","hydrogen"); +elements.liquid_hydrogen_fluoride.ignore.push("sand","hexafluorosilicic_acid","hexafluorosilicic_acid_gas","potassium_carbonate","potassium_fluoride","carbon_dioxide","hydrogen"); elements.hexafluorosilicic_acid.ignore.push("sand"); elements.hexafluorosilicic_acid_gas.ignore.push("sand"); @@ -1912,9 +1914,14 @@ elements.hydrofluoric_acid.reactions.sand = { elem1:"hexafluorosilicic_acid", el elements.hydrofluoric_acid_gas.reactions.sand = { elem1:"hexafluorosilicic_acid", elem2: null}; elements.hydrofluoric_acid.reactions.potassium_carbonate = { elem1:"potassium_fluoride", elem2: "carbon_dioxide"}; elements.hydrofluoric_acid_gas.reactions.potassium_carbonate = { elem1:"potassium_fluoride", elem2: "carbon_dioxide"}; +elements.hydrogen_fluoride.reactions.potassium_carbonate = { elem1:"potassium_fluoride", elem2: "carbon_dioxide"}; +elements.liquid_hydrogen_fluoride.reactions.potassium_carbonate = { elem1:"potassium_fluoride", elem2: "carbon_dioxide"}; elements.hydrofluoric_acid.reactions.potassium_fluoride = { elem1:["hydrogen","fluorine"], elem2: "potassium_fluoride"}; elements.hydrofluoric_acid_gas.reactions.potassium_fluoride = { elem1:["hydrogen","fluorine"], elem2: "potassium_fluoride"}; +elements.fluorine.ignore.push("sand","potassium_fluoride","carbon_dioxide"); +elements.liquid_fluorine.ignore.push("sand","potassium_fluoride","carbon_dioxide"); + elements.potassium_carbonate = { color: "#e2e1e8", behavior: behaviors.POWDER, @@ -2314,7 +2321,6 @@ elements.bless.reactions["hydrogen_fluoride"] = {elem2: "hydrogen"}; elements.bless.reactions["liquid_hydrogen_fluoride"] = {elem2: "hydrogen"}; elements.bless.reactions["hydrogen_fluoride_ice"] = {elem2: "hydrogen"}; elements.bless.reactions["hydrofluoric_acid"] = {elem2: "hydrogen"}; -elements.bless.reactions["liquid_hydrofluoric_acid"] = {elem2: "hydrogen"}; elements.bless.reactions["hydrofluoric_acid_ice"] = {elem2: "hydrogen"}; elements.bless.reactions["francium"] = {elem2: null}; elements.bless.reactions["molten_francium"] = {elem2: null}; diff --git a/mods/world_gen_test.js b/mods/world_gen_test.js index af279f17..dc214aba 100644 --- a/mods/world_gen_test.js +++ b/mods/world_gen_test.js @@ -138,6 +138,84 @@ if (enabledMods.includes("mods/chem.js")) { }; } +if (enabledMods.includes("mods/structure_test.js")) { + elements.smooth_tungsten = { + color: "#bcbaae", + behavior: behaviors.WALL, + tempHigh: 3422, + stateHigh: "molten_tungsten", + category: "solids", + hidden: true, + density: 19300, + conduct: 0.65, + hardness: 0.75 +}, + elements.francium_reactor = { + tick: function(pixel) { + for(cx = -4; cx <= 4; cx++) { + for(cy = -4; cy <= 4; cy++) { + if(cx === 0 && cy === 0) { + continue; + }; + var finalCoords = [pixel.x+cx,pixel.y+cy]; + if(isEmpty(...finalCoords,true)) { + continue; + } else { + var otherPixel = pixelMap[finalCoords[0]][finalCoords[1]]; + if(otherPixel.element === pixel.element) { + deletePixel(...finalCoords); + }; + }; + }; + }; + if(!isEmpty(pixel.x,pixel.y-1,true)) { + swapPixels(pixel,pixelMap[pixel.x][pixel.y-1]); + return; + }; + if(!tryMove(pixel,pixel.x,pixel.y+1)) { + let width = 10 + Math.floor(Math.random() * (8 + 1)); + let randomHeight = 2 + Math.floor(Math.random() * (2 + 1)); + var heights = []; + for(let i = 1; i <= randomHeight; i++) + { + heights.push(Math.floor(i)); + } + var currentHeight = pixel.y + 100; + while(currentHeight > pixel.y) + { + loadPixelRowFromArray(Array((width)*2-1).fill("tungsten"),pixel.x,currentHeight,true,true); + currentHeight--; + } + for(let i = 0; i < heights.length; i++) + { + for(let j = 0; j < heights[i]; j++) + { + loadPixelRowFromArray(Array((width-i)*2+1).fill("smooth_tungsten"),pixel.x,currentHeight,true,true); + currentHeight--; + } + } + + for(let i = heights.length-1; i >= 0; i--) + { + for(let j = 0; j < heights[i]; j++) + { + loadPixelRowFromArray(Array((width-i)*2+1).fill("smooth_tungsten"),pixel.x,currentHeight,true,true); + currentHeight--; + } + } + }; + }, + excludeRandom: true, + desc: "Creates a francium reactor for the francium lake worldgen.", + cooldown: 6, + state: "solid", + hardness: 1, + category: "structures", + color: ["#adadad", "#70b8ba", "#adadad", "#70b8ba", "#adadad"], + }; + elements.francium_height_map = newHeightMap(Array(5000).fill("tungsten").concat(["francium_reactor"]), "francium_height", 0.125, 1, 0.2, 2.5, 20); +} + //override function until fix worldGen = function (worldtype) {