elements.vomit = { color: ["#d9cb89", "#dbe6a1", "#e3da94", "#f5e6a4", "#f2f0e9", "#ded276", "#f0d58d"], behavior: [ "XX|DB%3.5|XX", "DB%3.5 AND M2|XX|DB%3.5 AND M2", "DB%3.5 AND M1|DB%7 AND M1|DB%3.5 AND M1", ], ignore: ["glass","glass_shard","baked_clay","acid_gas","neutral_acid","acid","water","steam","ice","snow","wall","brick","plastic","dirt","sand","mud","rock","wet_sand","gravel","vomit","vomit_snow","frozen_vomit"], reactions: { "ash": { "elem1":"neutral_acid", "elem2":null }, "limestone": { "elem1":"neutral_acid", "elem2":null }, "quicklime": { "elem1":"neutral_acid", "elem2":null }, "slaked_lime": { "elem1":"neutral_acid", "elem2":null }, "borax": { "elem1":"neutral_acid", "elem2":null }, "ammonia": { "elem1":"neutral_acid", "elem2":null }, "iron": { "elem1":["vomit","vomit","vomit",null], "elem2":"rust" }, "copper": { "elem1":["vomit","vomit","vomit",null], "elem2":"oxidized_copper" }, }, category: "vomit", tempHigh: 100, stateHigh: ["acid_gas","steam","plague"], tempLow: 0, //https://www.sciencedirect.com/science/article/pii/S0021925818757876/pdf?md5=dcf060653cff604b4e7297265d71594f&pid=1-s2.0-S0021925818757876-main.pdf stateLow: "frozen_vomit", state: "liquid", density: 1049, }, elements.acid_gas.ignore.push("water") elements.acid_gas.ignore.push("steam") elements.acid_gas.ignore.push("ice") elements.acid_gas.ignore.push("snow") elements.acid_gas.ignore.push("vomit") elements.acid_gas.ignore.push("vomit_snow") elements.acid_gas.ignore.push("frozen_vomit") elements.acid.ignore.push("water") elements.acid.ignore.push("steam") elements.acid.ignore.push("ice") elements.acid.ignore.push("snow") elements.acid.ignore.push("vomit") elements.acid.ignore.push("vomit_snow") elements.acid.ignore.push("frozen_vomit") elements.frozen_vomit = { color: ["#e9dba9", "#ebf6c1", "#f3eab4", "#fff6c4", "#fffff9", "#eee296", "#ffe5ad"], behavior: [ "XX|DB%2|XX", "DB%2|XX|DB%2", "DB%2|DB%4|DB%2", ], ignore: ["glass","glass_shard","baked_clay","acid_gas","neutral_acid","acid","water","steam","ice","snow","wall","brick","plastic","dirt","sand","mud","rock","wet_sand","gravel","vomit","vomit_snow","frozen_vomit"], reactions: { "ash": { "elem1":"neutral_acid", "elem2":null }, "limestone": { "elem1":"neutral_acid", "elem2":null }, "quicklime": { "elem1":"neutral_acid", "elem2":null }, "slaked_lime": { "elem1":"neutral_acid", "elem2":null }, "borax": { "elem1":"neutral_acid", "elem2":null }, "ammonia": { "elem1":"neutral_acid", "elem2":null }, "iron": { "elem1":["vomit","vomit","vomit",null], "elem2":"rust" }, "copper": { "elem1":["vomit","vomit","vomit",null], "elem2":"oxidized_copper" }, }, category: "vomit", temp: -5, tempHigh: 0, stateHigh: "vomit", state: "solid", hidden: true, density: 1049, breakInto: "vomit_snow", }, elements.vomit_snow = { color: ["#e9dba9", "#ebf6c1", "#f3eab4", "#fff6c4", "#fffff9", "#eee296", "#ffe5ad"], behavior: [ "XX|DB%3|XX", "DB%3|XX|DB%3", "DB%3 AND M2|DB%6 AND M1|DB%3 AND M2", ], ignore: ["glass","glass_shard","baked_clay","acid_gas","neutral_acid","acid","water","steam","ice","snow","wall","brick","plastic","dirt","sand","mud","rock","wet_sand","gravel","vomit","vomit_snow","frozen_vomit"], reactions: { "ash": { "elem1":"neutral_acid", "elem2":null }, "limestone": { "elem1":"neutral_acid", "elem2":null }, "quicklime": { "elem1":"neutral_acid", "elem2":null }, "slaked_lime": { "elem1":"neutral_acid", "elem2":null }, "borax": { "elem1":"neutral_acid", "elem2":null }, "ammonia": { "elem1":"neutral_acid", "elem2":null }, "iron": { "elem1":["vomit","vomit","vomit",null], "elem2":"rust" }, "copper": { "elem1":["vomit","vomit","vomit",null], "elem2":"oxidized_copper" }, }, category: "liquids", temp: -5, tempHigh: 0, stateHigh: "vomit", state: "solid", hidden: true, density: 1049, } runAfterLoad(function() { if(enabledMods.includes("mods/funny_liquid.js")) { //Vomit should kill cum, but I'm protecting cum for the "funny". elements.vomit.ignore.push("cum"); elements.vomit.ignore.push("cum_water"); elements.vomit.ignore.push("cum_ice"); elements.vomit.ignore.push("precum"); elements.vomit.ignore.push("precum_ice"); elements.vomit.ignore.push("cum_water_ice"); elements.vomit.ignore.push("dead_cum"); elements.vomit.ignore.push("dead_cum_water"); elements.vomit.ignore.push("dead_cum_ice"); elements.vomit.ignore.push("dead_cum_water_ice"); elements.vomit.ignore.push("cummy_mud"); elements.vomit.ignore.push("dead_cummy_mud"); elements.vomit.ignore.push("cummy_sand"); elements.vomit.ignore.push("dead_cummy_sand"); elements.vomit.ignore.push("cummy_permafrost"); elements.vomit.ignore.push("dead_cummy_permafrost"); elements.vomit.ignore.push("cummy_snake"); elements.vomit.ignore.push("cum_slime"); elements.vomit.ignore.push("burnt_cum"); elements.vomit.ignore.push("cum_fairy"); elements.vomit.ignore.push("cum_bomb"); elements.vomit.ignore.push("cum_reviver"); elements.vomit.ignore.push("cum_snow"); elements.vomit.ignore.push("dead_cum_snow"); elements.vomit.ignore.push("precum_snow"); } if(enabledMods.includes("mods/funny_liquid_2.js")) { elements.vomit.ignore.push("piss"); elements.vomit.ignore.push("piss_water"); elements.vomit.ignore.push("piss_ice"); elements.vomit.ignore.push("piss_water_ice"); elements.vomit.ignore.push("pissed_mud"); elements.vomit.ignore.push("pissed_sand"); elements.vomit.ignore.push("pissed_permafrost"); elements.vomit.ignore.push("piss_fairy"); elements.vomit.ignore.push("piss_bomb"); } if(enabledMods.includes("mods/funny_solid.js")) { elements.vomit.ignore.push("shit"); elements.vomit.ignore.push("dried_shit"); elements.vomit.ignore.push("diarrhea"); elements.vomit.ignore.push("frozen_shit"); elements.vomit.ignore.push("frozen_diarrhea"); } foodArray = [] foodArray = Object.keys(elements).filter(function(e) { return elements[e].category == "food"; }); manualFoodArray = ["honey","caramel","molasses","ketchup","chocolate_syrup"] /*if(enabledMods.includes("mods/ketchup_mod.js")) { //TODO: ketchup mod integration }*/ if(foodArray && manualFoodArray) { for(i = 0; i < manualFoodArray.length; i++) { foodArray.push(manualFoodArray[i]) } } if(foodArray) { for(i = 0; i < foodArray.length; i++) { elements.vomit.reactions[foodArray[i]] = { elem1: ["vomit","vomit","vomit","vomit","vomit",null,null], elem2: [foodArray[i],null], chance: 0.6 } } } if(enabledMods.includes("mods/fey_and_more.js")) { //vomit elements as impurities { eLists.IMPURITY.push("vomit"); eLists.IMPURITY.push("frozen_vomit"); eLists.IMPURITY.push("vomit_snow"); //} //regenerate behaviors of elements that use eLists.IMPURITY { elements.pure_water.behavior = [ "DL:"+eLists.IMPURITY+"|DL:"+eLists.IMPURITY+"|DL:"+eLists.IMPURITY+"", "DL:"+eLists.IMPURITY+" AND M2|XX|DL:"+eLists.IMPURITY+" AND M2", "DL:"+eLists.IMPURITY+" AND M1|DL:"+eLists.IMPURITY+" AND M1|DL:"+eLists.IMPURITY+" AND M1", ]; elements.pure_steam.behavior = [ "M2 AND DL:"+eLists.IMPURITY+"|M1 AND DL:"+eLists.IMPURITY+"|M2 AND DL:"+eLists.IMPURITY+"", "M1 AND DL:"+eLists.IMPURITY+"|XX|M1 AND DL:"+eLists.IMPURITY+"", "M2 AND DL:"+eLists.IMPURITY+"|M1 AND DL:"+eLists.IMPURITY+"|M2 AND DL:"+eLists.IMPURITY+"", ]; //} //vomit fairy { elements.vomit_fairy = { color: ["#b7e64c", "#f2d785", "#e8e88e"], state: "solid", behavior: [ "XX|M1|M1", "XX|FX%5|XX", "XX|CR:vomit%0.5 AND CR:fairy_dust%0.005 AND M1|M1", ], category: "fey", }; //} //eList rebuilding { eLists.FAIRY.push("vomit_fairy"); elements.iron.behavior = [ "XX|DL:"+eLists.FAIRY+"|XX", "DL:"+eLists.FAIRY+"|XX|DL:"+eLists.FAIRY+"", "XX|DL:"+eLists.FAIRY+"|XX" ]; elements.silver.behavior = [ "XX|DL:"+eLists.FAIRY+"|XX", "DL:"+eLists.FAIRY+"|XX|DL:"+eLists.FAIRY+"", "XX|DL:"+eLists.FAIRY+"|XX" ]; //} //concoction support (it's all mistakes) { elements.concoction.reactions.vomit = { "elem1": "mistake", "elem2": null }, elements.concoction.reactions.frozen_vomit = { "elem1": "mistake", "elem2": null }, elements.concoction.reactions.vomit_snow = { "elem1": "mistake", "elem2": null }, //} //vomit fairy creation { elements.fairy.reactions.vomit = { "elem1": "vomit_fairy" } elements.vomit.reactions.fairy = { "elem2": "vomit_fairy" } //} elements.vomit.ignore.push("fairy") elements.vomit.ignore.push("vomit_fairy") }; if(enabledMods.includes("mods/fey_and_more.js") && enabledMods.includes("mods/randomness.js")) { if(elements.tungstensteel && elements.molten_tungstensteel) { elements.tungstensteel.behavior = [ "XX|DL:"+eLists.FAIRY+"|XX", "DL:"+eLists.FAIRY+"|XX|DL:"+eLists.FAIRY+"", "XX|DL:"+eLists.FAIRY+"|XX", ], elements.molten_tungstensteel.behavior = [ "XX|DL:"+eLists.FAIRY+" AND CR:fire%2.5|XX", "DL:"+eLists.FAIRY+" AND M2|XX|DL:"+eLists.FAIRY+" AND M2", "M1|DL:"+eLists.FAIRY+"|M1", ] } }; }); if(elements.fairy && elements.vomit && elements.vomit_fairy) { if(elements.fairy.reactions.vomit) { if(elements.fairy.reactions) { elements.fairy.reactions.vomit = { "elem1": "vomit_fairy" } } } }