This commit is contained in:
GGod 2024-03-04 14:59:20 +01:00
commit a030320d57
10 changed files with 1587 additions and 147 deletions

View File

@ -2,7 +2,7 @@
Created by SquareScreamYT <@918475812884344852> and RealerRaddler <@914371295561535508>
Thanks to Alice <@697799964985786450>, nousernamefound <@316383921346707468>, Adora the Transfem <@778753696804765696> and Fioushemastor <@738828785482203189> for helping :)
v1.7
v1.8
me trying to come up with stuff not in plants.js:
@ -11,10 +11,9 @@ Upcoming Features:
- spring onions
- soy sauce
- rice and porridge (white rice noodles)
- seaweed and agar
- seaweed and agar (makes juice into jelly)
- pigs, ham and bacon
- garlic
- msg
- stainless steel
- chili
- pepper plants
@ -25,7 +24,15 @@ Upcoming Features:
- cows and beef
- celery
- marshmallows, normal, cooked and burnt
- broccoli
- lime
- kiwi, guavas and lychees
- dragonfuits
- dates and figs
- avocados
- apricots and plums
- curry/chicken tikka masala
- raisins
- peaches
Changelog (v1.0)
- added chickens
@ -263,6 +270,16 @@ Changelog (v1.7)
Changelog (v1.8)
- added lime and lime juice
- added lime zest and slices
- added escargot
- added broccoli
- added broccoli stem, cut broccoli and broccoli seed
- added freeze drying and freeze dried fruits
- added soapy water
*/
@ -298,13 +315,53 @@ elements.knife = {
//if cutInto is an array, randomly pick one of its elements
if(cutInto instanceof Array) { cutInto = cutInto[Math.floor(Math.random() * cutInto.length)] };
//change pixel into the (chosen) element
//changePixel(pixel, cutInto)
if (shiftDown) {
if (Math.random() < 0.5) {
}
}
else if (!shiftDown) {
if (Math.random() < 0.1) {
changePixel(pixel, cutInto)
}
}
var thiselement = pixel.element;
if (elements[thiselement].cutIntoEmit && Math.random() < 0.1 && isEmpty(pixel.x,pixel.y-1)) {
createPixel(pixel.x,pixel.y-1,elements[thiselement].cutIntoEmit);
}
},
category:"tools",
canPlace: false,
desc: "Use on pixels to cut them, if possible."
}
elements.freeze_dry = {
color: "#3a65b5",
tool: function(pixel) {
if (elements[pixel.element].freezeDryInto !== undefined) {
if (Math.random() < 0.2) {
var freezeDryInto = elements[pixel.element].freezeDryInto;
if (Array.isArray(freezeDryInto)) {
freezeDryInto = freezeDryInto[Math.floor(Math.random() * freezeDryInto.length)];
}
if (freezeDryInto === null) {
deletePixel(pixel.x,pixel.y);
return;
}
var previouselement = pixel.element;
changePixel(pixel,freezeDryInto);
pixelTempCheck(pixel);
if (elements[previouselement].freezeDryIntoColor) {
pixel.color = pixelColorPick(pixel, elements[previouselement].freezeDryIntoColor);
}
}
}
},
category: "tools",
excludeRandom: true,
desc: "Use on pixels to freeze dry them, if possible."
}
eLists.JUICEMIXABLE = ["juice"];
elements.chicken = {
@ -360,12 +417,13 @@ elements.chicken = {
stateHigh: "cooked_chicken",
tempLow: -18,
stateLow: "frozen_meat",
breakInto: ["feather", "raw_chicken"],
breakInto: "raw_chicken",
burn:85,
burnTime:450,
state: "solid",
density: 1117,
conduct: 0.3,
cutInto: "raw_chicken",
};
elements.chicken_egg = {
@ -376,7 +434,7 @@ elements.chicken_egg = {
"M2%30|M1|M2%30",
],
tick: function(pixel) {
if (Math.random() < 0.1 && pixel.temp > 20) {
if (Math.random() < 0.1 && pixel.temp > 20 && pixel.temp < 35) {
changePixel(pixel,"chick")
}
doDefaults(pixel);
@ -983,6 +1041,8 @@ elements.apple = {
cutInto: "apple_slice",
state: "solid",
density: 1050,
freezeDryInto: "freeze_dried_fruits",
freezeDryIntoColor: "#cfc540",
}
elements.apple_slice = {
@ -1300,6 +1360,8 @@ elements.orange = {
cutInto: ["orange_slice","orange_slice","orange_slice","orange_slice","orange_peels"],
state: "solid",
density: 1050,
freezeDryInto: "freeze_dried_fruits",
freezeDryIntoColor: "#cf9f40",
}
elements.orange_slice = {
@ -1574,10 +1636,10 @@ elements.raw_salmon = {
behavior: behaviors.STURDYPOWDER,
category: "food",
state: "solid",
burnInto: "cook_salmon",
burnInto: "cooked_salmon",
temp:25,
tempHigh: 600,
stateHigh: ["ash", "smoke"],
tempHigh: 80,
stateHigh: "cooked_salmon",
isFood: true,
reactions: {
"smoke": {elem1: "smoked_salmon"},
@ -1654,8 +1716,8 @@ elements.raw_tuna = {
state: "solid",
temp:25,
burnInto: "cooked_tuna",
tempHigh: 600,
stateHigh: ["ash", "smoke"],
tempHigh: 80,
stateHigh: "cooked_tuna",
isFood: true,
reactions: {
"smoke": {elem1: "smoked_tuna"},
@ -1841,6 +1903,8 @@ elements.watermelon_flesh = {
state: "solid",
density: 1050,
hidden: true,
freezeDryInto: "freeze_dried_fruits",
freezeDryIntoColor: "#c43f33",
}
elements.watermelon_juice = {
@ -1868,35 +1932,7 @@ elements.watermelon_juice = {
};
eLists.JUICEMIXABLE.push("watermelon_juice");
elements.grape = {
color: ["#b84b65","#a10e69","#a10e95","#8a3eab"],
behavior: [
"XX|ST:vine|XX",
"ST:vine|XX|ST:vine",
"M2|M1|M2",
],
reactions: {
"radiation": { elem1:"explosion", chance:0.1, color1:"#291824" },
"rock": { elem1:"juice", chance:0.1, color1:"#291824" },
"concrete": { elem1:"juice", chance:0.1, color1:"#291824" },
"basalt": { elem1:"juice", chance:0.1, color1:"#291824" },
"limestone": { elem1:"juice", chance:0.1, color1:"#291824" },
"tuff": { elem1:"juice", chance:0.1, color1:"#291824" },
"water": { elem2:"juice", chance:0.005, color2:"#291824" },
"sugar_water": { elem2:"juice", chance:0.025, color2:"#291824" },
"acid": { elem1:"juice", color1:"#291824" },
"acid_gas": { elem1:"juice", color1:"#291824" },
},
innerColor: "#cc7492",
tempHigh: 256,
stateHigh: ["steam","sugar"],
category: "food",
state: "solid",
density: 825,
breakInto: "grape_juice",
ignoreAir: true,
isFood: true
},
elements.grape.breakInto = "grape_juice",
elements.grape_juice = {
color: "#6d2282",
@ -2279,6 +2315,8 @@ elements.cut_coconut = {
state: "solid",
density: 1050,
hidden: true,
freezeDryInto: "freeze_dried_fruits",
freezeDryIntoColor: "#ede9b9",
}
elements.coconut_juice = {
@ -2394,6 +2432,8 @@ elements.lemon = {
density: 1050,
isFood: true,
cutInto: ["lemon_zest","lemon_slice","lemon_slice","lemon_slice","lemon_slice"],
freezeDryInto: "freeze_dried_fruits",
freezeDryIntoColor: "#b8af4b",
}
elements.lemon_juice = {
@ -2633,6 +2673,8 @@ elements.carrot = {
state: "solid",
density: 1050,
hidden: true,
freezeDryInto: "freeze_dried_fruits",
freezeDryIntoColor: "#ba8125",
}
elements.carrot_juice = {
@ -2800,6 +2842,8 @@ elements.turnip = {
state: "solid",
density: 1050,
hidden: true,
freezeDryInto: "freeze_dried_fruits",
freezeDryIntoColor: "#79097d",
}
elements.turnip_juice = {
@ -2827,32 +2871,7 @@ elements.turnip_juice = {
};
eLists.JUICEMIXABLE.push("turnip_juice");
elements.corn = {
color: ["#f8d223","#d6ba2a","#f7f5ba","#dbd281","#cdb12d"],
tick: function(pixel) {
if (pixel.temp >= 180) {
changePixel(pixel,"popcorn");
if (isEmpty(pixel.x,pixel.y-1)) {
tryMove(pixel,pixel.x,pixel.y-1);
if (isEmpty(pixel.x-1,pixel.y)) { createPixel("pop",pixel.x-1,pixel.y) }
if (isEmpty(pixel.x+1,pixel.y)) { createPixel("pop",pixel.x+1,pixel.y) }
if (isEmpty(pixel.x,pixel.y-1)) { createPixel("pop",pixel.x,pixel.y-1) }
if (isEmpty(pixel.x,pixel.y+1)) { createPixel("pop",pixel.x,pixel.y+1) }
}
}
doDefaults(pixel)
},
category: "food",
burn: 10,
burnTime: 200,
breakInto: "corn_starch",
breakIntoColor: ["#ffe9a8","#ffecb3","#ffe28a"],
state: "solid",
density: 721,
seed: "corn_seed",
isFood: true,
movable: false,
}
elements.corn.breakInto ="corn_starch"
elements.corn_starch = {
color: ["#fcf2e1","#f2e7d3","#fcf3de"],
@ -2937,31 +2956,8 @@ elements.pancake_batter = {
hidden: true,
isFood: true
}
elements.sap = {
color: ["#b67f18","#c86305","#cf7a19","#e4ae3a"],
behavior: behaviors.LIQUID,
reactions: {
"dead_bug": { elem1:"amber", elem2:null, chance:0.1 },
"ant": { elem1:"amber", elem2:null, chance:0.1 },
"fly": { elem1:"amber", elem2:null, chance:0.1 },
"flea": { elem1:"amber", elem2:null, chance:0.1 },
"termite": { elem1:"amber", elem2:null, chance:0.1 },
"worm": { elem1:"amber", elem2:null, chance:0.1 },
"bee": { elem1:"amber", elem2:null, chance:0.1 },
"firefly": { elem1:"amber", elem2:null, chance:0.1 },
"stinkbug": { elem1:"amber", elem2:null, chance:0.1 },
"slug": { elem1:"amber", elem2:null, chance:0.1 },
"snail": { elem1:"amber", elem2:null, chance:0.1 },
},
tempHigh: 104,
stateHigh: ["maple_syrup","maple_syrup","maple_syrup","sap"],
tempLow: 0,
stateLowName: "amber",
category:"liquids",
state: "liquid",
viscosity: 15,
density: 1400
}
elements.sap.tempHigh = 104,
elements.sap.stateHigh = ["maple_syrup","maple_syrup","maple_syrup","sap"],
elements.maple_syrup = {
color: ["#fabb34","#facc34","#fabb34"],
behavior: behaviors.LIQUID,
@ -3157,7 +3153,8 @@ elements.strawberry = {
burnInto: "dead_plant",
breakInto: "strawberry_juice",
state: "solid",
density: 1050
density: 1050,
freezeDryInto: "freeze_dried_fruits",
}
elements.strawberry_juice = {
color: "#e03a3a",
@ -3183,41 +3180,15 @@ elements.strawberry_juice = {
tempLow: 0,
reactions: {
"sugar": { elem1:"strawberry_jam", elem2:null, chance:0.35 },
"milk": { elem1:"fruit_milk", elem2:null, chance:0.35, color1:"#f78888"},
},
};
eLists.JUICEMIXABLE.push("strawberry_juice");
elements.cream = {
color: "#f7f7f7",
behavior: behaviors.LIQUID,
onMix: function(cream1, cream2) {
elements.cream.onMix = function(cream1, cream2) {
if ((shiftDown && Math.random() < 0.01) || (elements[cream2.element].id === elements.cream.id && Math.random() < 0.1)) {
changePixel(cream1,"whipped_cream")
}
},
reactions: {
"dirt": { elem1: null, elem2: "mud" },
"sand": { elem1: null, elem2: "wet_sand" },
"clay_soil": { elem1: null, elem2: "clay" },
"melted_chocolate": { color1:"#664934", elem2:null },
"chocolate": { color1:"#664934", elem2:"melted_chocolate", chance:0.05 },
"juice": { elem1:"fruit_milk", elem2:null, chance:0.05 },
"soda": { elem1:"pilk", elem2:null, chance:0.1 },
"yolk": { elem1:"#eggnog", elem2:null, chance:0.1 },
"caramel": { color1:"#C8B39A", chance:0.05 },
"sugar": { elem2:null, chance:0.005},
},
viscosity: 1.5,
tempHigh: 1000,
stateHigh: ["smoke","smoke","smoke","steam","steam","calcium"],
tempLow: 0,
stateLow: "ice_cream",
stateLowColorMultiplier: 0.97,
category: "liquids",
hidden: true,
isFood: true,
state: "liquid",
density: 959.97,
}
elements.whipped_cream = {
color: "#fafafa",
@ -3548,7 +3519,9 @@ elements.blueberry = {
breakInto: "blueberry_juice",
state: "solid",
density: 1050,
cutInto: "cut_blueberry"
cutInto: "cut_blueberry",
freezeDryInto: "freeze_dried_fruits",
freezeDryIntoColor: "#33146e",
}
elements.blueberry_juice = {
color: "#5030a1",
@ -4180,7 +4153,9 @@ elements.banana = {
breakInto: "banana_juice",
state: "solid",
density: 1050,
cutInto: "cut_banana"
cutInto: "cut_banana",
freezeDryInto: "freeze_dried_fruits",
freezeDryIntoColor: "#c4b939",
}
elements.cut_banana = {
color: "#f2e56b",
@ -4198,7 +4173,9 @@ elements.cut_banana = {
breakInto: "banana_juice",
state: "solid",
density: 1050,
hidden: true
hidden: true,
freezeDryInto: "freeze_dried_fruits",
freezeDryIntoColor: "#c4b939",
}
elements.banana_juice = {
color: "#dbc440",
@ -4520,6 +4497,8 @@ elements.mango = {
cutInto: "cut_mango",
state: "solid",
density: 1050,
freezeDryInto: "freeze_dried_fruits",
freezeDryIntoColor: "#ccb50a",
}
elements.cut_mango = {
@ -4535,6 +4514,8 @@ elements.cut_mango = {
state: "solid",
density: 1050,
hidden: true,
freezeDryInto: "freeze_dried_fruits",
freezeDryIntoColor: "#ccb50a",
}
elements.mango_seed = {
@ -4647,7 +4628,9 @@ elements.pineapple = {
breakInto: "pineapple_juice",
state: "solid",
density: 1050,
temp:20
temp:20,
freezeDryInto: "freeze_dried_fruits",
freezeDryIntoColor: "#ccb90a",
}
elements.pineapple_seed = {
color: "#695531",
@ -4757,3 +4740,282 @@ elements.pineapple_juice = {
tempLow: 0
};
eLists.JUICEMIXABLE.push("pineapple_juice");
elements.lime = {
color: ["#549c2d","#4d9c22"],
behavior: behaviors.POWDER,
reactions: {
"vinegar": { elem1:"dead_plant", elem2:null, chance:0.035 },
"baking_soda": { elem1:"dead_plant", elem2:null, chance:0.01 },
"bleach": { elem1:"dead_plant", elem2:null, chance:0.05 },
"alcohol": { elem1:"dead_plant", elem2:null, chance:0.035 },
},
category:"food",
freezeDryInto: "freeze_dried_fruits",
freezeDryIntoColor: "#5eab24",
tempHigh: 100,
stateHigh: "dead_plant",
burn:65,
burnTime:60,
burnInto: "dead_plant",
breakInto: "lime_juice",
state: "solid",
density: 1050,
isFood: true,
cutInto: ["lime_zest","lime_slice","lime_slice","lime_slice","lime_slice"],
}
elements.lime_juice = {
color: "#85d14b",
onMix: function(pixel) {
if (shiftDown) {
if (Math.random() < 0.2) {
changePixel(pixel,"juice")
pixel.color = pixelColorPick(pixel,"#85d14b")
}
}
},
behavior: behaviors.LIQUID,
category: "liquids",
tempHigh: 100,
stateHigh: ["steam","sugar"],
burn: 70,
burnTime: 300,
burnInto: ["steam", "smoke"],
state: "liquid",
density: 825,
hidden: true,
temp: 30,
hidden: true,
tempLow: 0,
};
eLists.JUICEMIXABLE.push("lime_juice");
elements.lime_zest = {
color: "#4f9e13",
behavior: behaviors.POWDER,
category:"food",
tempHigh: 100,
stateHigh: ["sugar","steam"],
burn:65,
burnTime:60,
burnInto: "dead_plant",
state: "solid",
density: 1050,
hidden: true,
}
elements.lime_slice = {
color: "#8acc33",
behavior: behaviors.STURDYPOWDER,
category:"food",
tempHigh: 100,
stateHigh: ["sugar","steam"],
burn:65,
burnTime:60,
burnInto: "dead_plant",
breakInto: "lime_juice",
state: "solid",
density: 1050,
hidden: true,
}
elements.snail.reactions.nut_oil = { elem1: "escargot", chance:30, tempMin:50 }
elements.escargot = {
color: "#ab924d",
behavior: [
"XX|XX|XX",
"XX|XX|",
"M2%10|M1|M2%10",
],
tempHigh: 120,
stateHigh: "steam",
breakInto: "quicklime",
category: "food",
state: "solid",
density: 1500,
conduct: 0.16
}
elements.broccoli = {
color: ["#49a82f","#429929"],
behavior: [
"XX|XX|XX",
"XX|XX|XX",
"ST:broccoli_stem AND M2|ST:broccoli_stem AND M1|ST:broccoli_stem AND M2",
],
reactions: {
"vinegar": { elem1:"dead_plant", elem2:null, chance:0.035 },
"baking_soda": { elem1:"dead_plant", elem2:null, chance:0.01 },
"bleach": { elem1:"dead_plant", elem2:null, chance:0.05 },
"alcohol": { elem1:"dead_plant", elem2:null, chance:0.035 }
},
category:"food",
tempHigh: 100,
stateHigh: "dead_plant",
burn:65,
burnTime:60,
burnInto: "dead_plant",
breakInto: "dead_plant",
state: "solid",
isFood: true,
density: 1050,
cutInto: "cut_broccoli",
}
elements.broccoli_stem = {
color: ["#51c431","#45ba25"],
behavior: behaviors.STURDYPOWDER,
reactions: {
"vinegar": { elem1:"dead_plant", elem2:null, chance:0.035 },
"baking_soda": { elem1:"dead_plant", elem2:null, chance:0.01 },
"bleach": { elem1:"dead_plant", elem2:null, chance:0.05 },
"alcohol": { elem1:"dead_plant", elem2:null, chance:0.035 }
},
category:"food",
tempHigh: 100,
stateHigh: "dead_plant",
burn:65,
burnTime:60,
burnInto: "dead_plant",
cutInto: "cut_broccoli",
state: "solid",
density: 1050,
hidden: true,
}
elements.cut_broccoli = {
color: "#75d65a",
behavior: behaviors.POWDER,
category:"food",
tempHigh: 100,
stateHigh: "steam",
burn:65,
burnTime:60,
burnInto: "dead_plant",
state: "solid",
density: 1050,
hidden: true,
}
elements.broccoli_seed = {
color: "#9e8951",
tick: function(pixel) {
if (isEmpty(pixel.x,pixel.y+1)) {
movePixel(pixel,pixel.x,pixel.y+1);
}
else {
if (Math.random() < 0.2 && pixel.age > 50 && pixel.temp < 100) {
if (!outOfBounds(pixel.x,pixel.y+1)) {
var dirtPixel = pixelMap[pixel.x][pixel.y+1];
if (dirtPixel.element === "dirt" || dirtPixel.element === "mud" || dirtPixel.element === "sand" || dirtPixel.element === "wet_sand" || dirtPixel.element === "clay_soil" || dirtPixel.element === "mycelium") {
changePixel(dirtPixel,"root");
}
}
if (isEmpty(pixel.x,pixel.y-1) && isEmpty(pixel.x+1,pixel.y-1) && isEmpty(pixel.x-1,pixel.y-1)) {
changePixel(pixel,"broccoli_stem");
createPixel("broccoli",pixel.x,pixel.y-1);
createPixel("broccoli",pixel.x+1,pixel.y-1);
createPixel("broccoli",pixel.x-1,pixel.y-1);
}
}
else if (pixel.age > 1000) {
changePixel(pixel,"broccoli");
}
pixel.age++;
}
doDefaults(pixel);
},
properties: {
"age":0
},
tempHigh: 100,
stateHigh: "dead_plant",
tempLow: -2,
stateLow: "frozen_plant",
burn: 65,
burnTime: 15,
category: "life",
state: "solid",
density: 1500,
cooldown: defaultCooldown,
seed: true,
behavior: [
"XX|XX|XX",
"XX|XX|XX",
"XX|M1|XX",
],
};
elements.freeze_dried_fruits = {
color: "#ab1f31",
behavior: behaviors.POWDER,
tempHigh: 550,
stateHigh: "ash",
category: "food",
burn: 15,
burnTime: 200,
burnInto: ["smoke","smoke","smoke","ash"],
state: "solid",
density: 233.96,
isFood: true,
}
elements.grape.freezeDryInto = "freeze_dried_fruits"
elements.grape.freezeDryIntoColor = "#5d156b"
elements.soapy_water = {
color: "#72b8f2",
behavior: [
"XX|CR:bubble%0.25|XX",
"M2%50|XX|M2%50",
"M2%50|M1|M2%50",
],
tempHigh: 100,
stateHigh: "steam",
tempLow: 0,
category: "liquids",
heatCapacity: 4.184,
reactions: {
"dirt": {elem1: null,elem2: "mud"},
"sand": { elem1: null, elem2: "wet_sand" },
"clay_soil": { elem1: null, elem2: "clay" },
"salt": { elem1: "salt_water", elem2: null, temp1:-20 },
"dust": { elem2: null, elem2: null },
"plague": { elem2: null, elem2: null },
"rust": { elem1: "iron", chance:0.005 },
"fallout": {elem2: null, chance:0.25 },
"radiation": { elem2: null, chance:0.25 },
"uranium": { elem2: null, chance:0.25 },
"rotten_meat": { elem2: "meat", chance:0.25 },
"rotten_cheese": { elem2: "cheese", chance:0.25 },
"cancer": { elem2: null, chance:0.25 },
"oil": { elem2: null, chance:0.005 },
"dioxin": { elem1: "dirty_water", chance:0.1 },
"quicklime": { elem1: "slaked_lime", elem2: "slaked_lime", temp2:100, temp1:100, chance:0.05 },
"rock": { elem2: "wet_sand", chance: 0.00035 },
"limestone": { elem2: "wet_sand", chance: 0.00035 },
"tuff": { elem2: "wet_sand", color2:"#7a6b5c", chance: 0.00035 },
"mudstone": { elem2: "mud", chance: 0.00035 },
"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 },
"cured_meat": {elem2:"meat" },
},
state: "liquid",
density: 997,
conduct: 0.02,
stain: -1,
extinguish: true
}
elements.soap.behavior = behaviors.STURDYPOWDER
elements.soap.state = "solid"
elements.soap.category = "powders"
elements.soap.reactions.water = {elem2: "soapy_water", elem1: null, chance: 10}
/*
if ([pixel.element].stain < 0 && [pixel.element] != "soap" && [pixel.element] != "soapy_water") {
[pixel.element].stain = [pixel.element].stain/10
}
*/

85
mods/dogs.js Normal file
View File

@ -0,0 +1,85 @@
elements.dog_food = {
color: ["#402101", "#1f1001", "#2e1701", "#2b1601", "#261604"],
behavior: behaviors.STURDYPOWDER,
category: "food",
state: "solid",
tempHigh: 500,
stateHigh: "ash",
isFood: true,
};
elements.ice_cube = {
color: ["#ccf4ff", "#c6e3f5", "#b6d1f2",],
behavior: [
"XX|XX|XX",
"XX|XX|XX",
"XX|M1|XX"
],
category: "food",
state: "solid",
temp: -5,
tempHigh: 0,
stateHigh: "water",
isFood: true,
};
elements.dog_with_rabies = {
color: ["#c7a950", "#f7f6eb", "#152617", "#665d20", "#454420" ],
behavior: [
"XX|XX|XX",
"M2%25|LB:foam%25|M2%25",
"M2|M1|M2"
],
reactions: {
"meat": {elem2:null, chance:0.5, func:behaviors.FEEDPIXEL },
"egg": {elem2:null, chance:0.5, func:behaviors.FEEDPIXEL },
"yolk": {elem2:null, chance:0.5, func:behaviors.FEEDPIXEL },
"cheese": {elem2:null, chance:0.5, func:behaviors.FEEDPIXEL },
"ice_cube": {elem2:null, chance:0.8, func:behaviors.FEEDPIXEL },
"cooked_meat": {elem2:null, chance:0.5, func:behaviors.FEEDPIXEL },
"chocolate": {elem2:null, chance: 0.2, func:behaviors.FEEDPIXEL, elem1: "rotten_meat"},
"grape": {elem2:null, chance: 0.2, func:behaviors.FEEDPIXEL, elem1: "rotten_meat"},
"rat": {elem2:null, chance: 0.3, func:behaviors.FEEDPIXEL },
"dog_food": {elem2:null, chance: 0.8, func:behaviors.FEEDPIXEL },
"nut_butter": {elem2:null, chance: 0.5, func:behaviors.FEEDPIXEL },
},
category:"life",
state:"solid",
tempHigh: 100,
stateHigh: "cooked_meat",
breakInto: "rotten_meat",
tempLow: -20,
stateLow: "frozen_meat",
hidden: true,
};
elements.dog = {
color: ["c78950", "#ffffff", "#262524", "#664120", "#453120" ],
behavior: [
"XX|XX|XX",
"M2%7|XX|M2%7",
"M2|M1|M2"
],
reactions: {
"meat": {elem2:null, chance:0.5, func:behaviors.FEEDPIXEL },
"egg": {elem2:null, chance:0.5, func:behaviors.FEEDPIXEL },
"yolk": {elem2:null, chance:0.5, func:behaviors.FEEDPIXEL },
"cheese": {elem2:null, chance:0.5, func:behaviors.FEEDPIXEL },
"ice_cube": {elem2:null, chance:0.8, func:behaviors.FEEDPIXEL },
"cooked_meat": {elem2:null, chance:0.5, func:behaviors.FEEDPIXEL },
"chocolate": {elem2:null, chance: 0.2, func:behaviors.FEEDPIXEL, elem1: "rotten_meat"},
"grape": {elem2:null, chance: 0.2, func:behaviors.FEEDPIXEL, elem1: "rotten_meat"},
"rat": {elem2:null, chance: 0.3, func:behaviors.FEEDPIXEL },
"dog_food": {elem2:null, chance: 0.8, func:behaviors.FEEDPIXEL },
"nut_butter": {elem2:null, chance: 0.5, func:behaviors.FEEDPIXEL },
"infection": {elem1:"dog_with_rabies", chance:0.4 },
"dog_with_rabies": {elem1:"dog_with_rabies", chance:0.3},
},
category:"life",
state:"solid",
tempHigh: 100,
stateHigh: "cooked_meat",
breakInto: "rotten_meat",
tempLow: -20,
stateLow: "frozen_meat",
};

44
mods/franklin.js Normal file
View File

@ -0,0 +1,44 @@
/*
function close_window() {
if (confirm("Reflect Test?")) {
close();
}
}
*/
elements.franklin_badge = { //basic element properties
color: "#0300b0",
behavior: behaviors.WALL,
category: "special",
insulate: true,
hardness: 1,
noMix: true,
tick: function(pixel){
if (!isEmpty(pixel.x, pixel.y-1, true)){
if (pixelMap[pixel.x][pixel.y-1].element === "lightning") {
//console.log("holy shit oh wow")
//close_window
//close();
//window.open('','_self').close();
//window.location = "https://www.youtube.com/watch?v=dQw4w9WgXcQ";
var delayInMilliseconds = 60; //1 second
setTimeout(function() {
window.open("https://www.youtube.com/watch?v=dQw4w9WgXcQ", "_blank");
}, delayInMilliseconds);
}
}
}
};
/*
behaviors.franklin_badge.tick = function(pixel) {
if (pixel.y-1 == "lightning") {
console.log("Lightning detected")
}
};
*/

File diff suppressed because one or more lines are too long

541
mods/kopalstuff.js Normal file
View File

@ -0,0 +1,541 @@
/*
Also checkout sbstuff.js by sb! Without it, this mod wouldn't be possible!
Discords of people that helped me:
usecit - UseCit.psd
nousernamefound - nousernamefound
pixelegend4 - pixelegend4
Credits:
Saschas - Waterpowder idea
Fantasy Elements - Phoenix idea
*/
elements.sweetwater = {
color: "#8ae7eb",
behavior: behaviors.LIQUID,
category: "kopal",
state: "liquid",
tempHigh: 100,
stateHigh: "water",
reactions: {
"sugar": { elem1: null, elem2: "syrup" }
},
};
elements.syrup = {
color: "#d9d2c3",
behavior: behaviors.LIQUID,
category: "kopal",
state: "liquid",
tempHigh: 100,
stateHigh: "fire",
reactions: {
"cell": {elem1: null, elem2: "incubationjuice"}
}
};
elements.orangesoda = {
color: "#b8820d",
behavior: behaviors.LIQUID,
category: "kopal",
state: "liquid",
tempHigh: 100,
stateHigh: "water",
reactions: {
"deadflyingcreature": { elem1: "dirty_orangesoda" },
"deadcreature": { elem1: "dirty_orangesoda" },
"dirty_water": { elem1: "dirty_orangesoda" },
"infection": { elem1: "dirty_orangesoda" },
"dirty_orangesoda": { elem1: "dirty_orangesoda" },
}
};
elements.dirty_orangesoda = {
color: "#20991a",
behavior: behaviors.LIQUID,
category: "kopal",
state: "liquid",
tempHigh: 80,
stateHigh: "orangesoda",
};
elements.orange = {
color: "#eda813",
behavior: behaviors.POWDER,
category: "kopal",
state: "powder",
breakInto: "juice",
tempHigh: 100,
stateHigh: "charcoal",
reactions: {
"syrup": { elem1: null, elem2: "orangesoda" }
},
};
elements.incubationjuice = {
color: "#daf5ef",
behavior: behaviors.LIQUID,
category: "kopal",
state: "liquid",
breakInto: "blood",
reactions: {
"flydna": { elem1: "blood", elem2: "flyingcreature"},
"antdna": { elem1: "blood", elem2: "creature"},
"phoenixdna": { elem1: "blood", elem2: "artificialphoenix"},
"alcohol": { elem1: "cancer", elem2: "antiartificialjuice"}
},
};
elements.creature = {
color: "#d073d9",
behavior: behaviors.CRAWLER,
category: "kopal",
state: "crawler",
tempHigh: 175,
stateHigh: "deadcreature",
breakInto: "deadcreature",
reactions: {
"ant": { elem2: "meat" },
"meat": { elem2: "creature" },
"artificialmeat": { elem2: "cell" },
"syrup": { elem2: "creature" },
"cell": { elem2: "creature" },
},
};
elements.flyingcreature = {
color: "#d073d9",
behavior: behaviors.FLY,
category: "kopal",
state: "fly",
tempHigh: 175,
stateHigh: "deadflyingcreature",
breakInto: "deadflyingcreature",
reactions: {
"fly": { elem2: "meat" },
"meat": { elem2: "flyingcreature" },
"artificialmeat": { elem2: "cell" },
"syrup": { elem2: "flyingcreature" },
"cell": { elem2: "flyingcreature" },
},
};
elements.artificialphoenix = {
color: "#c40052",
behavior: behaviors.FLY,
category: "kopal",
state: "fly",
temp: 149,
breakInto: "deadflyingcreature",
reactions: {
"fly": { elem2: "artificialphoenix" },
"flyingcreature": { elem2: "artificialphoenix" },
"meat": { elem2: "artificialphoenix" },
"artificialmeat": { elem2: "artificialphoenix" },
"syrup": { elem2: "artificialphoenix" },
},
};
elements.phoenix = {
color: "#ff0000",
behavior: behaviors.FLY,
category: "kopal",
state: "fly",
temp: 999,
breakInto: "phoenixdna",
reactions: {
"fly": { elem2: "meat" },
"meat": { elem2: "phoenix" },
"alcohol": { elem1: "blood" , elem2: "phoenixdna" },
},
};
elements.deadcreature = {
color: "#86428c",
behavior: behaviors.POWDER,
category: "kopal",
state: "powder",
tempHigh: 225,
stateHigh: "smoke",
breakInto: "artificialmeat",
reactions: {
"antiartificialjuice": { elem1: "artificialmeat", elem2: "dna" },
"ant": { elem1: "artificialmeat" },
},
};
elements.deadflyingcreature = {
color: "#86428c",
behavior: behaviors.POWDER,
category: "kopal",
state: "powder",
tempHigh: 225,
stateHigh: "smoke",
breakInto: "artificialmeat",
reactions: {
"antiartificialjuice": { elem1: "artificialmeat", elem2: "dna" },
"fly": { elem1: "artificialmeat" },
},
};
elements.artificialmeat = {
color: "#b38a5f",
behavior: behaviors.POWDER,
category: "kopal",
state: "powder",
tempHigh: 215,
stateHigh: "smoke",
reactions: {
"antiartificialjuice": { elem1: null, elem2: null },
"ant": { elem1: null },
"rat": { elem1: null },
},
};
elements.antiartificialjuice = {
color: "#b38a5f",
behavior: behaviors.LIQUID,
category: "kopal",
state: "liquid",
tempHigh: 215,
stateHigh: "smoke",
reactions: {
"flyingcreature": { elem1: "alcohol", elem2: "deadflyingcreature" },
"creature": { elem1: "alcohol", elem2: "deadcreature" },
"artificialphoenix": { elem1: "alcohol", elem2: "deadflyingcreature" },
},
};
elements.antiartificialspray = {
color: "#b38a5f",
behavior: behaviors.DGAS,
category: "kopal",
state: "gas",
tempHigh: 215,
density: 4000,
stateHigh: "smoke",
reactions: {
"flyingcreature": { elem1: "alcohol", elem2: "deadflyingcreature" },
"creature": { elem1: "alcohol", elem2: "deadcreature" },
"artificialphoenix": { elem1: "alcohol", elem2: "deadflyingcreature" },
},
};
elements.antdna = {
color: "#b38a5f",
behavior: behaviors.POWDER,
category: "kopal",
state: "powder",
tempHigh: 215,
stateHigh: "smoke",
};
elements.phoenixdna = {
color: "#a82a2a",
behavior: behaviors.POWDER,
category: "kopal",
state: "powder",
};
elements.flydna = {
color: "#b38a5f",
behavior: behaviors.POWDER,
category: "kopal",
state: "powder",
tempHigh: 215,
stateHigh: "smoke",
};
elements.waterpowder = {
color: elements.water.color,
behavior: behaviors.POWDER,
category: "kopal",
state: "powder",
tempHigh: 40,
stateHigh: "water",
};
elements.waterpowderer = {
color: "#e3e1dc",
behavior: behaviors.POWDER,
category: "kopal",
state: "powder",
reactions: {
"water": { elem1: null, elem2: "waterpowder" }
}
};
elements.antiartificialcancer = {
color: "#b38a5f",
behavior: [
"XX|CL%1|XX",
"CL%1|XX|CL%1",
"M2%2|M1|M2%2",
],
reactions: {
"artificialmeat": { elem2:"antiartificialcancer", chance:0.05 },
"creature": { elem2:"antiartificialcancer", chance:0.05 },
"flyingcreature": { elem2:"antiartificialcancer", chance:0.05 },
"artificialphoenix": { elem2:"antiartificialcancer", chance:0.05 },
"cancer": { elem2:"antiartificialcancer", chance:0.5 },
},
tempHigh: 185,
stateHigh: "smoke",
tempLow: -10,
stateLow: "syrup",
state: "solid",
density: 1000.2,
category: "kopal",
};
elements.anticancer = {
color: "#e3e1dc",
behavior: behaviors.LIQUID,
category: "kopal",
state: "liquid",
tempLow: -10,
stateLow: "syrup",
reactions: {
"cancer": { elem1: null, elem2: "anticancer" },
"antiartificialcancer": { elem1: null, elem2: "anticancer" }
}
};
elements.fire_spirit = {
color: ["#fc5a03", "#fc2803", "#fc9d03"],
behavior: behaviors.FLY,
category: "spirits",
state: "solid",
temp: 50,
reactions: {
"air_spirit": { elem2: null},
"cursed_spirit": { elem1: null},
"earth_spirit": { elem1: null},
"water_spirit": { elem2: null},
}
};
elements.water_spirit = {
color: ["#0390fc", "#035afc", "#0318fc"],
behavior: behaviors.FLY,
category: "spirits",
state: "solid",
reactions: {
"fire_spirit": { elem1: null},
"cursed_spirit": { elem1: null},
"earth_spirit": { elem2: null},
}
};
elements.earth_spirit = {
color: ["#915a00", "#784b02", "#573602"],
behavior: behaviors.FLY,
category: "spirits",
state: "solid",
reactions: {
"fire_spirit": { elem2: null},
"cursed_spirit": { elem1: null},
"water_spirit": { elem1: null},
}
};
elements.air_spirit = {
color: ["#c7eded", "#99bdbd", "#6a9494"],
behavior: behaviors.FLY,
category: "spirits",
state: "solid",
reactions: {
"fire_spirit": { elem1: null},
"cursed_spirit": { elem2: null},
"water_spirit": { elem1: null},
"earth_spirit": { elem1: null},
}
};
elements.cursed_spirit = {
color: ["#c404ae", "#aa04c4", "#7e04c4"],
behavior: behaviors.FLY,
category: "spirits",
state: "solid",
reactions: {
"fire_spirit": { elem2: null},
"air_spirit": { elem1: null},
"water_spirit": { elem2: null},
"earth_spirit": { elem2: null},
}
};
elements.cursed_powder_lvl1 = {
color: ["#c404ae", "#aa04c4", "#7e04c4"],
behavior: behaviors.POWDER,
category: "spirits",
state: "solid",
reactions: {
"cursed_spirit": { elem1: null},
}
};
elements.cursed_powder_lvl2 = {
color: ["#c404ae", "#aa04c4", "#7e04c4"],
behavior: behaviors.POWDER,
category: "spirits",
state: "solid",
reactions: {
"cursed_spirit": { elem2: null},
}
};
elements.soul_spirit = {
color: ["#0af7e0", "#0ac8f7", "#0a9cf7"],
behavior: behaviors.FLY,
category: "spirits",
state: "solid",
reactions: {
"fire_spirit": { elem2: null},
"cursed_spirit": { elem2: null},
"water_spirit": { elem2: null},
"earth_spirit": { elem2: null},
"air_spirit": { elem2: null},
}
};
elements.soul_powder = {
color: "#2e363b",
behavior: behaviors.POWDER,
category: "spirits",
state: "solid",
reactions: {
"awakening_powder": { elem1: "soul_spirit", elem2: null},
}
};
elements.cursed_powder = {
color: "#2e363b",
behavior: behaviors.POWDER,
category: "spirits",
state: "solid",
reactions: {
"awakening_powder": { elem1: "cursed_spirit", elem2: null},
}
};
elements.air_powder = {
color: "#2e363b",
behavior: behaviors.POWDER,
category: "spirits",
state: "solid",
temp: -10,
reactions: {
"awakening_powder": { elem1: "air_spirit", elem2: null},
}
};
elements.water_powder = {
color: "#2e363b",
behavior: behaviors.POWDER,
category: "spirits",
state: "solid",
reactions: {
"awakening_powder": { elem1: "water_spirit", elem2: null},
}
};
elements.fire_powder = {
color: "#2e363b",
behavior: behaviors.POWDER,
category: "spirits",
state: "solid",
reactions: {
"awakening_powder": { elem1: "fire_spirit", elem2: null},
}
};
elements.wandering_spirit = {
color: "#b1b7ba",
behavior: behaviors.FLY,
category: "spirits",
state: "solid",
reactions: {
"fire_spirit": { elem1: null},
"cursed_spirit": { elem1: null},
"water_spirit": { elem1: null},
"earth_spirit": { elem1: null},
"air_spirit": { elem1: null},
"soul_spirit": { elem1: null},
}
};
elements.unawaken_powder = {
color: "#696b6b",
behavior: behaviors.POWDER,
category: "spirits",
state: "solid",
reactions: {
"fire_spirit": { elem1: null, elem2: "fire_powder" },
"cursed_spirit": { elem1: null, elem2: "cursed_powder" },
"water_spirit": { elem1: null, elem2: "water_powder" },
"earth_spirit": { elem1: null, elem2: "earth_powder" },
"air_spirit": { elem1: null, elem2: "air_powder" },
"soul_spirit": { elem1: null, elem2: "soul_powder" },
}
};
elements.awakening_powder = {
color: "#696b6b",
behavior: behaviors.POWDER,
category: "spirits",
state: "solid",
reactions: {
"fire_powder": { elem1: null, elem2: "fire_spirit" },
"cursed_powder": { elem1: null, elem2: "cursed_spirit" },
"water_powder": { elem1: null, elem2: "water_spirit" },
"earth_powder": { elem1: null, elem2: "earth_spirit" },
"air_powder": { elem1: null, elem2: "air_spirit" },
"soul_powder": { elem1: null, elem2: "soul_spirit" },
}
};
elements.ant.breakInto = "antdna"
elements.fly.breakInto = "flydna"
elements.water.reactions["sugar"] = { elem1: null, elem2: "sweetwater" };
elements.water.reactions["deadflyingcreature"] = { elem1: "dirty_water"};
elements.water.reactions["deadcreature"] = { elem1: "dirty_water"};
elements.water.reactions["dirty_water"] = { elem1: "dirty_water"};
elements.ant.reactions["alcohol"] = { elem1: "antdna", elem2: null };
elements.fly.reactions["alcohol"] = { elem1: "flydna", elem2: null };

71
mods/lost_souls.js Normal file
View File

@ -0,0 +1,71 @@
elements.ghost_particle = {
color: "#d9d2d0",
behavior: behaviors.GAS,
category: "soul",
state: "gas",
};
elements.soul_fish = {
color: ["#808080","#a52a2a"],
category: "soul",
behavior: [
"XX|CR:flash|XX",
"CR:flash AND M2|XX|CR:flash AND M2",
"M1|CR:flash AND M1|M1",
],
reactions: {
"algae": { elem2:null, chance:0.25, func:behaviors.FEEDPIXEL },
"plant": { elem2:null, chance:0.125, func:behaviors.FEEDPIXEL },
"fly": { elem2:null, chance:0.4, func:behaviors.FEEDPIXEL },
"firefly": { elem2:null, chance:0.6, func:behaviors.FEEDPIXEL },
"worm": { elem2:null, chance:0.25, func:behaviors.FEEDPIXEL },
"tadpole": { elem2:null, chance:0.25, func:behaviors.FEEDPIXEL },
"oxygen": { elem2:"carbon_dioxide", chance:0.5 },
"dead_bug": { elem2:null, chance:0.2, func:behaviors.FEEDPIXEL },
"broth": { elem2:"water", chance:0.2, func:behaviors.FEEDPIXEL },
"slug": { elem2:null, chance:0.2, func:behaviors.FEEDPIXEL },
"herb": { elem2:null, chance:0.15, func:behaviors.FEEDPIXEL },
"lettuce": { elem2:null, chance:0.15, func:behaviors.FEEDPIXEL },
"dead_plant": { elem2:null, chance:0.15, func:behaviors.FEEDPIXEL },
"lichen": { elem2:null, chance:0.1, func:behaviors.FEEDPIXEL },
"yeast": { elem2:null, chance:0.15, func:behaviors.FEEDPIXEL },
"yogurt": { elem2:null, chance:0.15, func:behaviors.FEEDPIXEL },
"tea": { elem2:null, chance:0.2, func:behaviors.FEEDPIXEL },
"yolk": { elem2:null, chance:0.15, func:behaviors.FEEDPIXEL },
"cell": { elem2:null, chance:0.15, func:behaviors.FEEDPIXEL },
"crumb": { elem2:null, chance:0.1, func:behaviors.FEEDPIXEL },
"alcohol": { elem1:"meat", chance:0.001 },
}
};
elements.soul_anger_block = {
color: ["#eb4034","#ed2415"],
category: "soul",
behavior: [
"HT|HT|HT",
"CR:heat_ray|HT|CR:heat_ray",
"HT|CR:heat_ray|HT",
],
};
elements.soul_dirt = {
color: ["#999a98", "#e6e7e2", "#dddcda"],
behavior: behaviors.POWDER,
properties: {
"methaned": false,
"age": 0
},
tick: function(pixel) {
if(pixel.age > 6) {
if(!pixel.methaned && Math.random() < 0.2) {
changePixel("ghost_particle",pixel.x,pixel.y);
} else {
pixel.methaned = true;
};
createPixel("ghost_particle",pixel.x,pixel.y);
};
pixel.age++
},
category: "soul",
state: "powder",
density: 1050,
excludeRandom: true,
};

View File

@ -1,5 +1,34 @@
// changelog for more_gold.js
// initial release
//1.0 update
// adds green_gold
// adds molten_green_gold
// 1.1 update
// adds black gold
// adds gold_rust
// added reactions for the golds
//1.1.1 update
// adds uranium_gold
elements.green_gold = {
color: ["#94c7a3","#7bb298","#94c7a3"],
reactions: {
"water": { elem1:"gold_rust", chance:0.02 },
"salt_water": { elem1:"gold_rust", chance:0.005 },
"dirty_water": { elem1:"gold_rust", chance:0.04 },
"pool_water": { elem1:"gold_rust", chance:0.04 },
"sugar_water": { elem1:"gold_rust", chance:0.0035 },
"seltzer": { elem1:"gold_rust", chance:0.006 },
"alcohol": { elem1:"gold_rust", chance:0.03 },
"blood": { elem1:"gold_rust", chance:0.003 },
"infection": { elem1:"gold_rust", chance:0.003 },
"antibody": { elem1:"gold_rust", chance:0.003 },
"fire": { elem1:"gold_rust", chance:0.0025 },
"oxygen": { elem1:"gold_rust", chance:0.05 },
},
behavior: behaviors.WALL,
tempHigh: 500,
category: "solids",
@ -16,3 +45,71 @@ elements.molten_green_gold = {
conduct: 0.87,
Hidden: true
};
elements.black_gold = {
color: "#333333",
behavior: behaviors.WALL,
reactions: {
"water": { elem1:"gold_rust", chance:0.0025 },
"salt_water": { elem1:"gold_rust", chance:0.005 },
"dirty_water": { elem1:"gold_rust", chance:0.04 },
"pool_water": { elem1:"gold_rust", chance:0.04 },
"sugar_water": { elem1:"gold_rust", chance:0.0035 },
"seltzer": { elem1:"gold_rust", chance:0.006 },
"alcohol": { elem1:"gold_rust", chance:0.03 },
"blood": { elem1:"gold_rust", chance:0.003 },
"infection": { elem1:"gold_rust", chance:0.003 },
"antibody": { elem1:"gold_rust", chance:0.003 },
"fire": { elem1:"gold_rust", chance:0.0025 },
"oxygen": { elem1:"gold_rust", chance:0.05 },
},
category: "solids",
density: 19300,
hardness: 0.25,
};
elements.gold_rust = {
color: "#e6d37e",
behavior: behaviors.SUPPORT,
tempHigh: 3000,
stateHigh: "molten_gold",
category: "powders",
state: "solid",
density: 5250,
conduct: 0.37,
hardness: 0.3
};
elements.uranium_gold = {
color: ["#bcf542","#7fc92a","#c9bf2a"],
behavior: [
"XX|CR:radiation|XX",
"XX|XX|XX",
"XX|XX|XX",
],
tempHigh: 1064,
reactions: {
"water": { elem1:"rad_steam", chance:0.1 },
"salt_water": { elem1:"gold_rust", chance:0.005 },
"dirty_water": { elem1:"gold_rust", chance:0.04 },
"pool_water": { elem1:"gold_rust", chance:0.04 },
"sugar_water": { elem1:"gold_rust", chance:0.0035 },
"seltzer": { elem1:"gold_rust", chance:0.006 },
"alcohol": { elem1:"gold_rust", chance:0.03 },
"blood": { elem1:"gold_rust", chance:0.003 },
"infection": { elem1:"gold_rust", chance:0.003 },
"antibody": { elem1:"gold_rust", chance:0.003 },
"fire": { elem1:"gold_rust", chance:0.0025 },
"oxygen": { elem1:"gold_rust", chance:0.05 },
},
category: "solids",
density: 19300,
conduct: 0.81,
hardness: 0.25,
breakInto: "uranium"
};
elements.gold.reactions["fire"] = { elem1: null, elem2: "gold_rust" };
elements.rose_gold.reactions["fire"] = { elem1: null, elem2: "gold_rust" };
elements.purple_gold.reactions["fire"] = { elem1: null, elem2: "gold_rust" };
elements.blue_gold.reactions["fire"] = { elem1: null, elem2: "gold_rust" };

View File

@ -1196,7 +1196,7 @@ elements.filter = {
break;
}
}
else if (!pixel.con && elements[newPixel.element].movable && (newPixel.element == pixel.filterType) ) { //suck up pixel
else if (!pixel.con && (newPixel.element == pixel.filterType) ) { //suck up pixel
pixel.con = newPixel;
deletePixel(newPixel.x,newPixel.y);
pixel.con.x = pixel.x;
@ -2011,7 +2011,7 @@ elements.element_filler = {
state: "solid",
movable: "false",
onSelect: function() {
var answer6 = prompt("Please input the desired element of this filler. It will not work if you do multiple filter types while paused.",(elemfillerVar||undefined));
var answer6 = prompt("Please input the desired element of this filler. It will not work if you do multiple filler types while paused.",(elemfillerVar||undefined));
if (!answer6) { return }
elemfillerVar = mostSimilarElement(answer6);
},
@ -2044,7 +2044,7 @@ elements.outliner = {
category: elements.filler.category,
excludeRandom: true,
onSelect: function() {
var answerot = prompt("Please input the desired element of this outliner. It will not work if you do multiple filter types while paused.",(outlinerVar||undefined));
var answerot = prompt("Please input the desired element of this outliner. It will not work if you do multiple outliner types while paused.",(outlinerVar||undefined));
if (!answerot) { return }
outlinerVar = mostSimilarElement(answerot);
},

90
mods/soups.js Normal file
View File

@ -0,0 +1,90 @@
// changelog
// 1.0 update - the base update
// added seasoning
// added seasoned_water
elements.seasoning = {
color: "#876461",
behavior: behaviors.POWDER,
category: "food",
tempHigh: 900,
stateHigh: "salt",
state: "solid",
reactions: {
"water": { elem1: "null", elem2: "seasoned_water" },
"salt_water": { elem1: "null", elem2: "seasoned_water" },
},
density: 2,
};
elements.seasoned_water = {
color: "#73d627",
behavior: behaviors.LIQUID,
tempHigh: 100,
stateHigh: "steam",
tempLow: 0,
stateLow: "ice",
category: "liquids",
heatCapacity: 4.184,
reactions: {
"dirt": {
elem1: null,
elem2: "mud",
},
"sand": { elem1: null, elem2: "wet_sand" },
"clay_soil": { elem1: null, elem2: "clay" },
"salt": { elem1: "salt_water", elem2: null, temp1:-20 },
"sugar": { elem1: "sugar_water", elem2: null },
"honey": { elem1: "sugar_water" },
"caramel": { elem1: "sugar_water" },
"molasses": { elem1: "sugar_water" },
"dust": { elem1: "dirty_water", elem2: null },
"ash": { elem1: "dirty_water", elem2: null },
"cyanide": { elem1: "dirty_water", elem2: null },
"cyanide_gas": { elem1: "dirty_water", elem2: null },
"carbon_dioxide": { elem1: "seltzer", elem2: null, oneway:true },
"sulfur": { elem1: "dirty_water", elem2: null },
"rat": { elem1: "dirty_water", chance:0.005 },
"plague": { elem1: "dirty_water", elem2: null },
"rust": { elem1: "dirty_water", chance:0.005 },
"lead": { elem1: "dirty_water", chance:0.005 },
"solder": { elem1: "dirty_water", chance:0.005 },
"fallout": { elem1: "dirty_water", chance:0.25 },
"radiation": { elem1: "dirty_water", chance:0.25 },
"uranium": { elem1: "dirty_water", chance:0.25 },
"rotten_meat": { elem1: "dirty_water", chance:0.25 },
"rotten_cheese": { elem1: "dirty_water", chance:0.25 },
"cancer": { elem1: "dirty_water", chance:0.25 },
"oil": { elem1: "dirty_water", chance:0.005 },
"dioxin": { elem1: "dirty_water", chance:0.1 },
"quicklime": { elem1: "slaked_lime", elem2: "slaked_lime", temp2:100, temp1:100, chance:0.05 },
"rock": { elem2: "wet_sand", chance: 0.00035 },
"limestone": { elem2: "wet_sand", chance: 0.00035 },
"tuff": { elem2: "wet_sand", color2:"#7a6b5c", chance: 0.00035 },
"ruins": { elem2: "rock", chance: 0.00035 },
"mudstone": { elem2: "mud", chance: 0.00035 },
"methane": { elem1:"primordial_soup", elem2:"primordial_soup", tempMin:60, charged:true },
"ammonia": { elem1:"primordial_soup", elem2:"primordial_soup", tempMin:60, charged:true },
"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 },
"cured_meat": { elem1:"salt_water", elem2:"meat" },
"aluminum": { elem1:["hydrogen","hydrogen","oxygen"], charged:true, chance:0.0025 },
"zinc": { elem1:["hydrogen","hydrogen","oxygen"], charged:true, chance:0.015 },
"steel": { elem1:["hydrogen","hydrogen","oxygen"], charged:true, chance:0.0125 },
"iron": { elem1:["hydrogen","hydrogen","oxygen"], charged:true, chance:0.0125 },
"tin": { elem1:["hydrogen","hydrogen","oxygen"], charged:true, chance:0.01 },
"brass": { elem1:["hydrogen","hydrogen","oxygen"], charged:true, chance:0.001 },
"bronze": { elem1:["hydrogen","hydrogen","oxygen"], charged:true, chance:0.001 },
"copper": { elem1:["hydrogen","hydrogen","oxygen"], charged:true, chance:0.0075 },
"silver": { elem1:["hydrogen","hydrogen","oxygen"], charged:true, chance:0.0075 },
"gold": { elem1:["hydrogen","hydrogen","oxygen"], charged:true, chance:0.0075 },
},
state: "liquid",
density: 999,
conduct: 0.02,
stain: -0.9,
extinguish: true
};

View File

@ -75,7 +75,7 @@ elements.left_missile = {
"M1 AND EX:10|XX|EX:10",
"M2|EX:10|XX",
],
category:"weapons",
category:"ammunition",
},
elements.right_missile = {
color: "#4c4e42",
@ -84,7 +84,17 @@ elements.right_missile = {
"EX:10|XX|M1 AND EX:10",
"XX|EX:10|M2",
],
category:"weapons",
category:"ammunition",
},
elements.up_missile = {
color: "#4c4e42",
behavior: [
"M2|M1 AND EX:10|M2",
"EX:10|XX|EX:10",
"XX|EX:10|XX",
],
category:"ammunition",
alias: "the element that some guy try to add to my mod without my permission but when doing so fucked the behavior grid up",
},
elements.cluster_munition = {
color: "#444444",
@ -115,7 +125,7 @@ elements.right_missile = {
"XX|XX|XX",
"M2|M1 AND EX:10%10|M2",
],
category: "weapons",
category: "ammunition",
state: "solid",
density: 1300,
hidden: true,
@ -149,7 +159,7 @@ elements.left_bullet = {
"M1 AND EX:5|XX|XX",
"M2|XX|XX",
],
category:"weapons",
category:"ammunition",
},
elements.right_bullet = {
color: "#4c4e42",
@ -158,7 +168,7 @@ elements.left_bullet = {
"XX|XX|M1 AND EX:5",
"XX|XX|M2",
],
category:"weapons",
category:"ammunition",
},
elements.e_gun_left = {
color: "#C0C0C0",
@ -185,4 +195,206 @@ elements.left_bullet = {
state: "solid",
conduct: 1,
density: 1300,
};
},
elements.auto_rocket_launcher_left = {
color: "#C0C0C0",
behavior: [
"XX|XX|XX",
"CR:left_rocket|XX|XX",
"XX|XX|XX",
],
category: "weapons",
state: "solid",
density: 1300,
},
elements.auto_rocket_launcher_right = {
color: "#C0C0C0",
behavior: [
"XX|XX|XX",
"XX|XX|CR:right_rocket",
"XX|XX|XX",
],
category: "weapons",
state: "solid",
density: 1300,
},
elements.left_rocket = {
color: "#4c4e42",
behavior: [
"XX|XX|XX",
"M1 AND EX:10|XX|XX",
"XX|XX|XX",
],
category:"ammunition",
},
elements.right_rocket = {
color: "#4c4e42",
behavior: [
"XX|XX|XX",
"XX|XX|M1 AND EX:10",
"XX|XX|XX",
],
category:"ammunition",
},
elements.e_rocket_launcher_left = {
color: "#C0C0C0",
behavior: behaviors.WALL,
behaviorOn: [
"XX|XX|XX",
"CR:left_rocket|XX|XX",
"XX|XX|XX",
],
category: "weapons",
state: "solid",
conduct: 1,
density: 1300,
},
elements.e_rocket_launcher_right = {
color: "#C0C0C0",
behavior: behaviors.WALL,
behaviorOn: [
"XX|XX|XX",
"XX|XX|CR:right_rocket",
"XX|XX|XX",
],
category: "weapons",
state: "solid",
conduct: 1,
density: 1300,
},
elements.gaster_blast_left = {
color: "#c5e9f0",
behavior: [
"DL|DL|XX",
"DL AND CR:gaster_blast_left%5|XX|XX",
"DL|DL|XX",
],
tick: function(pixel) {
for (var i=0; i<3; i++) {
if (!tryMove(pixel, pixel.x-2, pixel.y)) {
if (!isEmpty(pixel.x-2, pixel.y,true)) {
var newPixel = pixelMap[pixel.x-2][pixel.y];
if (newPixel.element === "gaster_blast_left") { break; }
if (elements[newPixel.element].state == "gas") {
if (Math.random() > (elements[newPixel.element].hardness || 0)) {
if (elements[newPixel.element].breakInto) {
breakPixel(newPixel);
}
else {
deletePixel(newPixel.x, newPixel.y);
}}}}
deletePixel(pixel.x,pixel.y);
break;
}}},
category: "energy",
state: "gas",
insulate: true,
},
elements.gaster_blast_right = {
color: "#c5e9f0",
behavior: [
"XX|DL|DL",
"XX|XX|DL AND CR:gaster_blast_right%5",
"XX|DL|DL",
],
tick: function(pixel) {
for (var i=0; i<3; i++) {
if (!tryMove(pixel, pixel.x+2, pixel.y)) {
if (!isEmpty(pixel.x+2, pixel.y,true)) {
var newPixel = pixelMap[pixel.x+2][pixel.y];
if (newPixel.element === "gaster_blast_right") { break; }
if (elements[newPixel.element].state == "gas") {
if (Math.random() > (elements[newPixel.element].hardness || 0)) {
if (elements[newPixel.element].breakInto) {
breakPixel(newPixel);
}
else {
deletePixel(newPixel.x, newPixel.y);
}}}}
deletePixel(pixel.x,pixel.y);
break;
}}},
category: "energy",
state: "gas",
insulate: true,
},
elements.gaster_blaster_left = {
color: "#ffffff",
behavior: behaviors.WALL,
behaviorOn: [
"XX|XX|XX",
"CR:gaster_blast_left|XX|XX",
"XX|XX|XX",
],
category: "weapons",
state: "solid",
conduct: 20,
},
elements.gaster_blaster_right = {
color: "#ffffff",
behavior: behaviors.WALL,
behaviorOn: [
"XX|XX|XX",
"XX|XX|CR:gaster_blast_right",
"XX|XX|XX",
],
category: "weapons",
state: "solid",
conduct: 20,
},
elements.fast_bullet_left = {
color: "#4c4e42",
behavior: [
"DL|DL|XX",
"DL|XX|XX",
"DL|DL|XX",
],
tick: function(pixel) {
for (var i=0; i<3; i++) {
if (!tryMove(pixel, pixel.x-3, pixel.y)) {
if (!isEmpty(pixel.x-3, pixel.y,true)) {
var newPixel = pixelMap[pixel.x-3][pixel.y];
if (newPixel.element === "fast_bullet_left") { break; }
if (elements[newPixel.element].state == "solid") {
if (Math.random() > (elements[newPixel.element].hardness || 0)) {
if (elements[newPixel.element].breakInto) {
breakPixel(newPixel);
}
else {
deletePixel(newPixel.x, newPixel.y);
}}}}
deletePixel(pixel.x,pixel.y);
break;
}}},
category: "ammunition",
state: "solid",
insulate: true,
},
elements.fast_bullet_right = {
color: "#4c4e42",
behavior: [
"XX|DL|DL",
"XX|XX|DL",
"XX|DL|DL",
],
tick: function(pixel) {
for (var i=0; i<3; i++) {
if (!tryMove(pixel, pixel.x+3, pixel.y)) {
if (!isEmpty(pixel.x+3, pixel.y,true)) {
var newPixel = pixelMap[pixel.x+3][pixel.y];
if (newPixel.element === "fast_bullet_right") { break; }
if (elements[newPixel.element].state == "solid") {
if (Math.random() > (elements[newPixel.element].hardness || 0)) {
if (elements[newPixel.element].breakInto) {
breakPixel(newPixel);
}
else {
deletePixel(newPixel.x, newPixel.y);
}}}}
deletePixel(pixel.x,pixel.y);
break;
}}},
category: "ammunition",
state: "solid",
insulate: true,
}