sandboxels/mods/debrisable.js

1134 lines
40 KiB
JavaScript

wow = function() {
for (element in elements) {
if (elements[element].breakInto===undefined && elements[element].noSnow!==true || elements[element].noSnow===false) {
var newname = elements[element].breakName;
if (elements[element].state==="solid" || elements[element].noSnow===false) { // Breaking
if (!newname) {
newname = element;
if (newname.startsWith("frozen_")) {
var newname2 = newname.substring(7);
elements[newname2 + "_snow"] = {
color: elements[newname].color,
colorObject: elements[newname].colorObject,
behavior: behaviors.POWDER,
density: elements[newname].density,
burn: elements[newname].burn,
burnInto: elements[newname].burnInto,
burnTime: elements[newname].burnTime,
fireColor: elements[newname].fireColor,
fireElement: elements[newname].fireElement,
temp: (elements[newname].tempHigh - 5),
tempHigh: elements[newname].tempHigh,
stateHigh: elements[newname].stateHigh,
tempLow: (elements[newname].tempHigh - 50),
stateLow: newname,
hidden: true,
state: "solid",
category: "snows"
}
elements[element].breakInto = (newname2 + "_snow")
}
else if (newname.endsWith("_ice")) {
var newname2 = newname.substring(0,newname.length-4);
elements[newname2 + "_snow"] = {
color: elements[newname].color,
colorObject: elements[newname].colorObject,
behavior: behaviors.POWDER,
density: elements[newname].density,
burn: elements[newname].burn,
burnInto: elements[newname].burnInto,
burnTime: elements[newname].burnTime,
fireColor: elements[newname].fireColor,
fireElement: elements[newname].fireElement,
temp: (elements[newname].tempHigh - 5),
tempHigh: elements[newname].tempHigh,
stateHigh: elements[newname].stateHigh,
tempLow: (elements[newname].tempHigh - 50),
stateLow: newname,
hidden: true,
state: "solid",
category: "snows"
}
elements[element].breakInto = (newname2 + "_snow")
}
else if (elements[element].noSnow===false) {
var newname2 = newname
elements[newname2 + "_snow"] = {
color: elements[newname].color,
colorObject: elements[newname].colorObject,
behavior: behaviors.POWDER,
density: elements[newname].density,
burn: elements[newname].burn,
burnInto: elements[newname].burnInto,
burnTime: elements[newname].burnTime,
fireColor: elements[newname].fireColor,
fireElement: elements[newname].fireElement,
temp: (elements[newname].tempHigh - 5),
tempHigh: elements[newname].tempHigh,
stateHigh: elements[newname].stateHigh,
tempLow: (elements[newname].tempHigh - 50),
stateLow: newname,
hidden: true,
state: "solid",
category: "snows"
}
elements[element].breakInto = (newname2 + "_snow")
}
}
}
}
}
}
runAfterAutogen(wow)
elements.microplastic = {
color: ["#B7BFBF","#c3cccc"],
behavior: behaviors.POWDER,
category: "powders",
tempHigh: 200,
stateHigh: "dioxin",
reactions: {
"water": { elem1:null, elem2:"microplastic_water", chance:0.5 },
},
burn: 15,
burnTime: 350,
burnInto: "dioxin",
state: "solid",
density: 902,
hidden: true,
}
elements.microplastic_water = {
color: ["#6491E8","#799EE3","#97B0DA"],
behavior: behaviors.LIQUID,
tempHigh: 105,
stateHigh: ["steam","steam","steam","steam","microplastic","microplastic","dioxin"],
tempLow: -5,
stateLowName: "plastic_ice",
viscosity: 10,
category: "liquids",
reactions: {
"rock": { elem2: "wet_sand", chance: 0.0004 },
"limestone": { elem2: "wet_sand", chance: 0.0004 },
"plant": { elem1:"water", chance:0.05 },
"algae": { elem1:"water", chance:0.05 },
"kelp": { elem1:"water", chance:0.05 },
"charcoal": { elem1:"water", chance:0.02 },
"gravel": { elem1:"water", chance:0.01 },
"fly": { elem2:"dead_bug", chance:0.1, oneway:true },
"firefly": { elem2:"dead_bug", chance:0.1, oneway:true },
"bee": { elem2:"dead_bug", chance:0.05, oneway:true },
"stink_bug": { elem2:"dead_bug", chance:0.1, oneway:true },
"dirty_water": { elem2:"bubble", attr2:{"clone":"microplastic_water"}, chance:0.001, tempMin:85 },
"microplastic_water": { elem2:"bubble", attr2:{"clone":"microplastic_water"}, chance:0.001, tempMin:85 },
"mudstone": { elem2: ["mud","mud","clay"], chance: 0.00035 },
"glass_shard": { elem2: "glass_pebble", color2:"#7BAECB", chance: 0.0005 },
"rad_shard": { elem2: "glass_pebble", color2:"#AECB83", chance: 0.00025 },
"glass": { elem2: "glass_pebble", color2:"#7BAECB", chance: 0.00005 },
"rad_glass": { elem2: "glass_pebble", color2:"#AECB83", chance: 0.000025 },
"rust": { elem1:"dirty_water", elem2: "rust_dust", chance: 0.0025 },
"plastic": { elem2: ["microplastic",null,null], chance: 0.00005 },
},
hidden: true,
state: "liquid",
density: 1018,
conduct: 0.075,
extinguish: true
}
elements.glass_fiber = {
color: ["#5e807d","#679e99"],
behavior: behaviors.POWDER,
reactions: {
"radiation": { elem1:"rad_glass_fiber", chance:0.33 },
"rad_steam": { elem1:"rad_glass_fiber", elem2:null, chance:0.33 },
"fallout": { elem1:"rad_glass_fiber", elem2:"radiation", chance:0.1 }
},
tempHigh: 1490,
stateHigh: "molten_glass",
category: "powders",
state: "solid",
density: 2500,
hidden: true
}
elements.rad_glass_fiber = {
color: ["#648c64","#6aad83"],
behavior: behaviors.RADPOWDER,
tempHigh: 1490,
stateHigh: "molten_rad_glass",
category: "powders",
state: "solid",
density: 2500,
hidden: true
}
elements.copper_debris = {
color: ["#a95232","#be4322","#c76035"],
behavior: behaviors.SUPPORT,
reactions: {
"blood": { elem1:"oxidized_copper", chance:0.01 },
"infection": { elem1:"oxidized_copper", chance:0.01 },
"antibody": { elem1:"oxidized_copper", chance:0.01 },
"fire": { elem1:"oxidized_copper", chance:0.0095 },
},
category: "powders",
tempHigh: 1085,
stateHigh: "molten_copper",
density: 8960,
conduct: 0.95,
hardness: 0.025,
fireColor: ["#07BA4F","#00BC5B","#00C2A9","#11B7E7","#C6F2EC"]
}
elements.silver_debris = {
color: "#cacaca",
behavior: behaviors.SUPPORT,
tempHigh: 961.8,
category: "powders",
density: 9297,
conduct: 0.99,
hardness: 0.25,
hidden: true
}
elements.iron_debris = {
color: ["#cbcdcd","#bdbdbd"],
behavior: behaviors.SUPPORT,
reactions: {
"water": { elem1:"rust", chance:0.003 },
"salt_water": { elem1:"rust", chance:0.01 },
"dirty_water": { elem1:"rust", chance:0.05 },
"pool_water": { elem1:"rust", chance:0.05 },
"sugar_water": { elem1:"rust", chance:0.004 },
"seltzer": { elem1:"rust", chance:0.007 },
"salt": { elem1:"rust", chance:0.005 },
"blood": { elem1:"rust", chance:0.004 },
"infection": { elem1:"rust", chance:0.004 },
"antibody": { elem1:"rust", chance:0.004 },
"fire": { elem1:"rust", chance:0.003 },
"coffee": { elem1:"rust", chance:0.0004 },
"tea": { elem1:"rust", chance:0.0004 },
"broth": { elem1:"rust", chance:0.0004 },
"juice": { elem1:"rust", chance:0.0004 },
"nut_milk": { elem1:"rust", chance:0.0004 },
},
breakInto: "iron_dust",
tempHigh: 1538,
category: "powders",
density: 7660,
conduct: 0.47,
hardness: 0.8,
darkText: true,
hidden: true
}
elements.steel_debris = {
color: ["#888f94","#71797e","#71797e","#71797e"],
grain: 0.75,
behavior: behaviors.SUPPORT,
reactions: {
"water": { elem1:"rust", chance:0.0025 },
"salt_water": { elem1:"rust", chance:0.005 },
"dirty_water": { elem1:"rust", chance:0.04 },
"pool_water": { elem1:"rust", chance:0.04 },
"sugar_water": { elem1:"rust", chance:0.0035 },
"seltzer": { elem1:"rust", chance:0.006 },
"salt": { elem1:"rust", chance:0.004 },
"blood": { elem1:"rust", chance:0.003 },
"infection": { elem1:"rust", chance:0.003 },
"antibody": { elem1:"rust", chance:0.003 },
"fire": { elem1:"rust", chance:0.0025 },
"coffee": { elem1:"rust", chance:0.0003 },
"tea": { elem1:"rust", chance:0.0003 },
"broth": { elem1:"rust", chance:0.0003 },
"juice": { elem1:"rust", chance:0.0003 },
"nut_milk": { elem1:"rust", chance:0.0003 },
},
breakInto: "iron_debris",
tempHigh: 1455.5,
category: "powders",
density: 7750,
conduct: 0.42,
hardness: 0.85,
hidden: true
}
elements.zinc_dust = {
color: ["#8d8c8e","#f6f6f1","#c7c7c5","#ccccca","#6b6a6a","#848382"],
behavior: behaviors.POWDER,
tempHigh: 419.53,
stateHigh: "molten_zinc",
category: "powders",
density: 7068,
conduct: 0.53,
hardness: 0.1,
fireColor: ["#91B797","#CAE4CA","#F1F2F0"],
superconductAt: -272.25
}
elements.tin_scrap = {
color: ["#9e9d98","#aeada4"],
behavior: behaviors.SUPPORT,
tick: function(pixel) {
if (pixel.temp < 13.2 && Math.random() < 0.0005) {
changePixel(pixel,"metal_scrap");
}
doDefaults(pixel)
},
tempHigh: 231.9,
stateHigh:"molten_tin",
category: "powders",
density: 7260,
conduct: 0.45,
hardness: 0.15,
superconductAt: -269.45
}
elements.aluminum_foil = {
color: ["#BEC4C6","#C8CFD0","#B1B1B4"],
reactions: {
"radiation": { elem2:"electric", temp1:200 }
},
behavior: behaviors.SUPPORT,
tempHigh: 660.3,
stateHigh: "molten_aluminum",
breakInto: "aluminum_dust",
category: "powders",
density: 2710,
conduct: 0.73,
fireColor: "#A7B3BF",
superconductAt: -271.95
}
elements.aluminum_dust = {
color: ["#BEC4C6","#C8CFD0","#B1B1B4"],
reactions: {
"radiation": { elem2:"electric", temp1:200 }
},
behavior: behaviors.POWDER,
tempHigh: 660.3,
stateHigh: "molten_aluminum",
category: "powders",
density: 2710,
conduct: 0.73,
fireColor: "#A7B3BF",
superconductAt: -271.95
}
elements.tungsten_scrap = {
color: ["#d4d3cd","#c3c0b8","#bcbaae","#625950"],
behavior: behaviors.SUPPORT,
tempHigh: 3422,
stateHigh: "molten_tungsten",
category: "powders",
density: 13300,
conduct: 0.35,
superconductAt: -270.65,
hardness: 0.5
}
elements.brass_scrap = {
color: ["#cb9e5d","#865e39"],
behavior: behaviors.SUPPORTPOWDER,
tempHigh: 927,
stateHigh: "molten_brass",
category: "powders",
density: 7550,
conduct: 0.22,
hardness: 0.1,
hidden: true
}
elements.bronze_coin = {
color: "#cd7f32",
behavior: behaviors.POWDER,
reactions: {
"water": { elem1:"oxidized_copper", chance:0.00125 },
"salt_water": { elem1:"oxidized_copper", chance:0.0025 },
"dirty_water": { elem1:"oxidized_copper", chance:0.02 },
"pool_water": { elem1:"oxidized_copper", chance:0.02 },
"sugar_water": { elem1:"oxidized_copper", chance:0.00175 },
"seltzer": { elem1:"oxidized_copper", chance:0.003 },
"blood": { elem1:"oxidized_copper", chance:0.0015 },
"infection": { elem1:"oxidized_copper", chance:0.0015 },
"antibody": { elem1:"oxidized_copper", chance:0.0015 },
},
tempHigh: 913,
stateHigh: "molten_bronze",
category: "powders",
density: 8150,
conduct: 0.44,
hardness: 0.15,
hidden: true
}
elements.gallium_shard = {
color: ["#b3b3b3","#cccccc","#dbdbdb"],
behavior: behaviors.POWDER,
tempHigh: 29.76,
stateHigh: "molten_gallium",
category: "powders",
density: 5100,
conduct: 0.05,
hardness: 0.15,
superconductAt: -272.15,
hidden: true
}
elements.pyrite_shard = {
color: ["#e8e0cb","#cdcaaf","#726a53","#8f835e","#bfb9a0",],
behavior: behaviors.POWDER,
tempHigh: 1182.5,
stateHigh: "molten_pyrite",
category: "powders",
density: 4900,
state: "solid",
conduct: 0.5,
hardness: 0.6,
hidden: true,
alias: "fool's gold coin"
}
elements.solder_debris = {
color: "#a1a19d",
behavior: behaviors.SUPPORTPOWDER,
tempHigh: 200,
stateHigh: "molten_solder",
category: "powders",
density: 8885,
conduct: 0.43,
hardness: 0.15,
hidden: true
}
elements.amber_shard = {
color: ["#b67f18","#c86305","#cf7a19","#e4ae3a"],
behavior: behaviors.POWDER,
tempHigh: 345,
stateHigh: ["dna","sugar","sugar","steam","smoke","smoke","smoke","smoke","smoke","smoke","sugar","sugar","steam","smoke","smoke","smoke","smoke","smoke","smoke","sugar","sugar","steam","smoke","smoke","smoke","smoke","smoke","smoke"],
category: "powders",
hidden: true,
density: 1250
}
elements.lead_dust = {
color: ["#6c6c6a","#838381"],
behavior: behaviors.POWDER,
reactions: {
"water": { elem2:"dirty_water", chance:0.5 },
"salt_water": { elem2:"dirty_water", chance:0.5 },
"sugar_water": { elem2:"dirty_water", chance:0.5 },
"seltzer": { elem2:"dirty_water", chance:0.5 },
"dye": { elem1:null, func:function(pixel1,pixel2){ pixel2.element = "lead_paint"
}, chance:0.5 },
},
tempHigh: 327.5,
category: "powders",
density: 8343,
conduct: 0.41,
fireColor: ["#DBD1E9","#D7E9F2","#9AB0D1"],
superconductAt: -265.95,
hidden: true
}
elements.lead_paint = {
color: ["#ff0000","#ff8800","#ffff00","#00ff00","#00ffff","#0000ff","#ff00ff"],
behavior: behaviors.LIQUID,
reactions: {
"water": { elem1:null, elem2:"dirty_water", chance:0.05 },
"salt_water": { elem1:null, elem2:"dirty_water", chance:0.05 },
"sugar_water": { elem1:null, elem2:"dirty_water", chance:0.05 },
"seltzer": { elem1:null, elem2:"dirty_water", chance:0.05 },
"dirty_water": { elem1:null, chance:0.05 },
"pool_water": { elem1:null, elem2:"water", chance:0.05 },
"bleach": { elem1:null, elem2:null, chance:0.05 },
"cell": { elem2:"dna", chance:0.0015 },
"blood": { elem2:"infection", chance:0.01 },
"antibody": { elem2:"blood", chance:0.025 },
"frog": { elem2:"meat", chance:0.05 },
"fish": { elem2:"meat", chance:0.05 },
"rat": { elem2:"rotten_meat", chance:0.05 },
"bird": { elem2:"rotten_meat", chance:0.05 },
"ant": { elem2:"dead_bug", chance:0.05 },
"fly": { elem2:"dead_bug", chance:0.05 },
"bee": { elem2:"dead_bug", chance:0.05 },
"stinkbug": { elem2:"dead_bug", chance:0.05 },
"firefly": { elem2:"dead_bug", chance:0.05 },
"plant": { elem2:"dead_plant", chance:0.05 },
"vine": { elem2:"dead_plant", chance:0.05 },
"cactus": { elem2:"dead_plant", chance:0.05 },
"sapling": { elem2:"dead_plant", chance:0.05 },
"grass": { elem2:"dead_plant", chance:0.05 },
"head": { func:behaviors.KILLPIXEL2, chance:0.005 },
},
viscosity: 900,
customColor: true,
stain: 0.69,
tempHigh: 100,
stateHigh: "smoke",
category: "liquids",
state: "liquid",
density: 1252,
stainSelf: true,
hidden: true
}
elements.nickels = {
color: "#6C7474",
behavior: behaviors.POWDER,
tempHigh: 1064,
stateHigh: "molten_nickel",
category: "powders",
state: "solid",
density: 19300,
conduct: 0.78,
hardness: 0.2
}
elements.iron_dust = {
color: ["#888f94","#71797e","#71797e"],
grain: 0.85,
behavior: behaviors.POWDER,
reactions: {
"water": { elem1:"rust_dust", chance:0.003 },
"salt_water": { elem1:"rust_dust", chance:0.01 },
"dirty_water": { elem1:"rust_dust", chance:0.05 },
"pool_water": { elem1:"rust_dust", chance:0.05 },
"sugar_water": { elem1:"rust_dust", chance:0.004 },
"seltzer": { elem1:"rust_dust", chance:0.007 },
"salt": { elem1:"rust_dust", chance:0.005 },
"blood": { elem1:"rust_dust", chance:0.004 },
"infection": { elem1:"rust_dust", chance:0.004 },
"antibody": { elem1:"rust_dust", chance:0.004 },
"fire": { elem1:"rust_dust", chance:0.003 },
"coffee": { elem1:"rust_dust", chance:0.0004 },
"tea": { elem1:"rust_dust", chance:0.0004 },
"broth": { elem1:"rust_dust", chance:0.0004 },
"juice": { elem1:"rust_dust", chance:0.0004 },
"nut_milk": { elem1:"rust_dust", chance:0.0004 },
},
tempHigh: 1538,
stateHigh: "molten_iron",
category: "powders",
density: 7560,
conduct: 0.47,
hardness: 0.4,
darkText: true,
hidden: true
}
elements.rust_dust = {
color: ["#ae551c","#bc6e39","#925f49"],
behavior: behaviors.POWDER,
tempHigh: 1538,
stateHigh: "molten_iron",
category: "powders",
state: "solid",
density: 5250,
conduct: 0.37,
hardness: 0.3,
alias: "iron oxide",
hidden: true
}
elements.concrete_rubble = {
color: ["#9E9E9E","#929292","#858585","#7F7F7F"],
behavior: behaviors.STURDYPOWDER,
category: "powders",
tempHigh: 1490,
stateHigh: "magma",
state: "solid",
density: 1650,
hardness: 0.3,
breakIntoColor: ["#9E9E9E","#929292","#858585","#7F7F7F","#e3e0df","#b1aba3","#74736d","#524b47"],
breakInto: "gravel",
hidden: true
}
elements.wood_scrap = {
color: ["#a0522d","#955637"],
behavior: behaviors.SUPPORT,
renderer: renderPresets.WOODCHAR,
tempHigh: 395,
stateHigh: ["ember","charcoal","fire","fire","fire"],
category: "powders",
burn: 5,
burnTime: 300,
burnInto: ["ember","charcoal","fire"],
state: "solid",
hardness: 0.15,
breakInto: "sawdust",
hidden: true
}
elements.bamboo_debris = {
color: ["#87B026","#8B9D2F",],
behavior: behaviors.SUPPORT,
tempHigh: 380,
stateHigh: ["ember","fire","fire","fire"],
burn: 10,
burnTime: 200,
burnInto: ["ember","fire","fire","fire"],
category: "powders",
state: "solid",
density: 686,
breakInto: ["sawdust","sawdust","sawdust","sawdust","sawdust","sawdust","sawdust","sawdust","sawdust","sawdust","sawdust","sawdust","sawdust","sawdust","sawdust","sawdust","sawdust","sawdust","sawdust","sawdust","sawdust","sawdust","sawdust","sawdust","sawdust","sawdust","sawdust","sawdust","bamboo_plant"],
hidden: true
}
elements.ground_meat = {
color: ["#A74142","#C05B50","#D67970","#AA4248"],
behavior: behaviors.SUPPORTPOWDER,
reactions: {
"dirty_water": { elem1:"rotten_meat", chance:0.1 },
"fly": { elem1:"rotten_meat", chance:0.2 },
"dioxin": { elem1:"rotten_meat", elem2:null, chance:0.1 },
"uranium": { elem1:"rotten_meat", chance:0.1 },
"cancer": { elem1:"rotten_meat", chance:0.1 },
"plague": { elem1:"rotten_meat", elem2:null, chance:0.3 },
"ant": { elem1:"rotten_meat", chance:0.1 },
"worm": { elem1:"rotten_meat", chance:0.1 },
"rat": { elem1:"rotten_meat", chance:0.3 },
"mushroom_spore": { elem1:"rotten_meat", chance:0.1 },
"mushroom_stalk": { elem1:"rotten_meat", chance:0.1 },
"mycelium": { elem1:"rotten_meat", chance:0.1 },
"hyphae": { elem1:"rotten_meat", chance:0.1 },
"mercury": { elem1:"rotten_meat", elem2:null, chance:0.2 },
"mercury_gas": { elem1:"rotten_meat", elem2:null, chance:0.1 },
"virus": { elem1:"rotten_meat", chance:0.1 },
"poison": { elem1:"rotten_meat", elem2:null, chance:0.5 },
"infection": { elem1:"rotten_meat", elem2:null, chance:0.1 },
"ink": { elem1:"rotten_meat", elem2:null, chance:0.1 },
"acid": { elem1:"rotten_meat", elem2:null, chance:0.5 },
"acid_gas": { elem1:"rotten_meat", chance:0.4 },
"cyanide": { elem1:"rotten_meat", elem2:null, chance:0.5 },
"cyanide_gas": { elem1:"rotten_meat", elem2:null, chance:0.5 },
"rotten_cheese": { elem1:"rotten_meat", chance:0.02 },
"fallout": { elem1:"rotten_meat", chance:0.2 },
"water": { elem2:"broth", tempMin:70 },
"salt_water": { elem2:"broth", tempMin:70 },
"sugar_water": { elem2:"broth", tempMin:70 },
"seltzer": { elem2:"broth", tempMin:70 },
"salt": { elem1:"cured_meat" },
"vinegar": { elem1:"cured_meat", chance:0.1 },
},
tempHigh: 100,
stateHigh: "cooked_meat",
tempLow: -18,
stateLow: "frozen_meat",
category:"food",
burn:15,
burnTime:200,
burnInto:"cooked_meat",
state: "solid",
density: 1019.5,
conduct: 0.2,
isFood: true,
hidden: true
}
elements.rotten_ground_meat = {
color: ["#BEA16A","#BE896A"],
behavior: [
"XX|CR:plague,stench,stench,stench,fly%0.25 AND CH:ground_meat>rotten_ground_meat%1 AND CH:meat>rotten_meat%1|XX",
"SP%99 AND CH:ground_meat>rotten_ground_meat%1 AND CH:meat>rotten_meat%1|XX|SP%99 AND CH:ground_meat>rotten_ground_meat%1 AND CH:meat>rotten_meat%1",
"M2|M1 AND CH:ground_meat>rotten_ground_meat%1 AND CH:meat>rotten_meat%1|M2",
],
reactions: {
"water": { elem2:"broth", tempMin:70, color2:"#d7db69" },
"salt_water": { elem2:"broth", tempMin:70, color2:"#d7db69" },
"sugar_water": { elem2:"broth", tempMin:70, color2:"#d7db69" },
"dirty_water": { elem2:"broth", tempMin:70, color2:"#d7db69" },
"seltzer": { elem2:"broth", tempMin:70, color2:"#d7db69" }
},
tempHigh: 300,
stateHigh: ["plague","ash","ammonia"],
category:"food",
hidden: true,
burn:12,
burnTime:200,
burnInto:["plague","ash","ammonia"],
state: "solid",
density: 1005,
conduct: 0.1,
isFood: true,
hidden: true
}
elements.cured_ground_meat = {
color: ["#C45452","#CD7873","#E09693","#C2585D"],
behavior: behaviors.SUPPORTPOWDER,
reactions: {
"water": { elem2:"broth", tempMin:70 },
"salt_water": { elem2:"broth", tempMin:70 },
"sugar_water": { elem2:"broth", tempMin:70 },
"seltzer": { elem2:"broth", tempMin:70 },
},
tempHigh: 100,
stateHigh: "cooked_meat",
category:"food",
burn:15,
burnTime:200,
burnInto:"cooked_meat",
state: "solid",
density: 1019.5,
conduct: 0.3,
isFood: true,
hidden: true
}
elements.frozen_ground_meat = {
color: ["#399e8f","#49baa9","#6cd2c6","#40a197"],
behavior: behaviors.POWDER,
temp: -18,
tempHigh: 0,
stateHigh: "meat",
category:"food",
hidden:true,
state: "solid",
density: 1067.5,
isFood: true,
noSnow: true
}
elements.scrap_paper = {
color: ["#ffffff","#e6e6e6"],
behavior: behaviors.POWDER,
reactions: {
"water": { elem1:"cellulose", elem2:null },
"dirty_water": { elem1:"cellulose", elem2:null },
"salt_water": { elem1:"cellulose", elem2:null },
"sugar_water": { elem1:"cellulose", elem2:null },
"seltzer": { elem1:"cellulose", elem2:null },
"soda": { elem1:"cellulose", elem2:null },
"blood": { elem1:"cellulose", elem2:null },
"foam": { elem1:"cellulose", elem2:null },
"bubble": { elem1:"cellulose", elem2:null },
"oil": { elem1:"cellulose", elem2:null },
"alcohol": { elem1:"cellulose", elem2:null },
"vinegar": { elem1:"cellulose", elem2:null },
"light": { stain1:"#ebdfa7" },
"oxygen": { stain1:"#ebdfa7" }
},
tempHigh: 248,
stateHigh: ["fire","fire","fire","fire","fire","ash"],
burn: 70,
burnTime: 300,
burnInto: ["fire","fire","fire","fire","fire","ash"],
category: "powders",
state: "solid",
density: 1195,
breakInto: "confetti",
breakIntoColor: ["#ffffff","#e6e6e6","#dbdbdb"],
hidden: true
}
elements.cloth_scrap = {
color: ["#F7F7F7","#F1F1F1","#E8E8E8","#CDCDCD","#e6e6e6","#dbdbdb"],
behavior: behaviors.WALL,
tick: function(pixel) {
behaviors.ABSORB(pixel,1,0.01);
},
onBreak: behaviors.RELEASE_MOISTURE,
onDelete: behaviors.RELEASE_MOISTURE,
reactions: {
"water":{}, "salt_water":{}, "sugar_water":{}, "dirty_water":{}, "pool_water":{}, "seltzer":{},
},
tempHigh: 405,
stateHigh: "fire",
burn: 6,
burnTime: 350,
burnInto: ["smoke","smoke","smoke","smoke","ash"],
category: "powders",
state: "solid",
breakInto: "dust",
movable:false,
breakIntoColor: ["#f7f7f7","#dbdbdb"],
hidden: true
}
elements.snow_nine = {
color: ["#C6E9F9","#CCF0FC","#D7FAFC"],
behavior: [
"XX|XX|XX",
"XX|CH:snow%0.5|XX",
"M2|M1|M2",
],
reactions: {
"water": { elem2: ["ice_nine","snow_nine"] },
"salt_water": { elem2: ["ice_nine","snow_nine"] },
"dirty_water": { elem2: ["ice_nine","snow_nine"] },
"sugar_water": { elem2: ["ice_nine","snow_nine"] },
"seltzer": { elem2: ["ice_nine","snow_nine"] },
"pool_water": { elem2: ["ice_nine","snow_nine"] },
"steam": { elem2: "snow_nine" },
"rain_cloud": { elem2: "snow_nine" },
"cloud": { elem2: "snow_nine" },
"snow_cloud": { elem2: "snow_nine" },
"hail_cloud": { elem2: ["ice_nine","snow_nine"] },
"thunder_cloud": { elem2: ["ice_nine","snow_nine"] },
"snow": { elem2: "snow_nine", chance: 0.05 },
"smog": { elem2: "snow_nine" },
"rad_steam": { elem2: "snow_nine" }
},
temp:-100,
category: "special",
state: "solid",
density: 917,
hidden: true,
excludeRandom: true
}
elements.antiice = {
color: "#EAEFF6",
behavior: behaviors.WALL,
category:"special",
tempHigh: 5,
stateHigh: "antifluid",
temp: -5,
state: "solid",
density: 100,
hidden: true
}
elements.antisnow = {
color: "#D8E8F3",
behavior: behaviors.AGPOWDER,
category:"special",
tempHigh: 18,
stateHigh: "antifluid",
temp: -5,
state: "solid",
density: 995,
hidden: true
}
elements.glass_pebble = {
color: ["#FF646D","#FFB26D","#FFF66D","#6DF66D","#6DF6FF","#6D64FF","#FF64FF"],
behavior: behaviors.POWDER,
tempHigh: 1700,
stateHigh: "molten_stained_glass",
breakInto: "color_sand",
category: "powders",
state: "solid",
density: 1602
}
elements.fiberglass = {
color: ["#ffbcd9","#FFA7A7"],
behavior: behaviors.STURDYPOWDER,
tick: function(pixel) {
behaviors.ABSORB(pixel,1,0.01);
},
onBreak: behaviors.RELEASE_MOISTURE,
onDelete: behaviors.RELEASE_MOISTURE,
reactions: {
"water":{}, "salt_water":{}, "sugar_water":{}, "dirty_water":{}, "pool_water":{}, "seltzer":{},
"molten_plastic":{elem1:"insulation", elem2:null},
},
tempHigh: 1612,
stateHigh: ["dioxin","dioxin","smoke","smoke","dioxin","microplastic","smoke","glass_fiber"],
category: "powders",
state: "solid",
hardness: 0.01,
breakInto: ["dust","microplastic","microplastic","dust","glass_fiber","dust","microplastic","microplastic","dust","glass_fiber","dioxin"],
insulate: true,
density: 64
},
elements.resin = {
color: ["#b67f18","#c86305"],
behavior: [
"XX|ST|XX",
"ST|XX|ST",
"XX|ST|XX",
],
reactions: {
"clay_shard": {elem1:null, elem2:"baked_clay"},
"porcelain_shard": {elem1:null, elem2:"porcelain"},
"ruins": {elem1:null, elem2:"rock_wall"},
"confetti": {elem1:null, elem2:"paper"},
"gold_coin": {elem1:null, elem2:"gold"},
"cellulose": {elem1:null, elem2:"paper"},
"feather": {elem1:null, elem2:"cloth"},
"rock": {elem1:null, elem2:"rock_wall"},
"brick_rubble": {elem1:null, elem2:"brick"},
"bead": {elem1:null, elem2:"plastic"},
"dirt": {elem1:null, elem2:"mudstone"},
"sand": {elem1:null, elem2:"packed_sand"},
"fly": {elem2:"dead_bug"},
"firefly": {elem2:"dead_bug"},
"ant": {elem2:"dead_bug"},
"rat": {elem2:"rotten_meat", chance:0.05},
"glass_shard": { elem2:"fiberglass", elem1:null, chance:0.001 },
"rad_shard": { elem2:"fiberglass", elem1:null, chance:0.0005 },
"glass_fiber": { elem2:"fiberglass", elem1:null, chance:0.05 },
"rad_glass_fiber": { elem2:"fiberglass", elem1:null, chance:0.025 },
"molten_glass": { elem2:"fiberglass", elem1:null, chance:0.25 },
"glass": { elem2:"fiberglass", elem1:null, tempMin: 1450, chance:0.025},
},
tick: function(pixel) {
if (pixelTicks - pixel.start > 500 && Math.random() < 0.1 && pixel.solid !== true && (isEmpty(pixel.x+1,pixel.y) || isEmpty(pixel.x-1,pixel.y) || isEmpty(pixel.x,pixel.y-1) || isEmpty(pixel.x,pixel.y+1))) {
pixel.solid = true
}
if (pixelTicks - pixel.start > 50 && !isEmpty(pixel.x+1,pixel.y,true) && !isEmpty(pixel.x-1,pixel.y,true) && !isEmpty(pixel.x,pixel.y-1,true) && !isEmpty(pixel.x,pixel.y+1,true)) {
pixel.start = pixelTicks
}
if (pixelTicks - pixel.start > 1500 && Math.random() < 0.1 && pixel.solid === true) {
changePixel(pixel,"dry_resin")
}
if (pixel.solid === true) {
if (pixel.start === pixelTicks) {return}
if (pixel.charge && elements[pixel.element].behaviorOn) {
pixelTick(pixel);
return;
}
if (pixel.sticking !== true) {tryMove(pixel,pixel.x,pixel.y+1);}
doDefaults(pixel);
}
else if (pixel.solid !== true) {
if (pixel.start === pixelTicks) {return}
if (pixel.charge && elements[pixel.element].behaviorOn) {
pixelTick(pixel);
return;
}
var viscMove = true;
if (elements[pixel.element].viscosity) {
viscMove = (Math.random()*100) < 100 / Math.pow(elements[pixel.element].viscosity, 0.25);
}
if (!viscMove) {
var move1Spots = [
0
]
}
else {
var move1Spots = [
1,0,-1
]
}
var moved = false;
for (var i = 0; i < move1Spots.length; i++) {
const j = Math.random()*move1Spots.length | 0;
const coord = move1Spots[j];
if (tryMove(pixel, pixel.x+coord, pixel.y+1)) { moved = true; break; }
move1Spots.splice(j, 1);
}
if (!moved) {
if (viscMove) {
if (Math.random() < 0.5) {
if (!tryMove(pixel, pixel.x+1, pixel.y)) {
tryMove(pixel, pixel.x-1, pixel.y);
}
} else {
if (!tryMove(pixel, pixel.x-1, pixel.y)) {
tryMove(pixel, pixel.x+1, pixel.y);
}
}
}
}
doDefaults(pixel);
}
},
onMix: function(pixel) {
pixel.start = pixelTicks;
},
tempHigh: 1713.05,
stateHigh: ["cyanide_gas","dioxin","smoke","smoke","smoke"],
category:"liquids",
state: "liquid",
viscosity: 3500,
density: 1400
}
elements.dry_resin = {
color: ["#77420D","#782E03"],
behavior: [
"XX|ST|XX",
"ST|XX|ST",
"XX|ST AND M1|XX",
],
tempHigh: 1713.05,
stateHigh: ["cyanide_gas","dioxin","smoke","smoke","smoke"],
burn: 1,
burnTime: 150,
burnInto: ["dioxin","dioxin","smoke","smoke","dioxin","dioxin","microplastic","smoke","smoke"],
breakInto: ["dust","microplastic","microplastic"],
category:"powders",
state: "solid",
density: 1401,
hidden: true,
}
elements.sap.reactions = {"glue": {elem2: "resin", elem1:[null,null,null,"resin"]}}
elements.plastic.breakInto = ["microplastic","bead","bead","bead"]
elements.amber.breakInto = "amber_shard"
elements.insulation.breakInto = ["microplastic","fiberglass","fiberglass","fiberglass","cloth_scrap","dust"]
elements.bead.breakInto = "microplastic"
elements.wire.breakInto = ["microplastic","microplastic","copper_debris","silver_debris","glass_fiber","copper_debris","silver_debris"]
elements.copper.breakInto = ["copper_debris"]
elements.silver.breakInto = ["silver_debris"]
elements.zinc.breakInto = ["zinc_dust"]
elements.tin.breakInto = ["tin_scrap"]
elements.tin.tick = function(pixel) {
if (pixel.temp < 13.2 && Math.random() < 0.0005) {
changePixel(pixel,"tin_scrap");
}
doDefaults(pixel)
}
elements.iron.breakInto = "iron_debris"
elements.lead.breakInto = "lead_dust"
elements.steel.breakInto = ["steel_debris","steel_debris","steel_debris","steel_debris","steel_debris","iron"]
elements.galvanized_steel.breakInto = ["steel","steel_debris"]
elements.rust.breakInto = ["rust_dust"]
elements.concrete.breakInto = ["concrete_rubble"]
elements.wood.breakInto = "wood_scrap"
elements.meat.breakInto = ["ground_meat"]
elements.cured_meat.breakInto = ["cured_ground_meat"]
elements.rotten_meat.breakInto = ["rotten_ground_meat"]
elements.frozen_meat.breakInto = ["frozen_ground_meat"]
elements.frozen_plant.noSnow = true
elements.paper.breakInto = ["scrap_paper"]
elements.paper.breakIntoColor = ["#ffffff","#e6e6e6"]
elements.cloth.breakInto = ["cloth_scrap"]
elements.bamboo.breakInto = ["bamboo_debris","bamboo_debris","bamboo_debris","bamboo_debris","bamboo_debris","bamboo_debris","bamboo_debris","bamboo_debris","bamboo_debris","bamboo_debris","bamboo_debris","bamboo_debris","bamboo_debris","bamboo_debris","bamboo_plant"]
elements.nickel.breakInto = ["nickels"]
elements.aluminum.breakInto = ["aluminum_foil"]
elements.tungsten.breakInto = ["tungsten_scrap"]
elements.brass.breakInto = ["brass_scrap"]
elements.bronze.breakInto = ["bronze_coin"]
elements.sterling.breakInto = ["silver_debris"]
elements.gallium.breakInto = ["gallium_shard"]
elements.pyrite.breakInto = ["pyrite_shard"]
elements.solder.breakInto = ["solder_debris"]
elements.straw.breakInto = ["flour","flour","dust"]
elements.ice_nine.breakInto = "snow_nine"
elements.art.breakInto = "dye"
elements.udder.breakInto = ["blood","blood","meat","meat","meat","meat","milk"]
elements.antiice.breakInto = "antisnow"
elements.antigas.stateHigh = {}
elements.antigas.tempHigh = {}
elements.wire.hardness = 0.2
elements.water.reactions.mudstone = { elem2: ["mud","mud","clay"], chance: 0.00035 }
elements.water.reactions.glass_shard = { elem2: "glass_pebble", color2:"#7BAECB", chance: 0.0005 }
elements.water.reactions.rad_shard = { elem2: "glass_pebble", color2:"#AECB83", chance: 0.00025 }
elements.water.reactions.glass = { elem2: "glass_pebble", color2:"#7BAECB", chance: 0.00005 }
elements.water.reactions.rad_glass = { elem2: "glass_pebble", color2:"#AECB83", chance: 0.000025 }
elements.water.reactions.rust = { elem1:"dirty_water", elem2: "rust_dust", chance: 0.0025 }
elements.water.reactions.rust_dust = { elem1:"dirty_water", chance: 0.0025 }
elements.water.reactions.plastic = { elem1: "microplastic_water", elem2: ["microplastic",null,null], chance: 0.00005 }
elements.salt_water.reactions.mudstone = { elem2: ["mud","mud","clay"], chance: 0.00035 }
elements.salt_water.reactions.glass_shard = { elem2: "glass_pebble", color2:"#7BAECB", chance: 0.0005 }
elements.salt_water.reactions.rad_shard = { elem2: "glass_pebble", color2:"#AECB83", chance: 0.00025 }
elements.salt_water.reactions.glass = { elem2: "glass_pebble", color2:"#7BAECB", chance: 0.00005 }
elements.salt_water.reactions.rad_glass = { elem2: "glass_pebble", color2:"#AECB83", chance: 0.000025 }
elements.salt_water.reactions.rust = { elem1:"dirty_water", elem2: "rust_dust", chance: 0.0025 }
elements.salt_water.reactions.rust_dust = { elem1:"dirty_water", chance: 0.0025 }
elements.salt_water.reactions.plastic = { elem1: "microplastic_water", elem2: ["microplastic",null,null], chance: 0.00005 }
elements.sugar_water.reactions.mudstone = { elem2: ["mud","mud","clay"], chance: 0.00035 }
elements.sugar_water.reactions.glass_shard = { elem2: "glass_pebble", color2:"#7BAECB", chance: 0.0005 }
elements.sugar_water.reactions.rad_shard = { elem2: "glass_pebble", color2:"#AECB83", chance: 0.00025 }
elements.sugar_water.reactions.glass = { elem2: "glass_pebble", color2:"#7BAECB", chance: 0.00005 }
elements.sugar_water.reactions.rad_glass = { elem2: "glass_pebble", color2:"#AECB83", chance: 0.000025 }
elements.sugar_water.reactions.rust = { elem1:"dirty_water", elem2: "rust_dust", chance: 0.0025 }
elements.sugar_water.reactions.rust_dust = { elem1:"dirty_water", chance: 0.0025 }
elements.sugar_water.reactions.plastic = { elem1: "microplastic_water", elem2: ["microplastic",null,null], chance: 0.00005 }
elements.dirty_water.reactions.mudstone = { elem2: ["mud","mud","clay"], chance: 0.00035 }
elements.dirty_water.reactions.glass_shard = { elem2: "glass_pebble", color2:"#7BAECB", chance: 0.0005 }
elements.dirty_water.reactions.rad_shard = { elem2: "glass_pebble", color2:"#AECB83", chance: 0.00025 }
elements.dirty_water.reactions.glass = { elem2: "glass_pebble", color2:"#7BAECB", chance: 0.00005 }
elements.dirty_water.reactions.rad_glass = { elem2: "glass_pebble", color2:"#AECB83", chance: 0.000025 }
elements.dirty_water.reactions.rust = { elem1:"dirty_water", elem2: "rust_dust", chance: 0.0025 }
elements.dirty_water.reactions.plastic = { elem1: "microplastic_water", elem2: ["microplastic",null,null], chance: 0.00005 }
elements.smash.tool = function(pixel) {
let old = pixel.element;
if (elements[pixel.element].breakInto || elements[pixel.element].onBreak) {
// times 0.25 if not shiftDown else 1
if (Math.random() > (elements[pixel.element].hardness || 0) * (shiftDown ? 0.25 : 1)) {
breakPixel(pixel);
}
}
else if (old === pixel.element && elements[pixel.element].movable && !isEmpty(pixel.x,pixel.y+1) && !paused) {
let x = 0; let y = 0;
if (Math.random() < 0.66) x = Math.random() < 0.5 ? 1 : -1;
if (Math.random() < 0.66) y = Math.random() < 0.5 ? 1 : -1;
tryMove(pixel,pixel.x+x,pixel.y+y)
}
}