var modName = "mods/random_rocks.js"; var onTryMoveIntoMod = "mods/onTryMoveInto.js"; var libraryMod = "mods/code_library.js"; if(enabledMods.includes(onTryMoveIntoMod) && enabledMods.includes(libraryMod)) { elements.solid_rock = { color: ["#808080","#4f4f4f","#949494"], behavior: behaviors.WALL, reactions: { "water": {elem1: "wet_sand", chance: 0.00035}, "salt_water": {elem1: "wet_sand", chance: 0.0005}, "sugar_water": {elem1: "wet_sand", chance: 0.0004}, "seltzer": {elem1: "wet_sand", chance: 0.0004}, "dirty_water": {elem1: "wet_sand", chance: 0.0004}, "soda": {elem1: "wet_sand", chance: 0.0004}, "lichen": {elem1: "dirt", chance: 0.0025}, "grape": {elem2: "juice", chance: 0.1, color2: "#291824"}, "root": {elem1: "sand", chance: 0.0004}, "wheat": {elem2: "flour"}, "primordial_soup": {elem1: "wet_sand", chance: 0.001} }, onTryMoveInto: function(pixel,otherPixel) { if(elements[otherPixel.element].category === "corruption") { if(Math.random() < 0.05) { changePixel(pixel,"corrupt_solid_rock"); return; }; } else { reactionStealer(pixel,otherPixel,"rock"); }; }, tempHigh: 950, stateHigh: "magma", category: "land", state: "solid", density: 2600, hardness: 0.55, breakInto: "rock", } if(enabledMods.includes("mods/fey_and_more.js")) { elements.corrupt_solid_rock = { color: ["#514c78","#514c78","#2a264d","#2a264d","#514c78","#514c78"], behavior: behaviors.WALL, tempHigh: 1200, category: "corruption", state: "solid", density: 1250, breakInto: "corrupt_rock", tick: function(pixel) { var randomNeighborOffset = adjacentCoords[Math.floor(Math.random() * adjacentCoords.length)]; var rfX = pixel.x+randomNeighborOffset[0]; var rfY = pixel.y+randomNeighborOffset[1]; if(!isEmpty(rfX,rfY,true)) { var otherPixel = pixelMap[rfX][rfY]; if(otherPixel.element === "solid_rock") { if(Math.random() < 0.05) { changePixel(otherPixel,"corrupt_solid_rock") }; }; }; }, }; runAfterLoad(function() { elements.corrupt_solid_rock.reactions = elements.corrupt_land.reactions; }); } } else { if(!enabledMods.includes(libraryMod)) { enabledMods.splice(enabledMods.indexOf(modName),0,libraryMod) }; if(!enabledMods.includes(onTryMoveIntoMod)) { enabledMods.splice(enabledMods.indexOf(modName),0,onTryMoveIntoMod) }; localStorage.setItem("enabledMods", JSON.stringify(enabledMods)); alert(`The "${libraryMod}" and "${onTryMoveIntoMod}" mods are all required; any missing mods in this list have been automatically inserted (reload for this to take effect).`) };