Merge branch 'main' of https://github.com/R74nCom/sandboxels
This commit is contained in:
commit
86efc106ef
|
|
@ -201,6 +201,7 @@
|
|||
<!----><tr><td class="modCat" colspan="3">Food & Cooking</td></tr><!---->
|
||||
<tr><td>bananas.js</td><td>Adds bananas and banana plants</td><td>Alice</td></tr>
|
||||
<tr><td>greenitemsandmore.js</td><td>Adds various green things, including apples and more food</td><td>zonneschijn7</td>
|
||||
<tr><td>food&animals.js</td><td>Adds more food and animals</td><td>SquareScreamYT and RealerRaddler</td></tr>
|
||||
<tr><td>ketchup_mod.js</td><td>Adds a bunch of ketchup related stuff, plus a few other condiments</td><td>Nubo318 (main dev), Devi, Alice (contributors)</td></tr>
|
||||
<tr><td>lemonade.js</td><td>Adds lemons and lemonade</td><td>personman / baconthemyth</td></tr>
|
||||
<tr><td>morefoodsmod.js</td><td>Adds more foods</td><td>Clide4</td></tr>
|
||||
|
|
@ -218,6 +219,7 @@
|
|||
<tr><td>fantastic_creatures.js</td><td>Adds various animals</td><td>Melecie</td></tr>
|
||||
<tr><td>fantasy_elements.js</td><td>Fantasy creatures and substances</td><td>pixelegend4</td></tr>
|
||||
<tr><td>fey_and_more.js</td><td>Adds fairies, magic, and a lot of other things</td><td>Melecie</td></tr>
|
||||
<tr><td>food&animals.js</td><td>Adds more food and animals</td><td>SquareScreamYT and RealerRaddler</td></tr>
|
||||
<tr><td>fwibblen.js</td><td>Adds a flying creature that turns nickel into itself, and a second creature that does the same to the first one</td><td>Alice</td></tr>
|
||||
<tr><td>human_edit.js</td><td>Improvements to humans</td><td>Alice</td></tr>
|
||||
<tr><td>miscible_psoup_and_birthpool.js</td><td>Makes Primordial Soup and Birthpool mix instead of the birthpool settling to the bottom. Will be deprecated upon the release of Magical Menagerie</td><td>Alice</td></tr>
|
||||
|
|
|
|||
|
|
@ -137,6 +137,41 @@ elements.iced_pheonix = {
|
|||
},
|
||||
};
|
||||
|
||||
// placed both sceptrium and sceptrium_dust here -part of 1.3 update-
|
||||
// -open-
|
||||
elements.sceptrium = {
|
||||
color: "#add8e6",
|
||||
behavior: behaviors.SOLID,
|
||||
category: "fantasy",
|
||||
state: "solid",
|
||||
density: 1500,
|
||||
weight: 100,
|
||||
reactions: {
|
||||
"water": { elem1: "sceptrium", elem2: "sceptrium_dust" },
|
||||
"fire": { elem1: "sceptrium", elem2: "sceptrium_dust" },
|
||||
"plasma": { elem1: "sceptrium", elem2: "sceptrium_dust" },
|
||||
"laser": { elem1: "sceptrium", elem2: "sceptrium_dust" },
|
||||
"explosion": { elem1: "sceptrium", elem2: "sceptrium_dust" },
|
||||
},
|
||||
};
|
||||
|
||||
elements.sceptrium_dust = {
|
||||
color: ["#87ceeb", "#add8e6", "#b0e0e6"],
|
||||
behavior: behaviors.POWDER,
|
||||
category: "fantasy",
|
||||
state: "solid",
|
||||
density: 0.5,
|
||||
weight: 1,
|
||||
reactions: {
|
||||
"water": { elem1: "sceptrium_dust", elem2: "sceptrium_dust" },
|
||||
"fire": { elem1: "sceptrium_dust", elem2: "sceptrium_dust" },
|
||||
"plasma": { elem1: "sceptrium_dust", elem2: "sceptrium_dust" },
|
||||
"laser": { elem1: "sceptrium_dust", elem2: "sceptrium_dust" },
|
||||
"explosion": { elem1: "sceptrium_dust", elem2: "sceptrium_dust" },
|
||||
},
|
||||
};
|
||||
// -end-
|
||||
|
||||
// New Fantasy Elements with Updated Reactions
|
||||
elements.dragon_scale = {
|
||||
color: "#8B4513",
|
||||
|
|
@ -333,6 +368,13 @@ elements.goblin = {
|
|||
"category":"fantasy",
|
||||
reactions: {
|
||||
"goblins_delight": { elem2:null, chance:0.9 },
|
||||
"plasma": { elem2: "goblin_soul", elem2: "goblin_soul" },
|
||||
"fire": { elem2: "goblin_soul", elem2: "goblin_soul" },
|
||||
"incinerate": { elem2: "goblin_soul", elem2: "goblin_soul" },
|
||||
"heat_ray": { elem2: "goblin_soul", elem2: "goblin_soul" },
|
||||
|
||||
|
||||
|
||||
},
|
||||
};
|
||||
|
||||
|
|
@ -348,34 +390,221 @@ elements.fenzium = {
|
|||
}
|
||||
};
|
||||
|
||||
elements.sceptrium = {
|
||||
color: "#add8e6",
|
||||
elements.goblin_feeder = {
|
||||
color: ["#307D7E", "#98FF98"],
|
||||
behavior: behaviors.SOLID,
|
||||
category: "fantasy",
|
||||
state: "solid",
|
||||
density: 1500,
|
||||
weight: 100,
|
||||
state: "soid",
|
||||
density: 1000,
|
||||
viscosity: 1,
|
||||
weight: 300,
|
||||
temperature: 20,
|
||||
reactions: {
|
||||
"water": { elem1: "sceptrium", elem2: "sceptrium_dust" },
|
||||
"fire": { elem1: "sceptrium", elem2: "sceptrium_dust" },
|
||||
"plasma": { elem1: "sceptrium", elem2: "sceptrium_dust" },
|
||||
"laser": { elem1: "sceptrium", elem2: "sceptrium_dust" },
|
||||
"explosion": { elem1: "sceptrium", elem2: "sceptrium_dust" },
|
||||
"fire": { elem1: "pulsium_bar", elem2: null },
|
||||
},
|
||||
tick: function(pixel) {
|
||||
if (Math.random() < 0.05) {
|
||||
createPixel("goblins_delight", pixel.x, pixel.y);
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
elements.sceptrium_dust = {
|
||||
color: ["#87ceeb", "#add8e6", "#b0e0e6"],
|
||||
// fantasy_elements.js version 1.3
|
||||
|
||||
elements.thanosium = {
|
||||
color: ["#8803fc", "#db03fc", "#ad03fc", "#cf03fc"],
|
||||
behavior: behaviors.SOLID,
|
||||
category: "fantasy",
|
||||
state: "solid",
|
||||
density: 1900,
|
||||
breakInto: "thanosium_dust",
|
||||
weight: 100,
|
||||
};
|
||||
|
||||
elements.thanosium_dust = {
|
||||
color: ["#8803fc", "#ad03fc", "#cf03fc", "#b12ee6", "#d62ee6", "#a8329d"],
|
||||
behavior: behaviors.POWDER,
|
||||
category: "fantasy",
|
||||
state: "powder",
|
||||
density: 1900,
|
||||
weight: 100,
|
||||
reactions: {
|
||||
"diamond": { func: function(pixel1, pixel2){
|
||||
autoResizeCanvas();
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
elements.exterminator_bomb = {
|
||||
color: ["#23969e", "#28aeb8", "#2ec6d1", "#34deeb"],
|
||||
behavior: [
|
||||
"XX|EX:90>uranium,plasma,H_bomb,nuke,fire|XX",
|
||||
"XX|XX|XX",
|
||||
"M2|M1 AND EX:90>plasma,plasma,ember,fire,fire|M2",
|
||||
],
|
||||
category: "fantasyweapons",
|
||||
state: "solid",
|
||||
density: 2000,
|
||||
excludeRandom: true,
|
||||
};
|
||||
|
||||
elements.heat_bomb = {
|
||||
color: ["#ff7700", "#ffbf00"],
|
||||
behavior: [
|
||||
"XX|EX:90>heat_ray,heat_ray,heat_ray,heat_ray,heat_ray|XX",
|
||||
"XX|XX|XX",
|
||||
"M2|M1 AND EX:90>heat_ray,heat_ray,heat_ray,heat_ray,heat_ray|M2",
|
||||
],
|
||||
category: "fantasyweapons",
|
||||
state: "solid",
|
||||
density: 2000,
|
||||
excludeRandom: true,
|
||||
};
|
||||
elements.goblin_soul = {
|
||||
color: ["#9fff05","#92e807","#56fc03","#4fe007","#07e03a","#19e649","#19e6b6"],
|
||||
behavior: behaviors.FLY,
|
||||
category: "fantasy",
|
||||
state: "gas",
|
||||
density: 1000,
|
||||
};
|
||||
|
||||
elements.rainbow_flash = {
|
||||
color: ["#ff0800","#ffae00","#ffe100","#51ff00","#005eff","#a200ff"],
|
||||
tick: function(pixel) {
|
||||
if (Math.random() < 3 && pixelTicks - pixel.start > 4) {
|
||||
deletePixel(pixel.x, pixel.y)
|
||||
}
|
||||
},
|
||||
reactions: {
|
||||
"fire": { elem1:"rainbow_bomb" },
|
||||
},
|
||||
category: "fantasy",
|
||||
temp: 40,
|
||||
state: "gas",
|
||||
density: 1,
|
||||
tempLow: -270,
|
||||
stateLow: "light",
|
||||
};
|
||||
elements.rainbow_bomb = {
|
||||
color: ["#ff0800","#ffae00","#ffe100","#51ff00","#005eff","#a200ff"],
|
||||
behavior: [
|
||||
"XX|EX:90>rainbow_flash,rainbow_flash,rainbow_flash,rainbow_flash,rainbow_flash|XX",
|
||||
"XX|XX|XX",
|
||||
"M2|M1 AND EX:90>rainbow_flash,rainbow_flash,rainbow_flash,rainbow_flash,rainbow_flash|M2",
|
||||
],
|
||||
category: "fantasyweapons",
|
||||
state: "solid",
|
||||
density: 2500,
|
||||
excludeRandom: true,
|
||||
};
|
||||
elements.cryptoberry = {
|
||||
color: ["#34d8eb","#34e6fa","#24d9ed"],
|
||||
behavior: behaviors.POWDER,
|
||||
category: "fantasy",
|
||||
state: "solid",
|
||||
density: 0.5,
|
||||
weight: 1,
|
||||
reactions: {
|
||||
"water": { elem1: "sceptrium_dust", elem2: "sceptrium_dust" },
|
||||
"fire": { elem1: "sceptrium_dust", elem2: "sceptrium_dust" },
|
||||
"plasma": { elem1: "sceptrium_dust", elem2: "sceptrium_dust" },
|
||||
"laser": { elem1: "sceptrium_dust", elem2: "sceptrium_dust" },
|
||||
"explosion": { elem1: "sceptrium_dust", elem2: "sceptrium_dust" },
|
||||
density: 800,
|
||||
breakInto: "cryptoberry_juice",
|
||||
isFood: true,
|
||||
};
|
||||
elements.cryptoberry_juice = {
|
||||
color: ["#34c9eb","#34d5eb","#34b7eb"],
|
||||
behavior: behaviors.LIQUID,
|
||||
category: "fantasy",
|
||||
state: "solid",
|
||||
density: 800,
|
||||
isFood: true,
|
||||
};
|
||||
|
||||
// adds more reactions to existing elements -part if 1.3 update-
|
||||
// -open-
|
||||
elements.water.reactions.cryptoberry_juice = {elem2: "shadowberry_juice", tempMin: 80}
|
||||
// -close-
|
||||
elements.shadowberry = {
|
||||
color: "#ab34eb",
|
||||
behavior: behaviors.POWDER,
|
||||
category: "fantasy",
|
||||
state: "solid",
|
||||
density: 800,
|
||||
breakInto: "shadowberry_juice",
|
||||
isFood: true,
|
||||
};
|
||||
elements.shadowberry_juice = {
|
||||
color: "#a600ff",
|
||||
behavior: behaviors.LIQUID,
|
||||
category: "fantasy",
|
||||
state: "solid",
|
||||
density: 800,
|
||||
isFood: true,
|
||||
reactions: {
|
||||
"human": { elem1: "radiation", elem2: "radiation" },
|
||||
},
|
||||
};
|
||||
elements.Frostberry = {
|
||||
color: "#25f5cf",
|
||||
behavior: behaviors.POWDER,
|
||||
category: "fantasy",
|
||||
state: "solid",
|
||||
density: 800,
|
||||
breakInto: "Frostberry_juice",
|
||||
isFood: true,
|
||||
};
|
||||
elements.Frostberry_juice = {
|
||||
color: "#25f5e0",
|
||||
behavior: behaviors.LIQUID,
|
||||
category: "fantasy",
|
||||
state: "solid",
|
||||
density: 800,
|
||||
isFood: true,
|
||||
reactions: {
|
||||
"human": { elem1: "snow", elem2: "snow" },
|
||||
},
|
||||
};
|
||||
elements.abyssberry = {
|
||||
color: "#676b68",
|
||||
behavior: behaviors.POWDER,
|
||||
category: "fantasy",
|
||||
state: "solid",
|
||||
density: 800,
|
||||
breakInto: "abyssberry_juice",
|
||||
};
|
||||
elements.abyssberry_juice = {
|
||||
color: "#818a84",
|
||||
behavior: behaviors.LIQUID,
|
||||
category: "fantasy",
|
||||
state: "solid",
|
||||
density: 800,
|
||||
isFood: true,
|
||||
reactions: {
|
||||
"shadowberry_juice": { elem1: "snow", elem2: "snow" },
|
||||
},
|
||||
};
|
||||
|
||||
//1.3.1 minor update
|
||||
// below
|
||||
|
||||
elements.cicium = {
|
||||
color: "#4287f5",
|
||||
behavior: behaviors.WALL,
|
||||
category: "fantasy",
|
||||
state: "solid",
|
||||
};
|
||||
|
||||
elements.Verdantium = {
|
||||
color: ["#00c8f0", "#00bcf0","#00d8f0","#27b4e3","#0aaaf5"],
|
||||
behavior: behaviors.LIQUID,
|
||||
category: "fantasy",
|
||||
state: "solid",
|
||||
isFood: false,
|
||||
};
|
||||
|
||||
elements.nebulaflare_wall = {
|
||||
color: ["#7500FF", "#00FFFB", "#FF00FC"],
|
||||
behavior: behaviors.WALL,
|
||||
state: "solid",
|
||||
density: 0.1,
|
||||
category: "fantasy",
|
||||
reactions: {
|
||||
"water": { elem1: "nebulaflare", elem2: "nebulaflare" },
|
||||
},
|
||||
};
|
||||
|
|
|
|||
|
|
@ -0,0 +1,582 @@
|
|||
/*
|
||||
|
||||
food&animals.js
|
||||
|
||||
MORE FOODS AND ANIMALS!!
|
||||
|
||||
Created by @SquareScreamYT and @RealerRaddler
|
||||
|
||||
v1.0
|
||||
|
||||
Changelog (v1.0)
|
||||
- added chickens
|
||||
- lays chicken eggs
|
||||
- added chicks
|
||||
- hatches from chicken eggs
|
||||
- grows into chickens
|
||||
- added chicken eggs
|
||||
- added frozen chicken eggs
|
||||
- added hard boiled eggs
|
||||
- made by putting chicken eggs in hot water
|
||||
- added soup
|
||||
- made from broth and water
|
||||
- added noodles
|
||||
- made by putting batter in hot water
|
||||
- added chicken meat
|
||||
- raw chicken meat
|
||||
- cooked chicken meat
|
||||
- battered raw chicken
|
||||
- made by mixing raw chicken and batter
|
||||
- raw chicken nuggets
|
||||
- made by mixing battered raw chicken with crumbs
|
||||
- (cooked) chicken nuggets
|
||||
- added crushed worm
|
||||
- chicken food
|
||||
- made by smashing worms or mixing worms with rocks
|
||||
- added frozen crushed worms
|
||||
- added fried potato
|
||||
- made by putting potatoes in hot cooking oil
|
||||
- added smoked chicken
|
||||
- made by putting raw chicken with smoke
|
||||
- added boiled chicken
|
||||
- made by putting raw chicken in hot water
|
||||
- added fried chicken
|
||||
- made by putting raw chicken in hot cooking oil
|
||||
- added steamed chicken
|
||||
- made by putting raw chicken with steam
|
||||
- added olives
|
||||
- added olives
|
||||
- olives can be smashed into cooking oil
|
||||
- added olive wood
|
||||
- added olive branches
|
||||
- added olive leaves
|
||||
- added cooking oil
|
||||
*/
|
||||
elements.chicken = {
|
||||
color: ["#c29046", "#f5d271", "#d4bd7d"],
|
||||
behavior: [
|
||||
"M2%1|M2%2|M2%1",
|
||||
"M2%10|XX|M2%10",
|
||||
"XX|M1%33|XX",
|
||||
],
|
||||
category:"life",
|
||||
state: "solid",
|
||||
reactions: {
|
||||
"meat": { elem2:null, chance:0.2, func:behaviors.FEEDPIXEL },
|
||||
"chicken_nugget": { elem2:null, chance:0.2, func:behaviors.FEEDPIXEL },
|
||||
"grass": { elem2:null, chance:0.1, func:behaviors.FEEDPIXEL },
|
||||
"worm": { elem2: "crushed_worm", chance:0.3},
|
||||
"cooked_meat": { elem2:null, chance:0.2, func:behaviors.FEEDPIXEL },
|
||||
"fish": { elem2:null, chance:0.25, func:behaviors.FEEDPIXEL },
|
||||
"rat": { elem2:null, chance:0.05, func:behaviors.FEEDPIXEL },
|
||||
"snail": { elem2:null, chance:0.05, func:behaviors.FEEDPIXEL },
|
||||
"frog": { elem2:null, chance:0.1, func:behaviors.FEEDPIXEL },
|
||||
"slug": { elem2:null, chance:0.1, func:behaviors.FEEDPIXEL },
|
||||
"grape": { elem2:null, chance:0.3, func:behaviors.FEEDPIXEL },
|
||||
"wheat_seed": { elem2:null, chance:0.4, func:behaviors.FEEDPIXEL },
|
||||
"flower_seed": { elem2:null, chance:0.32, func:behaviors.FEEDPIXEL },
|
||||
"corn_seed": { elem2:null, chance:0.35, func:behaviors.FEEDPIXEL },
|
||||
"corn": { elem2:null, chance:0.4, func:behaviors.FEEDPIXEL },
|
||||
"crumb": { elem2:null, chance:0.25, func:behaviors.FEEDPIXEL },
|
||||
"potato_seed": { elem2:null, chance:0.4, func:behaviors.FEEDPIXEL },
|
||||
"grass_seed": { elem2:null, chance:0.3, func:behaviors.FEEDPIXEL },
|
||||
"pumpkin_seed": { elem2:null, chance:0.3, func:behaviors.FEEDPIXEL },
|
||||
"pumpkin": { elem2:null, chance:0.1, func:behaviors.FEEDPIXEL },
|
||||
"nut": { elem2:null, chance:0.2, func:behaviors.FEEDPIXEL },
|
||||
"dead_bug": { elem2:null, chance:0.35, func:behaviors.FEEDPIXEL },
|
||||
"bee": { elem2:null, chance:0.2, func:behaviors.FEEDPIXEL },
|
||||
"ant": { elem2:null, chance:0.2, func:behaviors.FEEDPIXEL },
|
||||
"flea": { elem2:null, chance:0.2, func:behaviors.FEEDPIXEL },
|
||||
"termite": { elem2:null, chance:0.2, func:behaviors.FEEDPIXEL },
|
||||
"lichen": { elem2:null, chance:0.2, func:behaviors.FEEDPIXEL },
|
||||
"oxygen": { elem2:"carbon_dioxide", chance:0.3 },
|
||||
"mercury": { elem1:"rotten_meat", chance:0.1 },
|
||||
"bleach": { elem1:"rotten_meat", chance:0.1 },
|
||||
"infection": { elem1:"rotten_meat", chance:0.025 },
|
||||
"uranium": { elem1:"rotten_meat", chance:0.1 },
|
||||
"cyanide": { elem1:"rotten_meat", chance:0.1 },
|
||||
"chlorine": { elem1:"meat", chance:0.1 },
|
||||
"dirty_water": { elem1:"rotten_meat", chance:0.0001 },
|
||||
},
|
||||
egg: "chicken_egg",
|
||||
foodNeed: 10,
|
||||
temp: 40,
|
||||
tempHigh: 75,
|
||||
stateHigh: "cooked_chicken",
|
||||
tempLow: -18,
|
||||
stateLow: "frozen_meat",
|
||||
breakInto: ["feather", "raw_chicken"],
|
||||
burn:85,
|
||||
burnTime:450,
|
||||
state: "solid",
|
||||
density: 1117,
|
||||
conduct: 0.3,
|
||||
};
|
||||
|
||||
elements.chicken_egg = {
|
||||
color: ["#e0d3ab","#d9cdb5"],
|
||||
behavior: [
|
||||
"XX|XX|XX",
|
||||
"XX|FX%5 AND CH:chick%0.1|XX",
|
||||
"M2%30|M1|M2%30",
|
||||
],
|
||||
category: "food",
|
||||
state: "solid",
|
||||
temp: 30,
|
||||
tempLow: -18,
|
||||
stateLow: "frozen_chicken_egg",
|
||||
breakInto: ["yolk"],
|
||||
tempHigh: 500,
|
||||
stateHigh: ["calcium", "ash"],
|
||||
burn:50,
|
||||
burnTime:450,
|
||||
state: "solid",
|
||||
density: 900,
|
||||
conduct: 0.1,
|
||||
reactions: {
|
||||
"water": { elem1:null, elem2:"hard_boiled_egg", chance:10, tempMin:80 }
|
||||
}
|
||||
};
|
||||
|
||||
elements.frozen_chicken_egg = {
|
||||
color: ["#e0d3cf","#d9cdd3"],
|
||||
behavior: behaviors.POWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
temp: -20,
|
||||
tempHigh: 10,
|
||||
stateHigh: "chicken_egg",
|
||||
breakInto: ["calcium", "hard_yolk"],
|
||||
burn:50,
|
||||
burnTime:450,
|
||||
state: "solid",
|
||||
density: 900,
|
||||
conduct: 0.1,
|
||||
hidden: true,
|
||||
};
|
||||
|
||||
elements.hard_boiled_egg = {
|
||||
color: ["#e0d3ab","#d9cdb5","#e4d4b4","#f3f3ef"],
|
||||
behavior: behaviors.POWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
hidden: "TRUE",
|
||||
tempHigh: 1000,
|
||||
stateHigh: ["ash", "smoke"],
|
||||
density: 820.33,
|
||||
isFood: true,
|
||||
hidden: true,
|
||||
};
|
||||
|
||||
elements.chick = {
|
||||
color: ["#ffdf85", "#ffef5c"],
|
||||
behavior: [
|
||||
"M2%1|M2%2|M2%1",
|
||||
"M2%10|FX%5 AND CH:chicken%0.1|M2%10",
|
||||
"XX|M1%33|XX",
|
||||
],
|
||||
category: "life",
|
||||
state: "solid",
|
||||
egg: "chicken_egg",
|
||||
foodNeed: 20,
|
||||
temp: 40,
|
||||
tempHigh: 75,
|
||||
stateHigh: "cooked_meat",
|
||||
tempLow: -18,
|
||||
stateLow: "frozen_meat",
|
||||
breakInto: "blood",
|
||||
burn:85,
|
||||
burnTime:450,
|
||||
state: "solid",
|
||||
density: 900,
|
||||
conduct: 0.1,
|
||||
reactions: {
|
||||
"crushed_worm": { elem2:null, chance:0.4, func:behaviors.FEEDPIXEL},
|
||||
"meat": { elem2:null, chance:0.2, func:behaviors.FEEDPIXEL },
|
||||
"chicken_nugget": { elem2:null, chance:0.2, func:behaviors.FEEDPIXEL },
|
||||
"grass": { elem2:null, chance:0.1, func:behaviors.FEEDPIXEL },
|
||||
"worm": { elem2: "crushed_worm", chance:0.3},
|
||||
"cooked_meat": { elem2:null, chance:0.2, func:behaviors.FEEDPIXEL },
|
||||
"fish": { elem2:null, chance:0.25, func:behaviors.FEEDPIXEL },
|
||||
"rat": { elem2:null, chance:0.05, func:behaviors.FEEDPIXEL },
|
||||
"snail": { elem2:null, chance:0.05, func:behaviors.FEEDPIXEL },
|
||||
"frog": { elem2:null, chance:0.1, func:behaviors.FEEDPIXEL },
|
||||
"slug": { elem2:null, chance:0.1, func:behaviors.FEEDPIXEL },
|
||||
"grape": { elem2:null, chance:0.3, func:behaviors.FEEDPIXEL },
|
||||
"wheat_seed": { elem2:null, chance:0.4, func:behaviors.FEEDPIXEL },
|
||||
"flower_seed": { elem2:null, chance:0.32, func:behaviors.FEEDPIXEL },
|
||||
"corn_seed": { elem2:null, chance:0.35, func:behaviors.FEEDPIXEL },
|
||||
"corn": { elem2:null, chance:0.4, func:behaviors.FEEDPIXEL },
|
||||
"crumb": { elem2:null, chance:0.25, func:behaviors.FEEDPIXEL },
|
||||
"potato_seed": { elem2:null, chance:0.4, func:behaviors.FEEDPIXEL },
|
||||
"grass_seed": { elem2:null, chance:0.3, func:behaviors.FEEDPIXEL },
|
||||
"pumpkin_seed": { elem2:null, chance:0.3, func:behaviors.FEEDPIXEL },
|
||||
"pumpkin": { elem2:null, chance:0.1, func:behaviors.FEEDPIXEL },
|
||||
"nut": { elem2:null, chance:0.2, func:behaviors.FEEDPIXEL },
|
||||
"dead_bug": { elem2:null, chance:0.35, func:behaviors.FEEDPIXEL },
|
||||
"bee": { elem2:null, chance:0.2, func:behaviors.FEEDPIXEL },
|
||||
"ant": { elem2:null, chance:0.2, func:behaviors.FEEDPIXEL },
|
||||
"flea": { elem2:null, chance:0.2, func:behaviors.FEEDPIXEL },
|
||||
"termite": { elem2:null, chance:0.2, func:behaviors.FEEDPIXEL },
|
||||
"lichen": { elem2:null, chance:0.2, func:behaviors.FEEDPIXEL },
|
||||
"oxygen": { elem2:"carbon_dioxide", chance:0.3 },
|
||||
"mercury": { elem1:"rotten_meat", chance:0.1 },
|
||||
"bleach": { elem1:"rotten_meat", chance:0.1 },
|
||||
"infection": { elem1:"rotten_meat", chance:0.025 },
|
||||
"uranium": { elem1:"rotten_meat", chance:0.1 },
|
||||
"cyanide": { elem1:"rotten_meat", chance:0.1 },
|
||||
"chlorine": { elem1:"meat", chance:0.1 },
|
||||
"dirty_water": { elem1:"rotten_meat", chance:0.0001 },
|
||||
}
|
||||
};
|
||||
|
||||
elements.soup = {
|
||||
color: "#fbd189",
|
||||
behavior: behaviors.LIQUID,
|
||||
tempHigh: 130,
|
||||
stateHigh: ["steam","steam","steam","fragrance"],
|
||||
tempLow: 0,
|
||||
category: "food",
|
||||
state: "liquid",
|
||||
density: 1052,
|
||||
conduct: 0.03,
|
||||
stain: -0.01,
|
||||
isFood: true,
|
||||
hidden: true,
|
||||
}
|
||||
|
||||
if (!elements.broth.reactions) elements.broth.reactions = {};
|
||||
elements.broth.reactions.water = { elem1: "soup", elem2: "soup" }
|
||||
|
||||
elements.noodles = {
|
||||
color: ["#F3BA4F", "#F7D161"],
|
||||
behavior: behaviors.POWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
temp: 30,
|
||||
breakInto: ["crumb"],
|
||||
tempHigh: 130,
|
||||
stateHigh: ["toast"],
|
||||
burn:50,
|
||||
burnTime:450,
|
||||
state: "solid",
|
||||
density: 900,
|
||||
conduct: 0.1,
|
||||
hidden: true,
|
||||
};
|
||||
|
||||
if (!elements.batter.reactions) elements.batter.reactions = {};
|
||||
elements.batter.reactions.water = {elem2: "noodles", tempMin: 70}
|
||||
|
||||
elements.battered_raw_chicken = {
|
||||
color: ["#eacfa9", "#ecd2af"],
|
||||
behavior: behaviors.STURDYPOWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
temp:25,
|
||||
tempHigh: 600,
|
||||
stateHigh: ["ash","smoke"],
|
||||
reactions: {
|
||||
"crumb": { elem1: "raw_chicken_nugget", elem2: null },
|
||||
},
|
||||
hidden: true,
|
||||
};
|
||||
|
||||
elements.steamed_chicken = {
|
||||
color:["#cfba8f", "#d2b788"],
|
||||
behavior: behaviors.STURDYPOWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
temp:50,
|
||||
tempHigh: 600,
|
||||
stateHigh: ["ash","smoke"],
|
||||
isFood: true,
|
||||
hidden: true,
|
||||
}
|
||||
|
||||
elements.smoked_chicken = {
|
||||
color:["#AF4523", "#AC481F"],
|
||||
behavior: behaviors.STURDYPOWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
temp:55,
|
||||
tempHigh: 600,
|
||||
stateHigh: ["ash","smoke"],
|
||||
isFood: true,
|
||||
hidden: true,
|
||||
}
|
||||
|
||||
elements.crushed_worm = {
|
||||
color: ["#e56932", "#c0714e"],
|
||||
behavior: behaviors.STURDYPOWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
temp: 20,
|
||||
tempHigh: 50,
|
||||
stateHigh: ["ash", "smoke"],
|
||||
tempLow: -4,
|
||||
stateLow: "frozen_worm",
|
||||
density: 200.33,
|
||||
isFood: true,
|
||||
hidden: true,
|
||||
};
|
||||
|
||||
elements.worm.reactions.rock = { elem1: "crushed_worm" }
|
||||
elements.worm.breakInto = "crushed_worm"
|
||||
|
||||
elements.frozen_crushed_worm = {
|
||||
color: ["#2fcbae", "#3edabd", "#b2d5d9"],
|
||||
behavior: behaviors.STURDYPOWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
temp: -4,
|
||||
tempHigh: 20,
|
||||
stateHigh: "crushed_worm",
|
||||
density: 200.33,
|
||||
isFood: false,
|
||||
hidden: true,
|
||||
};
|
||||
|
||||
elements.cooked_chicken = {
|
||||
color: ["#c17c20", "#ebad2b", "#f7b846"],
|
||||
behavior: behaviors.STURDYPOWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
temp: 40,
|
||||
tempHigh: 600,
|
||||
stateHigh: ["ash", "smoke"],
|
||||
hidden: true,
|
||||
};
|
||||
|
||||
elements.raw_chicken = {
|
||||
color: ["#dfc8bd", "#e2cdc0", "#b9a195"],
|
||||
behavior: behaviors.STURDYPOWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
burnInto: "cook_chicken",
|
||||
temp:25,
|
||||
tempHigh: 600,
|
||||
stateHigh: ["ash", "smoke"],
|
||||
reactions: {
|
||||
"batter": { elem1: "battered_raw_chicken", elem2: null },
|
||||
"smoke": {elem1: "smoked_chicken"},
|
||||
"steam": {elem1: "steamed_chicken"},
|
||||
"water": {elem1: "boiled_chicken", tempMin: 70},
|
||||
"cooking_oil": {elem1: "fried_chicken", tempMin: 70}
|
||||
}
|
||||
};
|
||||
|
||||
elements.boiled_chicken = {
|
||||
color: ["#F9CC84", "#EDCE89", "#F8CB78"],
|
||||
behavior: behaviors.STURDYPOWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
isFood: true,
|
||||
temp: 65,
|
||||
tempHigh: 600,
|
||||
stateHigh: ["ash", "smoke"],
|
||||
hidden: true,
|
||||
}
|
||||
|
||||
elements.fried_chicken = {
|
||||
color: ["#E87D1A", "#E77106", "#E77106"],
|
||||
behavior: behaviors.STURDYPOWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
isFood: true,
|
||||
temp: 90,
|
||||
tempHigh: 600,
|
||||
stateHigh: ["ash", "smoke"],
|
||||
hidden: true,
|
||||
}
|
||||
|
||||
elements.raw_chicken_nugget = {
|
||||
color: ["#d6bc7e", "#d2b47a", "#c7a969"],
|
||||
behavior: behaviors.STURDYPOWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
burnInto: "chicken_nugget",
|
||||
temp:25,
|
||||
tempHigh: 600,
|
||||
stateHigh: ["ash", "smoke"],
|
||||
hidden: true,
|
||||
reactions: {
|
||||
"cooking_oil": {elem1: "chicken_nugget", tempMin: 70}
|
||||
}
|
||||
};
|
||||
|
||||
elements.chicken_nugget = {
|
||||
color: ["#D77105", "#D77105", "#EB8C2C", "#EB8C2C"],
|
||||
behavior: behaviors.STURDYPOWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
temp: 40,
|
||||
tempHigh: 600,
|
||||
stateHigh: ["ash", "smoke"],
|
||||
tempLow: -20,
|
||||
stateLow: "frozen_chicken_nugget",
|
||||
isFood: true,
|
||||
density: 100,
|
||||
hidden: true,
|
||||
};
|
||||
|
||||
elements.frozen_chicken_nugget = {
|
||||
color: ["#45a69c", "#73d9cd", "#3f9f95", "#389d8e"],
|
||||
behavior: behaviors.STURDYPOWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
temp: -20,
|
||||
tempHigh: 40,
|
||||
stateHigh: "chicken_nugget",
|
||||
isFood: false,
|
||||
density: 100,
|
||||
hidden: true,
|
||||
};
|
||||
|
||||
elements.olive_wood = {
|
||||
color: "#632e1f",
|
||||
behavior: behaviors.WALL,
|
||||
tempHigh: 400,
|
||||
stateHigh: ["ember","charcoal","fire","fire","fire"],
|
||||
category: "solids",
|
||||
burn: 5,
|
||||
burnTime: 300,
|
||||
burnInto: ["ember","charcoal","fire"],
|
||||
state: "solid",
|
||||
hardness: 0.15,
|
||||
breakInto: "sawdust",
|
||||
breakIntoColor: ["#dba66e","#cc8a64"],
|
||||
}
|
||||
elements.olive_branch = {
|
||||
color: "#632e1f",
|
||||
behavior: [
|
||||
"CR:olive_leaves,olive_branch%2|CR:olive_leaves,olive_leaves,olive_leaves,olive_branch%2|CR:olive_leaves,olive_branch%2",
|
||||
"XX|XX|XX",
|
||||
"XX|XX|XX",
|
||||
],
|
||||
tempHigh: 100,
|
||||
stateHigh: "olive_wood",
|
||||
tempLow: -30,
|
||||
stateLow: "olive_wood",
|
||||
category: "life",
|
||||
burn: 40,
|
||||
burnTime: 50,
|
||||
burnInto: ["sap","ember","charcoal"],
|
||||
hidden: true,
|
||||
state: "solid",
|
||||
density: 1500,
|
||||
hardness: 0.15,
|
||||
breakInto: ["sap","sawdust"],
|
||||
hidden: true,
|
||||
}
|
||||
elements.olive_leaves = {
|
||||
color: ["#407603","#376502","#2e5502"],
|
||||
behavior: [
|
||||
"XX|XX|XX",
|
||||
"XX|XX|XX",
|
||||
"XX|CR:olive%0.15|XX",
|
||||
],
|
||||
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:"life",
|
||||
tempHigh: 100,
|
||||
stateHigh: "dead_plant",
|
||||
tempLow: -1.66,
|
||||
stateLow: "frozen_plant",
|
||||
burn:65,
|
||||
burnTime:60,
|
||||
burnInto: "dead_plant",
|
||||
breakInto: "dead_plant",
|
||||
state: "solid",
|
||||
density: 1050,
|
||||
seed: "olive_seed",
|
||||
hidden: true
|
||||
}
|
||||
elements.olive = {
|
||||
color: ["#6e8b3d","#7c9d45"],
|
||||
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 },
|
||||
"rock": { elem1:"cooking_oil", elem2:"rock", chance:0.035 },
|
||||
},
|
||||
category:"food",
|
||||
tempHigh: 100,
|
||||
stateHigh: "dead_plant",
|
||||
tempLow: -1.66,
|
||||
stateLow: "frozen_plant",
|
||||
burn:65,
|
||||
burnTime:60,
|
||||
burnInto: "dead_plant",
|
||||
breakInto: "cooking_oil",
|
||||
state: "solid",
|
||||
density: 1050,
|
||||
isFood: false
|
||||
}
|
||||
|
||||
|
||||
elements.cooking_oil = {
|
||||
color: "#ffc844",
|
||||
behavior: behaviors.LIQUID,
|
||||
category: "liquids",
|
||||
tempHigh: 400,
|
||||
stateHigh: "fire",
|
||||
burn: 70,
|
||||
burnTime: 300,
|
||||
burnInto: ["carbon_dioxide","fire"],
|
||||
viscosity: 250,
|
||||
state: "liquid",
|
||||
density: 825,
|
||||
hidden: true,
|
||||
temp: 30,
|
||||
reaction: {
|
||||
"potato": {elem1: "fried_potato", tempMin: 70}
|
||||
}
|
||||
},
|
||||
|
||||
/*
|
||||
|
||||
elements.potato_skin = {
|
||||
color: ["#DC8A5A", "#A86C36", "#DC9A59", "#A76B35"],
|
||||
behavior: behaviors.STURDYPOWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
isFood: true,
|
||||
temp: 20,
|
||||
hidden: true,
|
||||
tempHigh: 250,
|
||||
stateHigh: ["ash", "smoke"]
|
||||
}
|
||||
|
||||
elements.peeled_potato = {
|
||||
color: ["#D6C39F", "#D1C09D", "#D1C09D", "#CDBF9E"],
|
||||
behavior: behaviors.STURDYPOWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
isFood: true,
|
||||
temp: 20,
|
||||
hidden: true,
|
||||
reaction: {
|
||||
"cooking_oil": { elem1: "fried_potato", tempMin: 70 }
|
||||
}
|
||||
}
|
||||
|
||||
*/
|
||||
|
||||
elements.fried_potato = {
|
||||
color: ["#DD7908", "#D57206", "#CA6801", "#D68001"],
|
||||
behavior: behaviors.STURDYPOWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
temp: 35,
|
||||
hidden: true,
|
||||
tempHigh: 600,
|
||||
stateHigh: ["ash", "smoke"],
|
||||
isFood: true,
|
||||
}
|
||||
|
|
@ -0,0 +1,169 @@
|
|||
elements.green_apple = {
|
||||
color: "#2ab54f",
|
||||
behavior: behaviors.POWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
tempHigh: 120,
|
||||
stateHigh: "ash",
|
||||
breakInto: "juice",
|
||||
breakIntoColor: "#5fba65",
|
||||
desc: "Green apple from the greenitemsandmore.js mod.",
|
||||
reactions: {
|
||||
"milk": { elem1: "fruit_milk", elem2: "fruit_milk", color1: "#86b867", color2: "#70b867" },
|
||||
"red_apple": { elem1: "mixed_apples", elem2: "mixed_apples" },
|
||||
}
|
||||
};
|
||||
elements.red_apple = {
|
||||
color: "#e83838",
|
||||
behavior: behaviors.POWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
tempHigh: 120,
|
||||
stateHigh: "ash",
|
||||
breakInto: "juice",
|
||||
breakIntoColor: "#c95555",
|
||||
desc: "Red apple from the greenitemsandmore.js mod.",
|
||||
reactions: {
|
||||
"milk": { elem1: "fruit_milk", elem2: "fruit_milk", color1: "#d65151", color2: "#d65152" },
|
||||
"green_apple": { elem1: "mixed_apples", elem2: "mixed_apples" },
|
||||
}
|
||||
};
|
||||
elements.mixed_apples = {
|
||||
color: ["#d13030", "#bf3d3d", "#369e3d", "#39b359"],
|
||||
behavior: behaviors.POWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
tempHigh: 120,
|
||||
stateHigh: "ash",
|
||||
breakInto: "juice",
|
||||
breakIntoColor: ["#ba6859", "#71a676"],
|
||||
desc: "Mixed apples from the greenitemsandmore.js mod.",
|
||||
reactions: {
|
||||
"milk": { elem1: "fruit_milk", elem2: "fruit_milk", color1: "#c47264", color2: "#66bd57"},
|
||||
"sugar": { elem1: "mixed_sweet_apples", elem2: "mixed_sweet_apples" },
|
||||
}
|
||||
};
|
||||
elements.mixed_sweet_apples = {
|
||||
color: ["#d93f3f", "#d45555", "#50b556", "#50cc70"],
|
||||
behavior: behaviors.POWDER,
|
||||
category: "states",
|
||||
state: "solid",
|
||||
tempHigh: 135,
|
||||
stateHigh: "ash",
|
||||
breakInto: "juice",
|
||||
breakIntoColor: ["#ad746a", "#82ba88"],
|
||||
hidden: true,
|
||||
desc: "Mixed sweet apples from the greenitemsandmore.js mod.",
|
||||
reactions: {
|
||||
"milk": {elem1: "fruit_milk", elem2: "fruit_milk", color1: "#f58989", color2: "#71a162"},
|
||||
"flour": {elem1: "apple_pie", tempMin: 15, elem2: "apple_pie" },
|
||||
}
|
||||
};
|
||||
elements.apple_pie = {
|
||||
color: "#f0b55d",
|
||||
behavior: behaviors.STURDYPOWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
tempHigh: 156,
|
||||
stateHigh: "ash",
|
||||
desc: "Apple pie from the greenitemsandmore.js mod.",
|
||||
hidden: true,
|
||||
};
|
||||
elements.pear = {
|
||||
color: "#3a8c3c",
|
||||
behavior: behaviors.POWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
tempHigh: 120,
|
||||
stateHigh: "ash",
|
||||
breakInto: "juice",
|
||||
breakIntoColor: "#5f8f50",
|
||||
desc: "Pear from the greenitemsandmore.js mod.",
|
||||
reactions: {
|
||||
"milk": {elem1: "fruit_milk", elem2: "fruit_milk", color1: "#60c483", color2: "#60c483"},
|
||||
}
|
||||
};
|
||||
elements.coconut = {
|
||||
color: "#8c6d3a",
|
||||
behavior: behaviors.POWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
tempHigh: 166,
|
||||
stateHigh: "ash",
|
||||
desc: "Coconut from the greenitemsandmore.js mod.",
|
||||
breakInto: "coconut_flesh",
|
||||
};
|
||||
elements.coconut_flesh = {
|
||||
color: "#faf4eb",
|
||||
behavior: behaviors.POWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
tempHigh: 134,
|
||||
stateHigh: "ash",
|
||||
hidden: true,
|
||||
desc: "Coconut flesh from the greenitemsandmore.js mod.",
|
||||
reactions: {
|
||||
"water": {elem1: "coconut_milk", elem2: "coconut_milk" },
|
||||
}
|
||||
};
|
||||
|
||||
elements.coconut_milk = {
|
||||
color: "#f7f5f2",
|
||||
behavior: behaviors.LIQUID,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
tempHigh: 124,
|
||||
stateHigh: "steam",
|
||||
tempLow: -10,
|
||||
stateLow: "frozen_coconut_milk",
|
||||
desc: "Coconut milk from the greenitemsandmore.js mod.",
|
||||
hidden: true,
|
||||
};
|
||||
elements.frozen_coconut_milk = {
|
||||
color: "#f0fcfc",
|
||||
behavior: behaviors.WALL,
|
||||
category: "states",
|
||||
state: "ice",
|
||||
tempHigh: -10,
|
||||
stateHigh: "coconut_milk",
|
||||
hidden: true,
|
||||
desc: "Frozen coconut milk from the greenitemsandmore.js mod.",
|
||||
temp: -20,
|
||||
};
|
||||
elements.fruit_doughnut = {
|
||||
color: "#de9802",
|
||||
behavior: behaviors.STURDYPOWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
tempHigh: 95,
|
||||
stateHigh: "ash",
|
||||
desc: "Fruit doughnuts, or as dutch people call it: Olliebollen. A newyear snack. Made from flour, yeast and milk. From the greenitemsandmore.js mod.",
|
||||
breakInto: "flour",
|
||||
hidden: true,
|
||||
};
|
||||
elements.dough.reactions = {
|
||||
"yeast": { elem1: "fruit_doughnut", elem2: "fruit_doughnut" }
|
||||
};
|
||||
elements.beans.tempHigh = "40"
|
||||
elements.beans.stateHigh = "baked_beans"
|
||||
elements.baked_beans = {
|
||||
color: ["#bf6211", "#c46b1d", "#b35d12", "#a65b19"],
|
||||
behavior: behaviors.POWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
tempLow: 40,
|
||||
stateLow: "beans",
|
||||
desc: "Baked beans from the greenitemsandmore.js mod.",
|
||||
hidden: true,
|
||||
};
|
||||
elements.kiwi = {
|
||||
color: ["#469e3e", "#9e813e"],
|
||||
behavior: behaviors.POWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
desc: "Kiwi from the greenitemsandmore.js mod.",
|
||||
breakInto: "juice",
|
||||
breakIntoColor: "#2e7533",
|
||||
tempHigh: 120
|
||||
stateHigh: "ash"
|
||||
};
|
||||
|
|
@ -16,7 +16,7 @@ elements.tsar_bomba = {
|
|||
],
|
||||
category: "weapons",
|
||||
state: "solid",
|
||||
density: 1300,
|
||||
density: 1700,
|
||||
excludeRandom: true,
|
||||
cooldown: defaultCooldown
|
||||
}
|
||||
|
|
@ -28,4 +28,24 @@ elements.meese = {
|
|||
"XX|M1|XX",
|
||||
],
|
||||
category: "life"
|
||||
}
|
||||
},
|
||||
elements.blackpowder = {
|
||||
color: ["#555D50","#36454F"],
|
||||
behavior: behaviors.STURDYPOWDER,
|
||||
category: "powders",
|
||||
burn: 100,
|
||||
burnTime: 250,
|
||||
tempHigh: 292,
|
||||
state: "solid",
|
||||
density: 5150,
|
||||
},
|
||||
elements.rp1= {
|
||||
color: "#db5968",
|
||||
behavior: behaviors.LIQUID,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 1700,
|
||||
alias: "rocket propellant 1",
|
||||
burn: 100,
|
||||
burnTime: 400,
|
||||
};
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
elements.green_gold = {
|
||||
color: ["#94c7a3","#7bb298","#94c7a3"],
|
||||
behavior: behaviors.WALL,
|
||||
tempHigh: 500,
|
||||
category: "solids",
|
||||
density: 13000,
|
||||
burnInto: ["molten_green_gold"],
|
||||
conduct: 0.87,
|
||||
};
|
||||
elements.molten_green_gold = {
|
||||
color: "#d9f046",
|
||||
behavior: behaviors.MOLTEN,
|
||||
tempHigh: 500,
|
||||
category: "states",
|
||||
density: 13000,
|
||||
conduct: 0.87,
|
||||
Hidden: true
|
||||
};
|
||||
|
|
@ -1018,7 +1018,7 @@ elements.pipe.tick = function(pixel) {
|
|||
var x = pixel.x+coord[0];
|
||||
var y = pixel.y+coord[1];
|
||||
if (isEmpty(x,y)) {
|
||||
createPixel("brick",x,y);
|
||||
createPixel("pipe_wall",x,y);
|
||||
pixelMap[x][y].color = pixelColorPick(pixel,"#808080");
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
elements.beer = {
|
||||
color: "#ffc64a",
|
||||
color: ["#ffc43d","#ffc43d","#ebc59f"],
|
||||
behavior: behaviors.LIQUID,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
|
|
@ -7,7 +7,7 @@ elements.beer = {
|
|||
};
|
||||
|
||||
elements.root_beer = {
|
||||
color: "#9e7723",
|
||||
color: ["#8b2f02","#732803"],
|
||||
behavior: behaviors.LIQUID,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
|
|
@ -15,7 +15,7 @@ elements.root_beer = {
|
|||
};
|
||||
|
||||
elements.fruit_slushy = {
|
||||
color: "#b867cf",
|
||||
color: ["#d43968","#ec5885","#f57ca1","#fba9c2","#ffe3eb"],
|
||||
behavior: behaviors.LIQUID,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
|
|
@ -23,7 +23,7 @@ elements.fruit_slushy = {
|
|||
};
|
||||
|
||||
elements.mold = {
|
||||
color: "#86ab29",
|
||||
color: ["#b6d7a8","#6d9d5c","#ad8d6f"],
|
||||
behavior: behaviors.POWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
|
|
@ -31,7 +31,7 @@ elements.mold = {
|
|||
};
|
||||
|
||||
elements.chocolate_slushy = {
|
||||
color: "#4f2e16",
|
||||
color: ["#c3ae9a","#ae967f","#977b5f","#876b4f","#816346"],
|
||||
behavior: behaviors.LIQUID,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
|
|
@ -39,7 +39,7 @@ elements.chocolate_slushy = {
|
|||
};
|
||||
|
||||
elements.chocolate_sauce = {
|
||||
color: "#754828",
|
||||
color: ["#491904","#54240b","#5e2d0b","#69371b","#764636"],
|
||||
behavior: behaviors.LIQUID,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
|
|
@ -47,7 +47,7 @@ elements.chocolate_sauce = {
|
|||
};
|
||||
|
||||
elements.chocolate_ice_cream = {
|
||||
color: "#704b3a",
|
||||
color: ["#a47551","#523a28"],
|
||||
behavior: behaviors.STURDYPOWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
|
|
@ -55,7 +55,7 @@ elements.chocolate_ice_cream = {
|
|||
};
|
||||
|
||||
elements.fruit_ice_cream = {
|
||||
color: "#de6ab7",
|
||||
color: ["#f8d8d8","#f6c1c1","#e39898"],
|
||||
behavior: behaviors.STURDYPOWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
|
|
@ -63,7 +63,7 @@ elements.fruit_ice_cream = {
|
|||
};
|
||||
|
||||
elements.chocolate_yogurt = {
|
||||
color: "#825c4b",
|
||||
color: ["#654321","#71512b","#7e5f36","#8a6e42","#967d50"],
|
||||
behavior: behaviors.STURDYPOWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
|
|
@ -73,7 +73,7 @@ elements.chocolate_yogurt = {
|
|||
};
|
||||
|
||||
elements.fruit_yogurt = {
|
||||
color: "#f587d0",
|
||||
color: ["#ffc3d8","#ffabd6","#ff96c5","#ff84c2","#ff5daf"],
|
||||
behavior: behaviors.STURDYPOWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
|
|
@ -83,7 +83,7 @@ elements.fruit_yogurt = {
|
|||
};
|
||||
|
||||
elements.frozen_fruit_yogurt = {
|
||||
color: "#ffc2ea",
|
||||
color: ["#ffdfdf","#ffc0c0","#ff9b9b"],
|
||||
behavior: behaviors.STURDYPOWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
|
|
@ -94,7 +94,7 @@ elements.frozen_fruit_yogurt = {
|
|||
};
|
||||
|
||||
elements.frozen_chocolate_yogurt = {
|
||||
color: "#ad8776",
|
||||
color: ["#a87848","#a57e57","#c1a07f","#e2c5ac","#efd0b1"],
|
||||
behavior: behaviors.STURDYPOWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
|
|
@ -118,7 +118,7 @@ elements.cooking_oil = {
|
|||
};
|
||||
|
||||
elements.chicken_nuggets = {
|
||||
color: "#967242",
|
||||
color: ["#8f411c","#a35935"],
|
||||
behavior: behaviors.POWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
|
|
@ -126,7 +126,7 @@ elements.chicken_nuggets = {
|
|||
};
|
||||
|
||||
elements.advanced_dough = {
|
||||
color: "#dbbc72",
|
||||
color: ["#f3e6c6","#f9e8a2","#ebd27b","#dba94e","#c08932"],
|
||||
behavior: behaviors.STURDYPOWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
|
|
@ -139,7 +139,7 @@ elements.advanced_dough = {
|
|||
};
|
||||
|
||||
elements.fries = {
|
||||
color: "#ebba34",
|
||||
color: ["#f4c63e","#f6d165","#f8dd8b"],
|
||||
behavior: behaviors.POWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
|
|
@ -147,13 +147,22 @@ elements.fries = {
|
|||
};
|
||||
|
||||
elements.fried_snow = {
|
||||
color: "#a16f37",
|
||||
color: ["#f6c66a","#d29829","#905c1b"],
|
||||
behavior: behaviors.POWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
hidden: "TRUE",
|
||||
};
|
||||
|
||||
elements.battery_acid = {
|
||||
color: ["#8fff00","#1de446"],
|
||||
behavior: behaviors.LIQUID,
|
||||
category: "machines",
|
||||
state: "solid",
|
||||
hidden: "TRUE",
|
||||
};
|
||||
|
||||
|
||||
elements.steampunk_pancakes = {
|
||||
color: "#252a33",
|
||||
behavior: behaviors.POWDER,
|
||||
|
|
@ -163,7 +172,7 @@ elements.steampunk_pancakes = {
|
|||
};
|
||||
|
||||
elements.churros = {
|
||||
color: "#c29a3c",
|
||||
color: ["#ce9958","#b8732d","#9f633b"],
|
||||
behavior: behaviors.POWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
|
|
@ -175,7 +184,7 @@ elements.churros = {
|
|||
};
|
||||
|
||||
elements.chocolate_churros = {
|
||||
color: "#1c0c01",
|
||||
color: ["#9f6204","#875200","#764100","#582c00","#492100"],
|
||||
behavior: behaviors.POWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
|
|
@ -183,7 +192,7 @@ elements.chocolate_churros = {
|
|||
};
|
||||
|
||||
elements.croissant = {
|
||||
color: "#e0c46e",
|
||||
color: ["#c68028","#ad7023","#905c1b","#794d16","#674112"],
|
||||
behavior: behaviors.POWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
|
|
@ -195,7 +204,7 @@ elements.croissant = {
|
|||
};
|
||||
|
||||
elements.eggy_dough = {
|
||||
color: "#c4ad7c",
|
||||
color: ["#df8c43","#e5a369","#ecba8e","#f2d1b4","#f9e8d9"],
|
||||
behavior: behaviors.POWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
|
|
@ -205,7 +214,7 @@ elements.eggy_dough = {
|
|||
};
|
||||
|
||||
elements.french_toast = {
|
||||
color: "#ab8d4f",
|
||||
color: ["#a77644","#af7b4b","#af7f57"],
|
||||
behavior: behaviors.POWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
|
|
@ -216,7 +225,7 @@ elements.french_toast = {
|
|||
};
|
||||
|
||||
elements.rose_sauce = {
|
||||
color: "#f0340e",
|
||||
color: ["#db2300","#e24f33"],
|
||||
behavior: behaviors.LIQUID,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
|
|
@ -224,7 +233,7 @@ elements.rose_sauce = {
|
|||
};
|
||||
|
||||
elements.seasoning = {
|
||||
color: "#734631",
|
||||
color: ["#945239","#896251"],
|
||||
behavior: behaviors.POWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
|
|
@ -232,7 +241,7 @@ elements.seasoning = {
|
|||
};
|
||||
|
||||
elements.parmesan = {
|
||||
color: "#e0c66e",
|
||||
color: ["#ffffdd","#ffffe4","#ffffeb","#fffff1","#fffff8"],
|
||||
behavior: behaviors.POWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
|
|
@ -249,7 +258,7 @@ elements.baking_powder = {
|
|||
};
|
||||
|
||||
elements.smashed_ice = {
|
||||
color: "#c3d4e6",
|
||||
color: ["#e3fdff","#d1f7ff","#c0f7ff"],
|
||||
behavior: behaviors.LIQUID,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
|
|
@ -273,7 +282,7 @@ elements.smashed_ice = {
|
|||
};
|
||||
|
||||
elements.moss = {
|
||||
color: "#389639",
|
||||
color: ["#355438","#416044","#4c7450","#68946c","#81a984"],
|
||||
behavior: behaviors.STURDYPOWDER,
|
||||
category: "life",
|
||||
state: "solid",
|
||||
|
|
@ -294,7 +303,7 @@ elements.moss = {
|
|||
|
||||
elements.moth = {
|
||||
color: "#665233",
|
||||
behavior: behaviors.BOUNCY,
|
||||
behavior: behaviors.FLY,
|
||||
category: "life",
|
||||
state: "solid",
|
||||
burn: 95,
|
||||
|
|
@ -308,7 +317,7 @@ elements.moth = {
|
|||
};
|
||||
|
||||
elements.cherry = {
|
||||
color: "#c41428",
|
||||
color: ["#ff0000","#e30202","#c00000","#9c0101"],
|
||||
behavior: behaviors.POWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
|
|
@ -320,71 +329,153 @@ elements.cherry = {
|
|||
};
|
||||
|
||||
elements.strawberry = {
|
||||
color: "#ff0033",
|
||||
color: ["#fb2943","#ff0033"],
|
||||
behavior: behaviors.POWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
breakInto: "juice",
|
||||
tempHigh: 256,
|
||||
stateHigh: "steam",
|
||||
breakIntoColor: "#bd0f32",
|
||||
breakIntoColor: ["#bf0147","#c61548","#cc2857","#c62354","#c11848"],
|
||||
};
|
||||
|
||||
elements.apple = {
|
||||
color: "#f21313",
|
||||
color: ["#fc3434","#f91515","#d30404","#9f0606","#aa0404"],
|
||||
behavior: behaviors.POWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
breakInto: "juice",
|
||||
tempHigh: 256,
|
||||
stateHigh: "steam",
|
||||
breakIntoColor: "#ffd500",
|
||||
breakIntoColor: ["#ffda69","#ffdb84"],
|
||||
};
|
||||
|
||||
elements.orange = {
|
||||
color: "#ff9100",
|
||||
elements.green_apple = {
|
||||
color: ["#a8da61","#66cc00","#66cc33","#00cc00","#009900"],
|
||||
behavior: behaviors.POWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
breakInto: "juice",
|
||||
tempHigh: 256,
|
||||
stateHigh: "steam",
|
||||
breakIntoColor: ["#ffda69","#ffdb84"],
|
||||
};
|
||||
|
||||
elements.orange = {
|
||||
color: ["#ff9a00","#ffc100","#ff8100"],
|
||||
behavior: behaviors.POWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
breakInto: "juice",
|
||||
breakIntoColor: ["#ffc659","#ffb646","#ffa700","#ff8d00"],
|
||||
tempHigh: 256,
|
||||
stateHigh: "steam",
|
||||
};
|
||||
|
||||
elements.kiwi = {
|
||||
color: "#34611a",
|
||||
color: ["#a9c77e","#61ab5a"],
|
||||
behavior: behaviors.POWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
breakInto: "juice",
|
||||
tempHigh: 256,
|
||||
stateHigh: "steam",
|
||||
breakIntoColor: "#517a38",
|
||||
breakIntoColor: ["#a9c77e","#bad98f"],
|
||||
};
|
||||
|
||||
elements.green_grape = {
|
||||
color: "#b6eb7f",
|
||||
color: ["#b6f271","#a1f02f","#97d60c","#65ba14","#8bc33a"],
|
||||
behavior: behaviors.POWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
breakInto: "juice",
|
||||
breakIntoColor: "#5f8536",
|
||||
breakIntoColor: ["#5f8536","#7ba84a"],
|
||||
tempHigh: 256,
|
||||
stateHigh: "steam",
|
||||
};
|
||||
|
||||
elements.banana = {
|
||||
color: ["#ffb400","#ffc100","#ffdb00","#ffe700","#f0ff00"],
|
||||
behavior: behaviors.STURDYPOWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
breakInto: "juice",
|
||||
breakIntoColor: "#f0f060",
|
||||
reactions: {
|
||||
"steam": { elem1: "potassium", elem2: null },
|
||||
}
|
||||
};
|
||||
|
||||
elements.mint = {
|
||||
color: ["#72e88d","#53bd6c"],
|
||||
behavior: behaviors.STURDYPOWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
reactions: {
|
||||
"cream": { elem1: null, elem2: "toorhpaste" },
|
||||
}
|
||||
};
|
||||
|
||||
elements.potassium = {
|
||||
color: "#a3a333",
|
||||
behavior: behaviors.POWDER,
|
||||
category: "states",
|
||||
state: "solid",
|
||||
breakInto: "juice",
|
||||
};
|
||||
|
||||
elements.onion = {
|
||||
color: ["#62121b","#a92940","#c04b65","#d8699e"],
|
||||
behavior: behaviors.STURDYPOWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
breakInto: ["stench", null, null, null, null],
|
||||
};
|
||||
|
||||
|
||||
elements.garlic = {
|
||||
color: ["#f7f3e1","#f6f3c3","#f0e6bd"],
|
||||
behavior: behaviors.STURDYPOWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
breakInto: "garlic_clove",
|
||||
};
|
||||
|
||||
elements.garlic_clove = {
|
||||
color: ["#b8b17f","#6b5628"],
|
||||
behavior: behaviors.POWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
hidden: "TRUE",
|
||||
};
|
||||
|
||||
elements.oreo = {
|
||||
color: "#120600",
|
||||
behavior: behaviors.STURDYPOWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
reactions: {
|
||||
"toorhpaste": { elem1: "poison_oreo", elem2: null },
|
||||
}
|
||||
};
|
||||
|
||||
elements.poison_oreo = {
|
||||
color: "#001112",
|
||||
behavior: behaviors.STURDYPOWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
hidden: "TRUE",
|
||||
};
|
||||
|
||||
|
||||
elements.toorhpaste = {
|
||||
color: "#7dfff2",
|
||||
color: ["#31ffe0","#65ffe8","#97ffef","#c9fff7","#f3fffd"],
|
||||
behavior: behaviors.LIQUID,
|
||||
category: "liquids",
|
||||
state: "solid",
|
||||
reactions: {
|
||||
"juice": { elem1: "poison", elem2: null },
|
||||
}
|
||||
};
|
||||
|
||||
if (!elements.lettuce.reactions) elements.lettuce.reactions = {};
|
||||
|
|
@ -450,6 +541,8 @@ elements.baked_batter.reactions.mud = { elem1: "mold", elem2: null }
|
|||
|
||||
elements.sugar_ice.breakInto = "smashed_ice"
|
||||
|
||||
elements.battery.breakInto = "battery_acid"
|
||||
|
||||
elements.herb.breakInto = "seasoning"
|
||||
|
||||
elements.chocolate.breakInto = "chocolate_sauce"
|
||||
|
|
|
|||
|
|
@ -0,0 +1,321 @@
|
|||
runAfterLoad(function(){
|
||||
tryMove = function(pixel,nx,ny,leaveBehind,force) {
|
||||
if (pixel.drag && !force) { return true; }
|
||||
var info = elements[pixel.element];
|
||||
var oob = outOfBounds(nx,ny);
|
||||
if (isEmpty(nx,ny,false,oob)) { // If coords is empty, move to coords
|
||||
movePixel(pixel,nx,ny,leaveBehind);
|
||||
return true;
|
||||
}
|
||||
else if (!oob) {
|
||||
// Reactions
|
||||
newPixel = pixelMap[nx][ny];
|
||||
if (info.density !== undefined) {
|
||||
newPixel.pressure = info.density/5000 + (pixel.pressure ? pixel.pressure : 0);
|
||||
}
|
||||
var rr1 = false;
|
||||
if (info.reactions !== undefined && info.reactions[newPixel.element] !== undefined) {
|
||||
rr1 = reactPixels(pixel,newPixel)
|
||||
if (rr1) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if (!rr1 && elements[newPixel.element].reactions !== undefined && elements[newPixel.element].reactions[pixel.element] !== undefined && !elements[newPixel.element].reactions[pixel.element].oneway) {
|
||||
if (reactPixels(newPixel,pixel)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
// Density
|
||||
if (elements[pixel.element].id !== elements[newPixel.element].id) {
|
||||
if (info.density !== undefined && elements[newPixel.element].density !== undefined) {
|
||||
// if the pixel's state + ">" + newPixel's state is in validDensitySwaps, and the pixel's density is larger than the newPixel's density, swap the pixels
|
||||
if (validDensitySwaps[info.state][elements[newPixel.element].state] && info.density >= elements[newPixel.element].density) {
|
||||
// chance depending on the difference in density
|
||||
if (Math.random() < (info.density - elements[newPixel.element].density)/(info.density + elements[newPixel.element].density)) {
|
||||
swapPixels(pixel,newPixel);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// else { // same-element density swapping
|
||||
// if (info.density !== undefined) {
|
||||
// if (validDensitySwaps[info.state][info.state]) {
|
||||
// if (Math.random() < 0.01) {
|
||||
// swapPixels(pixel,newPixel);
|
||||
// return true;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
}
|
||||
return false;
|
||||
}
|
||||
doVelocity = function(pixel) {
|
||||
if ((pixel.vx||pixel.vy) && elements[pixel.element].movable) {
|
||||
if (pixel.vx) {
|
||||
// move the pixel vx times
|
||||
for (var i = 0; i < Math.floor(Math.abs(pixel.vx)); i++) {
|
||||
var x = pixel.x+Math.sign(pixel.vx);
|
||||
var y = pixel.y;
|
||||
if (!tryMove(pixel,x,y)) {
|
||||
// if (!isEmpty(x,y,true)) {
|
||||
// var newPixel = pixelMap[x][y];
|
||||
// if (elements[newPixel.element].movable) {
|
||||
// newPixel.vx = (newPixel.vx||0) + pixel.vx - Math.sign(pixel.vx);
|
||||
// if (elements[pixel.element].breakInto && Math.random()<elements[pixel.element].breakIntoChance) {
|
||||
// changePixel(pixel,elements[pixel.element].breakInto);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
pixel.vx = -pixel.vx/2;
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
pixel.pressure = 0;
|
||||
}
|
||||
if(pixel.del)
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (pixel.vx) { pixel.vx = Math.abs(pixel.vx)/1.25*Math.sign(pixel.vx) }
|
||||
}
|
||||
if (pixel.vy) {
|
||||
// move the pixel vy times
|
||||
for (var i = 0; i < Math.floor(Math.abs(pixel.vy)); i++) {
|
||||
var x = pixel.x;
|
||||
var y = pixel.y+Math.sign(pixel.vy);
|
||||
if (!tryMove(pixel,x,y)) {
|
||||
// if (!isEmpty(x,y,true)) {
|
||||
// var newPixel = pixelMap[x][y];
|
||||
// if (elements[newPixel.element].movable) {
|
||||
// newPixel.vy = (newPixel.vy||0) + pixel.vy - Math.sign(pixel.vy);
|
||||
// if (elements[pixel.element].breakInto && Math.random()<elements[pixel.element].breakIntoChance) {
|
||||
// changePixel(pixel,elements[pixel.element].breakInto);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
pixel.vy = -pixel.vy/2;
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
pixel.pressure = 0;
|
||||
}
|
||||
if(pixel.del)
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (pixel.vy) { pixel.vy = Math.abs(pixel.vy)/1.25*Math.sign(pixel.vy) }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
drawPixels = function(forceTick=false) {
|
||||
// newCurrentPixels = shuffled currentPixels
|
||||
var newCurrentPixels = currentPixels.slice();
|
||||
var pixelsFirst = [];
|
||||
var pixelsLast = [];
|
||||
if (!paused || forceTick) {
|
||||
shuffleArray(newCurrentPixels);
|
||||
}
|
||||
/*{newCurrentPixels.sort(function(p) { // shuffle the pixels but keep elements[p.element].isGas last
|
||||
return 0.5 - Math.random();
|
||||
})} // shuffle the pixels if not paused*/
|
||||
for (var i = 0; i < newCurrentPixels.length; i++) {
|
||||
pixel = newCurrentPixels[i];
|
||||
//if (pixelMap[pixel.x][pixel.y] == undefined || currentPixels.indexOf(pixel) == -1) {continue}
|
||||
if (pixel.del) {continue}
|
||||
if (!paused || forceTick) {
|
||||
doVelocity(pixel);
|
||||
pixel.prevX = pixel.x;
|
||||
pixel.prevY = pixel.y;
|
||||
if (pixel.del) {continue}
|
||||
if (elements[pixel.element].tick) { // Run tick function if it exists
|
||||
elements[pixel.element].tick(pixel);
|
||||
}
|
||||
if (pixel.del) {continue}
|
||||
if (elements[pixel.element].behavior) { // Parse behavior if it exists
|
||||
pixelTick(pixel);
|
||||
}
|
||||
};
|
||||
if (pixel.con) { pixel = pixel.con }
|
||||
if (elements[pixel.element].isGas || elements[pixel.element].glow) {
|
||||
pixelsLast.push(pixel);
|
||||
}
|
||||
else {
|
||||
pixelsFirst.push(pixel);
|
||||
}
|
||||
}
|
||||
for (var i = 0; i < newCurrentPixels.length; i++) {
|
||||
pixel = newCurrentPixels[i];
|
||||
let density = elements[pixel.element].density ? elements[pixel.element].density : 1;
|
||||
let accelx = (pixel.x - pixel.prevX)/2 * (1+(pixel.pressure ? pixel.pressure : 0)/density);
|
||||
let accely = (pixel.y - pixel.prevY)/2 * (1+(pixel.pressure ? pixel.pressure : 0)/density);
|
||||
if(!pixel.vx)
|
||||
pixel.vx = accelx;
|
||||
else
|
||||
pixel.vx += accelx;
|
||||
if(!pixel.vy)
|
||||
pixel.vy = accely;
|
||||
else
|
||||
pixel.vy += accely;
|
||||
}
|
||||
// Draw the current pixels
|
||||
var canvas = document.getElementById("game");
|
||||
var ctx = canvas.getContext("2d");
|
||||
// Clear the canvas
|
||||
if (!settings["bg"]) {ctx.clearRect(0, 0, canvas.width, canvas.height)}
|
||||
else {
|
||||
ctx.fillStyle = settings["bg"];
|
||||
ctx.fillRect(0, 0, canvas.width, canvas.height);
|
||||
}
|
||||
var pixelDrawList = pixelsFirst.concat(pixelsLast);
|
||||
for (var i = 0; i < pixelDrawList.length; i++) {
|
||||
pixel = pixelDrawList[i];
|
||||
if (pixelMap[pixel.x][pixel.y] == undefined) {continue}
|
||||
if (pixel.con) { pixel = pixel.con }
|
||||
if (view===null || view===3) {
|
||||
ctx.fillStyle = pixel.color;
|
||||
}
|
||||
else if (view === 2) { // thermal view
|
||||
var temp = pixel.temp;
|
||||
if (temp < -50) {temp = -50}
|
||||
if (temp > 6000) {temp = 6000}
|
||||
// logarithmic scale, with coldest being 225 (-50 degrees) and hottest being 0 (6000 degrees)
|
||||
var hue = Math.round(225 - (Math.log(temp+50)/Math.log(6000+50))*225);
|
||||
if (hue < 0) {hue = 0}
|
||||
if (hue > 225) {hue = 225}
|
||||
ctx.fillStyle = "hsl("+hue+",100%,50%)";
|
||||
}
|
||||
else if (view === 4) { // smooth view, average of surrounding pixels
|
||||
var colorlist = [];
|
||||
// check adjacent coords on the pixelMap, add the color to the list if the pixel is not empty and the color indexOf "rgb" is not -1
|
||||
for (var j = 0; j < biCoords.length; j++) {
|
||||
var x = pixel.x + biCoords[j][0];
|
||||
var y = pixel.y + biCoords[j][1];
|
||||
if (isEmpty(x,y,true) || elements[pixelMap[x][y].element].state !== elements[pixel.element].state) {continue}
|
||||
var color = pixelMap[x][y].color;
|
||||
if (color.indexOf("rgb") !== -1) {
|
||||
colorlist.push(color.match(/\d+/g));
|
||||
}
|
||||
}
|
||||
if (colorlist.length === 0) {
|
||||
ctx.fillStyle = pixel.color;
|
||||
}
|
||||
else {
|
||||
ctx.fillStyle = averageRGB(colorlist);
|
||||
}
|
||||
}
|
||||
if (ctx.globalAlpha < 1 && !(elements[pixel.element].isGas || elements[pixel.element].glow)) {
|
||||
ctx.globalAlpha = 1;
|
||||
}
|
||||
if ((view === null || view === 4) && (elements[pixel.element].isGas || elements[pixel.element].glow)) {
|
||||
if (ctx.globalAlpha!==0.5) { ctx.globalAlpha = 0.5; }
|
||||
ctx.fillRect((pixel.x-1)*pixelSize, (pixel.y)*pixelSize, pixelSize*3, pixelSize);
|
||||
ctx.fillRect((pixel.x)*pixelSize, (pixel.y-1)*pixelSize, pixelSize, pixelSize*3);
|
||||
}
|
||||
else { // draw the pixel (default)
|
||||
ctx.fillRect(pixel.x*pixelSize, pixel.y*pixelSize, pixelSize, pixelSize);
|
||||
}
|
||||
if (pixel.charge && view !== 2) { // Yellow glow on charge
|
||||
if (!elements[pixel.element].colorOn) {
|
||||
ctx.fillStyle = "rgba(255,255,0,0.5)";
|
||||
ctx.fillRect(pixel.x*pixelSize, pixel.y*pixelSize, pixelSize, pixelSize);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (ctx.globalAlpha < 1) {
|
||||
ctx.globalAlpha = 1;
|
||||
}
|
||||
if ((!paused) || forceTick) {pixelTicks++};
|
||||
}
|
||||
|
||||
|
||||
})
|
||||
|
||||
explodeAt = function(x,y,radius,fire="fire") {
|
||||
// if fire contains , split it into an array
|
||||
if (fire.indexOf(",") !== -1) {
|
||||
fire = fire.split(",");
|
||||
}
|
||||
var coords = circleCoords(x,y,radius);
|
||||
var power = radius/10;
|
||||
//for (var p = 0; p < Math.round(radius/10+1); p++) {
|
||||
for (var i = 0; i < coords.length; i++) {
|
||||
// damage value is based on distance from x and y
|
||||
var damage = Math.random() + (Math.floor(Math.sqrt(Math.pow(coords[i].x-x,2) + Math.pow(coords[i].y-y,2)))) / radius;
|
||||
// invert
|
||||
damage = 1 - damage;
|
||||
if (damage < 0) { damage = 0; }
|
||||
damage *= power;
|
||||
if (isEmpty(coords[i].x,coords[i].y)) {
|
||||
// create smoke or fire depending on the damage if empty
|
||||
if (damage < 0.02) { } // do nothing
|
||||
else if (damage < 0.2) {
|
||||
createPixel("smoke",coords[i].x,coords[i].y);
|
||||
}
|
||||
else {
|
||||
// if fire is an array, choose a random item
|
||||
if (Array.isArray(fire)) {
|
||||
createPixel(fire[Math.floor(Math.random() * fire.length)],coords[i].x,coords[i].y);
|
||||
}
|
||||
else {
|
||||
createPixel(fire,coords[i].x,coords[i].y);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (!outOfBounds(coords[i].x,coords[i].y)) {
|
||||
// damage the pixel
|
||||
var pixel = pixelMap[coords[i].x][coords[i].y];
|
||||
var info = elements[pixel.element];
|
||||
if (info.hardness) { // lower damage depending on hardness(0-1)
|
||||
if (info.hardness < 1) {
|
||||
damage = damage * ((1 - info.hardness)*10);
|
||||
}
|
||||
else { damage = 0; }
|
||||
}
|
||||
if (damage > 0.9) {
|
||||
if (Array.isArray(fire)) {
|
||||
var newfire = fire[Math.floor(Math.random() * fire.length)];
|
||||
}
|
||||
else {
|
||||
var newfire = fire;
|
||||
}
|
||||
changePixel(pixel,newfire);
|
||||
continue;
|
||||
}
|
||||
else if (damage > 0.25) {
|
||||
if (info.breakInto !== undefined) {
|
||||
breakPixel(pixel);
|
||||
continue;
|
||||
}
|
||||
else {
|
||||
if (Array.isArray(fire)) {
|
||||
var newfire = fire[Math.floor(Math.random() * fire.length)];
|
||||
}
|
||||
else {
|
||||
var newfire = fire;
|
||||
}
|
||||
changePixel(pixel,newfire);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
if (damage > 0.75 && info.burn) {
|
||||
pixel.burning = true;
|
||||
pixel.burnStart = pixelTicks;
|
||||
}
|
||||
pixel.temp += damage*radius*power;
|
||||
pixelTempCheck(pixel);
|
||||
// set the pixel.vx and pixel.vy depending on the angle and power
|
||||
if (!elements[pixel.element].excludeRandom) {
|
||||
var angle = Math.atan2(pixel.y-y,pixel.x-x);
|
||||
pixel.vx = Math.round((pixel.vx|0) + Math.cos(angle) * (radius * power));
|
||||
pixel.vy = Math.round((pixel.vy|0) + Math.sin(angle) * (radius * power));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
274
mods/sbstuff.js
274
mods/sbstuff.js
|
|
@ -27,7 +27,7 @@ elements.moth = {
|
|||
tempHigh: 500,
|
||||
stateHigh: "ash",
|
||||
color: "#57381a",
|
||||
behavior: behaviors.GAS,
|
||||
behavior: behaviors.FLY,
|
||||
category: "life",
|
||||
state: "solid",
|
||||
};
|
||||
|
|
@ -237,7 +237,7 @@ elements.lemon = {
|
|||
|
||||
elements.lemon.reactions = {
|
||||
"juice": { elem1: null, elem2: "lemonade" }
|
||||
}
|
||||
};
|
||||
|
||||
elements.lemonade = {
|
||||
isFood: true,
|
||||
|
|
@ -511,12 +511,14 @@ elements.mashed_pea = {
|
|||
state: "liquid",
|
||||
};
|
||||
|
||||
elements.beans = {
|
||||
elements.burnt_beans = {
|
||||
tempHigh: 500,
|
||||
stateHigh: "ash",
|
||||
isFood: true,
|
||||
viscosity: 1000,
|
||||
viscosity: 10000,
|
||||
density: 721,
|
||||
hardness: 1,
|
||||
color: ["#ff751f", "#ff411f"],
|
||||
color: "#1a0d04",
|
||||
category: "food",
|
||||
behavior: behaviors.LIQUID,
|
||||
state: "liquid",
|
||||
|
|
@ -552,15 +554,17 @@ elements.cocaine = {
|
|||
};
|
||||
|
||||
elements.zombie = {
|
||||
viscosity: 1000,
|
||||
density: 1000,
|
||||
hardness: 1,
|
||||
tempHigh: 500,
|
||||
stateHigh: "ash",
|
||||
color: "#114700",
|
||||
behavior: behaviors.LIQUID,
|
||||
behavior: [
|
||||
"M1%2|M1%2 AND SW%1|M1%2",
|
||||
"M1%2 AND CH:zombie|XX|M1%2 AND CH:zombie",
|
||||
"M1|M1 AND SW%1|M1"
|
||||
],
|
||||
category: "special",
|
||||
state: "liquid",
|
||||
ignore: ["fire","smoke","antimatter","strange_matter","filler","lattice","wall","ewall","plasma","void","border"]
|
||||
};
|
||||
|
||||
elements.toothpaste = {
|
||||
|
|
@ -576,12 +580,91 @@ elements.radioactive_grape = {
|
|||
hidden: true,
|
||||
tempHigh: 1000,
|
||||
stateHigh: "ash",
|
||||
color: "#7d00d1",
|
||||
color: ["#7d00d1", "#8047d6"],
|
||||
behavior: behaviors.RADPOWDER,
|
||||
category: "food",
|
||||
state: "liquid",
|
||||
};
|
||||
|
||||
elements.radioactive_meat = {
|
||||
hidden: true,
|
||||
tempHigh: 1000,
|
||||
stateHigh: "ash",
|
||||
color: ["#4b5742", "#91564a"],
|
||||
behavior: behaviors.RADPOWDER,
|
||||
category: "food",
|
||||
state: "liquid",
|
||||
};
|
||||
|
||||
elements.radioactive_chocolate = {
|
||||
hidden: true,
|
||||
tempHigh: 1000,
|
||||
stateHigh: "ash",
|
||||
color: ["#404d29", "#4d3429"],
|
||||
behavior: behaviors.RADPOWDER,
|
||||
category: "food",
|
||||
state: "liquid",
|
||||
};
|
||||
|
||||
elements.radioactive_egg = {
|
||||
hidden: true,
|
||||
tempHigh: 1000,
|
||||
stateHigh: "ash",
|
||||
color: "#93cc87",
|
||||
behavior: behaviors.RADPOWDER,
|
||||
category: "food",
|
||||
state: "liquid",
|
||||
};
|
||||
|
||||
elements.radioactive_milk = {
|
||||
hidden: true,
|
||||
tempHigh: 1000,
|
||||
stateHigh: "ash",
|
||||
color: "#9bb895",
|
||||
behavior: behaviors.RADLIQUID,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
};
|
||||
|
||||
elements.radioactive_potato = {
|
||||
hidden: true,
|
||||
tempHigh: 1000,
|
||||
stateHigh: "ash",
|
||||
color: "#6e8544",
|
||||
behavior: behaviors.RADPOWDER,
|
||||
category: "food",
|
||||
state: "liquid",
|
||||
};
|
||||
|
||||
elements.radioactive_water = {
|
||||
hidden: true,
|
||||
tempHigh: 1000,
|
||||
stateHigh: "steam",
|
||||
color: "#baf0aa",
|
||||
behavior: behaviors.RADLIQUID,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
};
|
||||
|
||||
elements.radioactive_bread = {
|
||||
hidden: true,
|
||||
tempHigh: 1000,
|
||||
stateHigh: "ash",
|
||||
color: "#aec74c",
|
||||
behavior: behaviors.RADPOWDER,
|
||||
category: "food",
|
||||
state: "liquid",
|
||||
};
|
||||
|
||||
elements.radioactive_toast = {
|
||||
hidden: true,
|
||||
tempHigh: 1000,
|
||||
stateHigh: "ash",
|
||||
color: "#565e38",
|
||||
behavior: behaviors.RADPOWDER,
|
||||
category: "food",
|
||||
state: "liquid",
|
||||
};
|
||||
|
||||
elements.shampoo = {
|
||||
viscosity: 1000,
|
||||
|
|
@ -863,6 +946,9 @@ elements.incinerator = {
|
|||
category: "machines",
|
||||
state: "solid",
|
||||
insulate: true,
|
||||
reactions: {
|
||||
"fart": { elem1: null, elem2: "ohio" },
|
||||
}
|
||||
};
|
||||
|
||||
elements.cocoa = {
|
||||
|
|
@ -994,15 +1080,6 @@ elements.cooked_bacon = {
|
|||
state: "liquid",
|
||||
};
|
||||
|
||||
elements.pickle = {
|
||||
tempHigh: 200,
|
||||
stateHigh: "steam",
|
||||
color: "#12400c",
|
||||
behavior: behaviors.STURDYPOWDER,
|
||||
category: "food",
|
||||
state: "liquid",
|
||||
};
|
||||
|
||||
elements.strawberry = {
|
||||
viscosity: 10000,
|
||||
density: 754,
|
||||
|
|
@ -1014,10 +1091,157 @@ elements.strawberry = {
|
|||
state: "liquid",
|
||||
};
|
||||
|
||||
elements.grape.reactions = {
|
||||
"radiation": { elem1: null, elem2: "radioactive_grape" },
|
||||
"melted_chocolate": { elem1: null, elem2: "chocolate_grape" },
|
||||
"chocolate": { elem1: null, elem2: "chocolate_grape", chance: 0.1 },
|
||||
elements.beer = {
|
||||
tempHigh: 300,
|
||||
stateHigh: "steam",
|
||||
color: "#b39329",
|
||||
behavior: behaviors.LIQUID,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
};
|
||||
|
||||
elements.cardboard = {
|
||||
tempHigh: 500,
|
||||
stateHigh: "ash",
|
||||
color: "#7d4725",
|
||||
behavior: behaviors.STURDYPOWDER,
|
||||
category: "land",
|
||||
state: "liquid",
|
||||
};
|
||||
|
||||
elements.carrot = {
|
||||
tempHigh: 500,
|
||||
stateHigh: "ash",
|
||||
color: "#f06c0e",
|
||||
behavior: behaviors.STURDYPOWDER,
|
||||
category: "food",
|
||||
state: "liquid",
|
||||
};
|
||||
|
||||
elements.wine = {
|
||||
tempHigh: 400,
|
||||
stateHigh: "steam",
|
||||
color: "#2e0206",
|
||||
behavior: behaviors.LIQUID,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
};
|
||||
|
||||
elements.plasma_bomb = {
|
||||
tempHigh: 1000,
|
||||
stateHigh: "ash",
|
||||
color: "#452f4a",
|
||||
behavior: [
|
||||
"XX|EX:20>plasma|XX",
|
||||
"XX|XX|XX",
|
||||
"M2|M1 AND EX:20>plasma|M2"
|
||||
],
|
||||
category: "weapons",
|
||||
state: "liquid",
|
||||
},
|
||||
|
||||
elements.dark_energy = {
|
||||
hardness: 1,
|
||||
tempHigh: 1000000,
|
||||
stateHigh: "void",
|
||||
color: "#1b161c",
|
||||
behavior: [
|
||||
"M1%10|M1%10 AND SW%5|M1%10",
|
||||
"M1%10 AND CH:dark_energy|XX|M1%10 AND CH:dark_energy",
|
||||
"M1|M1 AND SW%5|M1"
|
||||
],
|
||||
category: "special",
|
||||
state: "gas",
|
||||
};
|
||||
|
||||
elements.ohio = {
|
||||
hidden: true,
|
||||
hardness: 1,
|
||||
hidden: true,
|
||||
color: "#40174d",
|
||||
behavior: [
|
||||
"XX|XX|XX",
|
||||
"XX|EX:800>plasma,plasma,plasma,plasma,plasma,plasma,plasma,plasma,plasma,plasma,plasma,plasma,plasma,plasma,plasma,plasma,plasma,plasma,plasma,plasma,molten_iron,molten_uranium,molten_lead,oxygen,molten_sodium,sulfur_gas,neon,chlorine,molten_calcium,molten_nickel,molten_copper,molten_zinc,gallium_gas AND CH:void|XX",
|
||||
"XX|XX|XX",
|
||||
],
|
||||
temp: 99999999700,
|
||||
category: "joke",
|
||||
state: "gas",
|
||||
desc: "use at own risk",
|
||||
};
|
||||
|
||||
elements.papaya = {
|
||||
tempHigh: 300,
|
||||
stateHigh: "steam",
|
||||
color: "#e38934",
|
||||
behavior: behaviors.STURDYPOWDER,
|
||||
category: "food",
|
||||
state: "liquid",
|
||||
};
|
||||
|
||||
elements.caviar = {
|
||||
viscosity: 10000,
|
||||
tempHigh: 500,
|
||||
stateHigh: "steam",
|
||||
color: "#1f1b18",
|
||||
behavior: behaviors.LIQUID,
|
||||
category: "food",
|
||||
state: "liquid",
|
||||
};
|
||||
|
||||
elements.peeper = {
|
||||
hidden: true,
|
||||
density: 1000,
|
||||
burn: 0.00001,
|
||||
burnTime: 9999,
|
||||
ignoreAir: true,
|
||||
burning: true,
|
||||
hardness: 1,
|
||||
tempHigh: 5000000000000000000,
|
||||
stateHigh: "ash",
|
||||
color: "#9c1208",
|
||||
behavior: behaviors.STURDYPOWDER,
|
||||
category: "joke",
|
||||
state: "solid",
|
||||
};
|
||||
|
||||
elements.dollar = {
|
||||
hidden: true,
|
||||
viscosity: 10000,
|
||||
tempHigh: 500,
|
||||
stateHigh: "fire",
|
||||
color: ["#4a8741", "#4bb53c"],
|
||||
behavior: behaviors.LIQUID,
|
||||
category: "joke",
|
||||
state: "liquid",
|
||||
};
|
||||
|
||||
elements.ruby = {
|
||||
tempHigh: 2000,
|
||||
stateHigh: "magma",
|
||||
color: ["#d6091a", "#e83544"],
|
||||
behavior: behaviors.WALL,
|
||||
category: "solids",
|
||||
state: "solid",
|
||||
};
|
||||
|
||||
elements.incinerate.category = "tools",
|
||||
elements.cook.category = "tools",
|
||||
elements.room_temp.category = "tools",
|
||||
|
||||
elements.beans.tempHigh = 349,
|
||||
elements.beans.stateHigh = "burnt_beans",
|
||||
|
||||
elements.radiation.reactions = {
|
||||
"meat": { elem1: null, elem2: "radioactive_meat" },
|
||||
"grape": { elem1: null, elem2: "radioactive_grape" },
|
||||
"egg": { elem1: null, elem2: "radioactive_egg" },
|
||||
"potato": { elem1: null, elem2: "radioactive_potato" },
|
||||
"water": { elem1: null, elem2: "radioactive_water" },
|
||||
"chocolate": { elem1: null, elem2: "radioactive_chocolate" },
|
||||
"milk": { elem1: null, elem2: "radioactive_milk" },
|
||||
"bread": { elem1: null, elem2: "radioactive_bread" },
|
||||
"toast": { elem1: null, elem2: "radioactive_toast" },
|
||||
};
|
||||
|
||||
elements.egg.reactions = {
|
||||
|
|
@ -1037,3 +1261,7 @@ elements.potato.reactions = {
|
|||
elements.water.reactions = {
|
||||
"cocaine": { elem1: null, elem2: "solid_water", chance: 0.1 }
|
||||
};
|
||||
|
||||
elements.paper.reactions = {
|
||||
"bless": { elem1: null, elem2: "dollar", chance: 0.1 },
|
||||
};
|
||||
|
|
|
|||
|
|
@ -0,0 +1,93 @@
|
|||
elements.obsidian = {
|
||||
color: ["#343434", "#313639"],
|
||||
behavior: behaviors.SOLID,
|
||||
category: "land",
|
||||
state: "solid",
|
||||
density: 2380,
|
||||
tempHigh: 900,
|
||||
stateHigh: "magma",
|
||||
breakInto: "obsidian_shard",
|
||||
reactions: {
|
||||
"sand": { elem1: "obsidian_shard" },
|
||||
"dirt": { elem1: "obsidian_shard" },
|
||||
"rock": { elem1: "obsidian_shard" },
|
||||
"mudstone": { elem1: "obsidian_shard" },
|
||||
"packed_snow": { elem1: "obsidian_shard" },
|
||||
"gravel": { elem1: "obsidian_shard" },
|
||||
"clay": { elem1: "obsidian_shard" },
|
||||
"clay_soil": { elem1: "obsidian_shard" },
|
||||
"permafrost": { elem1: "obsidian_shard" },
|
||||
"mulch": { elem1: "obsidian_shard" },
|
||||
"basalt": { elem1: "obsidian_shard" },
|
||||
"tuff": { elem1: "mud" },
|
||||
"limestone": { elem1: "obsidian_shard" },
|
||||
"quicklime": { elem1: "obsidian_shard" },
|
||||
"slaked_lime": { elem1: "obsidian_shard" },
|
||||
}
|
||||
},
|
||||
elements.obsidian_shard = {
|
||||
color: ["#343434", "#313639"],
|
||||
behavior: behaviors.POWDER,
|
||||
category: "powders",
|
||||
state: "solid",
|
||||
density: 2380,
|
||||
tempHigh: 900,
|
||||
stateHigh: "magma",
|
||||
reactions: {
|
||||
"glue": { elem1: "obsidian" },
|
||||
}
|
||||
},
|
||||
elements.pumice = {
|
||||
color: "#bac0b4",
|
||||
behavior: behaviors.POWDER,
|
||||
category: "land",
|
||||
state: "solid",
|
||||
density: 550,
|
||||
tempHigh: 900,
|
||||
stateHigh: "magma",
|
||||
hardness: 0.5,
|
||||
},
|
||||
elements.magma.stateLow = ["basalt","basalt","basalt","pumice","doritoite","basalt","rock","obsidian_shard","diorite","andesite"],
|
||||
elements.eruption = {
|
||||
color: ["#ff6f00","#ff8c00","#ff4d00"],
|
||||
behavior: [
|
||||
"XX|M1|XX",
|
||||
"XX|DL%1|XX",
|
||||
"CR:magma|CR:magma|CR:magma",
|
||||
],
|
||||
category: "weapons",
|
||||
state: "solid",
|
||||
temp:1200,
|
||||
density: 2725,
|
||||
},
|
||||
elements.andesite = {
|
||||
color: "#777C7C",
|
||||
behavior: behaviors.SOLID,
|
||||
category: "land",
|
||||
state: "solid",
|
||||
density: 2771,
|
||||
tempHigh: 900,
|
||||
stateHigh: "magma",
|
||||
},
|
||||
elements.diorite = {
|
||||
color: ["#d4d4d4","#2b2b2b"],
|
||||
behavior: behaviors.SOLID,
|
||||
category: "land",
|
||||
state: "solid",
|
||||
density: 2900,
|
||||
tempHigh: 900,
|
||||
stateHigh: "magma",
|
||||
},
|
||||
elements.doritoite = {
|
||||
color: ["#ff5349","#f2ba49"],
|
||||
behavior: behaviors.POWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
density: 157.8,
|
||||
tempHigh: 900,
|
||||
stateHigh: "magma",
|
||||
reactions: {
|
||||
"head": { elem1: "null" },
|
||||
},
|
||||
isFood: true
|
||||
};
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
elements.green_wall = {
|
||||
color: "#00ff00",
|
||||
behavior: behaviors.WALL,
|
||||
category: "land",
|
||||
state: "solid",
|
||||
};
|
||||
Loading…
Reference in New Issue