Merge branch 'main' of https://github.com/JustAGenericUsername/sandboxelsmodding
This commit is contained in:
commit
6d44ca5c47
|
|
@ -143,6 +143,7 @@
|
|||
<tr><td>color_tools.js</td><td>Adds tools that manipulate colors</td><td>Alice</td></tr>
|
||||
<tr><td>controllable_pixel.js</td><td>Adds a pixel controlled using WASD (keyboard required)</td><td>Jayd</td></tr>
|
||||
<tr><td>controllable_pixel_test.js</td><td>Adds a pixel that can be controlled with the keyboard keys. <a href="https://github.com/R74nCom/sandboxels/commit/58dfa9477f2ed7ec9c44b00a35162e7c63bc129c">Read the commit description for more info.</a> [PC ONLY]</td><td>Alice</td></tr>
|
||||
<tr><td>customtemptools.js</td><td>Adds temperature tools (set/heat/cool) that you change the value of.</td><td>guzzo86</td></tr>
|
||||
<tr><td>cpt_alt.js</td><td>Adds a more destructive variant of the controllable pixel</td><td>Alice</td></tr>
|
||||
<tr><td>debugRework.js</td><td>Revamps the Debug tool</td><td>Fioushemastor</td></tr>
|
||||
<tr><td>delete_all_of_element.js</td><td>Adds a tool that deletes every pixel of the element(s) the user clicks on</td><td>Alice</td></tr>
|
||||
|
|
@ -214,11 +215,13 @@
|
|||
|
||||
<!----><tr><td class="modCat" colspan="3">Machines & Technology</td></tr><!---->
|
||||
<tr><td>clone_liquid.js</td><td>Adds a liquid form of cloner</td><td>Alice</td></tr>
|
||||
<tr><td>colored_lightbulbs.js</td><td>Adds a light bulb that can be painted.</td><td>guzzo86, ggod</td></tr>
|
||||
<tr><td>combustion.js</td><td>Adds components necessary for combustion engines</td><td>uptzik</td></tr>
|
||||
<tr><td>conveyance.js</td><td>Conveyors, operated with and without electricity</td><td>Melecie</td></tr>
|
||||
<tr><td>ExtraMachines.js</td><td>Adds sensors, energy resources, materials, and more</td><td>Mecoolnotcool</td></tr>
|
||||
<tr><td>fine_tuned_cloner.js</td><td>Adds a cloner that can spawn at different rates and prevent unwated cloning</td><td>BatteRaquette58</td></tr>
|
||||
<tr><td>flipflop.js</td><td>Toggleable switches; <a href="https://github.com/R74nCom/sandboxels/pull/134">Explanation</a></td><td>Flix</td></tr>
|
||||
<tr><td>fueled_generators.js</td><td>Fuel powered generators.</td></tr>
|
||||
<tr><td>gameOfLife.js</td><td>Conway's Game of Life on a screen</td><td>ggod</td></tr>
|
||||
<tr><td>logicgates.js</td><td>Adds predictable electricity and logic gates</td><td>nousernamefound</td></tr>
|
||||
<tr><td>note_block.js</td><td>Adds musical Note Blocks</td><td>Alice</td></tr>
|
||||
|
|
@ -253,6 +256,7 @@
|
|||
<tr><td>aChefsDream_beta.js</td><td>Beta testing for aChefsDream. The code can be found <a href="https://www.github.com/SquareScreamYT/aChefsDream.js">on GitHub</a></td><td>SquareScreamYT</td></tr>
|
||||
<tr><td>bananas.js</td><td>Adds bananas and banana plants</td><td>Alice</td></tr>
|
||||
<tr><td>CherrySoda.js</td><td>Adds materials to make Cherry soda. Benzaldehyde + seltzer = Cherrysoda.</td><td>guzzo86</td></tr>
|
||||
<tr><td>GrapeSoda.js</td><td>Adds materials to make Grape soda. Methylanthranilic acid + seltzer = Cherrysoda.</td><td>guzzo86</td></tr>
|
||||
<tr><td>community_desserts.js</td><td>Adds various desserts from community suggestions</td><td>Tisquares</td></tr>
|
||||
<tr><td>greenitemsandmore.js</td><td>Adds various green things, including apples and more food</td><td>zonneschijn7</td>
|
||||
<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>
|
||||
|
|
@ -285,6 +289,7 @@
|
|||
<tr><td>lost_souls.js</td><td>Adds souls and related elements, the mod can also be found <a href="https://github.com/HACKERPRO908/lost_souls.js">on Github</a></td><td>pixelegend4, SquareScreamYT, salmonfishy</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>
|
||||
<tr><td>mobs.js</td><td>Adds Creepers, Zombies, and Skeletons</td><td>Alice</td></tr>
|
||||
<tr><td>moretrees.js</td><td>Adds 25 more tree & wood types.</td><td>guzzo86</td></tr>
|
||||
<tr><td>nocancer.js</td><td>Removes cancer from the game one tick after it is created</td><td>mollthecoder</td></tr>
|
||||
<tr><td>nocancer2.js</td><td>Removes cancer from the game altogether. May be incompatible with other mods that spawn cancer</td><td>mollthecoder</td></tr>
|
||||
<tr><td>nograssgrow.js</td><td>Prevents Grass from growing</td><td>mollthecoder</td></tr>
|
||||
|
|
|
|||
|
|
@ -66,11 +66,11 @@ elements.cherrysoda_gas = {
|
|||
}
|
||||
elements.cherrysoda_ice = {
|
||||
color: "#BF4F9C",
|
||||
behavior: behaviors.wALL,
|
||||
behavior: behaviors.WALL,
|
||||
category: "solids",
|
||||
state: "solid",
|
||||
density: 1065,
|
||||
desc: "Cherry soda gas.",
|
||||
desc: "Cherry soda ice.",
|
||||
tempHigh: -27,
|
||||
stateHigh: "cherrysoda",
|
||||
temp: -47,
|
||||
|
|
|
|||
|
|
@ -1,5 +1,12 @@
|
|||
//this mod is still on proggres (WIP) you can give feedback or report bug to these discord account. @salmonfishy or @carbon_monoxides6
|
||||
|
||||
//Hello, this is are a science mod, we're made several things that related to science, examples like...electron, particle accelerator, and of course, carbon monoxide! :D
|
||||
//We made some things not scientific, so this mod is not too boring. ;)
|
||||
//we're normal people, who is not as smart as a real scientist. so if you have suggestion, feedback, or criticism, please let us know, so we can make this mod being more accurate. ><
|
||||
// discord account |
|
||||
// |
|
||||
// |
|
||||
// v
|
||||
// creator,leader,supervisor,coder,uploader = @carbon_monoxides6
|
||||
// co-creator,co-coder,assistant,debugger = @salmonfishy (has exited from this mod project)
|
||||
elements.carbon_monoxide = {
|
||||
color: "#b5b5b5",
|
||||
behavior: behaviors.GAS,
|
||||
|
|
@ -68,39 +75,7 @@ elements.carbon_monoxide_detector = {
|
|||
darkText: true,
|
||||
hardness: 1,
|
||||
};
|
||||
elements.cpu = {
|
||||
color: "#575757",
|
||||
behavior: behaviors.SOLID,
|
||||
category: "machines",
|
||||
state: "solid",
|
||||
insulate: true,
|
||||
movable: false,
|
||||
noMix: true,
|
||||
density: 75,
|
||||
tempHigh: 1414,
|
||||
stateHigh: ["explosion","metal_scrap"],
|
||||
reactions: {
|
||||
"virus": { elem1 : null , elem2:"malware", chance:0.9 },
|
||||
"metal_scrap": { elem2:"computer" },
|
||||
|
||||
}
|
||||
};
|
||||
elements.computer = {
|
||||
color: "#2b2b2a",
|
||||
behavior: behaviors.SOLID,
|
||||
category: "machines",
|
||||
state: "solid",
|
||||
density: 8908,
|
||||
insulate: true,
|
||||
noMix: true,
|
||||
movable: false,
|
||||
tempHigh: 1414,
|
||||
stateHigh: ["explosion","metal_scrap"],
|
||||
reactions: {
|
||||
"virus": { elem1 : null , elem2:"malware", chance:0.9 },
|
||||
"water": { elem1: null , elem2: "electric" },
|
||||
}
|
||||
}
|
||||
|
||||
elements.electrons = {
|
||||
color: "#b80606",
|
||||
behavior: [
|
||||
|
|
@ -409,19 +384,6 @@ reactions: {
|
|||
}
|
||||
};
|
||||
|
||||
elements.leather = {
|
||||
behavior: behaviors.SUPPORTPOWDER,
|
||||
color: ["#3f261d","#664f40",],
|
||||
state: "powder",
|
||||
category: "powders",
|
||||
tempHigh: 200,
|
||||
stateHigh: "fire",
|
||||
breakInto: "dust",
|
||||
burn: 20,
|
||||
burntime: 200,
|
||||
burnInto: "ash",
|
||||
};
|
||||
|
||||
elements.wrinkled_lemon = {
|
||||
behavior: behaviors.POWDER,
|
||||
color: ["#999543","#a6a03a",],
|
||||
|
|
@ -530,7 +492,7 @@ tempLow: -2,
|
|||
stateLow: "frozen_yogurt",
|
||||
stateLowColor: ["#f5f3cb","#f7f5bc"],
|
||||
reactions: {
|
||||
"bacteria": { elem1: "yogurt", },
|
||||
"cell": { elem1: "yogurt", },
|
||||
}
|
||||
};
|
||||
|
||||
|
|
@ -615,11 +577,11 @@ elements.hazmat_head = {
|
|||
color: ["#404040","#1a1a1a","#737373"],
|
||||
category: "life",
|
||||
hidden: true,
|
||||
density: 1080,
|
||||
density: 1380,
|
||||
state: "solid",
|
||||
conduct: .05,
|
||||
temp: 40,
|
||||
tempHigh: 3500,
|
||||
temp: 39,
|
||||
tempHigh: 6500,
|
||||
stateHigh: ["ash","iron",],
|
||||
tempLow: -180,
|
||||
stateLow: "frozen_meat",
|
||||
|
|
@ -686,7 +648,10 @@ elements.hazmat_head = {
|
|||
"mashed_potato": { elem2:null, chance:0.2 },
|
||||
"sauce": { elem2:null, chance:0.2 },
|
||||
"pickle": { elem2:null, chance:0.1 },
|
||||
"light": { stain1:"#fff154" },
|
||||
"sun": { elem1:"cooked_meat" },
|
||||
"water": { elem2:"bubble", attr2:{"clone":"water"}, chance:0.001 },
|
||||
"salt_water": { elem2:"bubble", attr2:{"clone":"salt_water"}, chance:0.001 },
|
||||
"pool_water": { elem2:"bubble", attr2:{"clone":"pool_water"}, chance:0.001 },
|
||||
},
|
||||
properties: {
|
||||
dead: false
|
||||
|
|
@ -729,14 +694,14 @@ elements.hazmat_head = {
|
|||
};
|
||||
|
||||
elements.hazmat_body = {
|
||||
color: ["#ffdf4f","#e8c00e","#ffd412"],
|
||||
color: ["#2c7328","#2db526","#ffc42e","#f5c345","#cf9502",],
|
||||
category: "life",
|
||||
hidden: true,
|
||||
density: 1570,
|
||||
density: 1370,
|
||||
state: "solid",
|
||||
conduct: .25,
|
||||
temp: 39,
|
||||
tempHigh: 3500,
|
||||
tempHigh: 6500,
|
||||
stateHigh: ["metal_scrap","ash"],
|
||||
tempLow: -180,
|
||||
stateLow: "frozen_meat",
|
||||
|
|
@ -756,6 +721,7 @@ elements.hazmat_body = {
|
|||
"grass_seed": { elem2:null, chance:0.05 },
|
||||
"gold_coin": { elem2:null, chance:0.05 },
|
||||
"diamond": { elem2:null, chance:0.05 },
|
||||
"sun": { elem1:"molten_tin", },
|
||||
},
|
||||
properties: {
|
||||
dead: false,
|
||||
|
|
@ -846,7 +812,6 @@ elements.hazmat_body = {
|
|||
};
|
||||
|
||||
elements.hazmat_human = {
|
||||
// color: ["#404040","#1a1a1a","#737373"],
|
||||
color: ["#404040","#1a1a1a","#737373"],
|
||||
category: "life",
|
||||
properties: {
|
||||
|
|
@ -896,7 +861,6 @@ elements.zombie_head = {
|
|||
"meat": { elem2:null, chance:0.1 },
|
||||
"cooked_meat": { elem2:null, chance:0.1 },
|
||||
"cured_meat": { elem2:null, chance:0.1 },
|
||||
"light": { stain1:"#45eb2f" },
|
||||
},
|
||||
properties: {
|
||||
dead: false
|
||||
|
|
@ -953,8 +917,13 @@ elements.zombie_body = {
|
|||
breakInto: ["infection","rotten_meat","bone","zombie_virus",],
|
||||
forceSaveColor: true,
|
||||
reactions: {
|
||||
"head": { elem2: "zombie", },
|
||||
"body": { elem2: "zombie", },
|
||||
"head": { elem2: ["rotten_meat","zombie",], chance:0.8, },
|
||||
"body": { elem2: ["rotten_meat","zombie",], chance:0.5, },
|
||||
"oxygen": { elem2:"carbon_dioxide", chance:0.5 },
|
||||
"rotten_meat": { elem2: null, chance:0.5 },
|
||||
"meat": { elem2:null, chance:0.1 },
|
||||
"cooked_meat": { elem2:null, chance:0.1 },
|
||||
"cured_meat": { elem2:null, chance:0.1 },
|
||||
},
|
||||
|
||||
properties: {
|
||||
|
|
@ -1081,8 +1050,8 @@ elements.zombie_virus = {
|
|||
density: 30,
|
||||
state: "gas",
|
||||
reactions: {
|
||||
"head": { elem2: ["zombie","rotten_meat",], chance: 0.2, },
|
||||
"body": { elem2: ["zombie","rotten_meat",], chance: 0.2, },
|
||||
"head": { elem2: ["zombie","rotten_meat",], chance: 0.5, },
|
||||
"body": { elem2: ["zombie","rotten_meat",], chance: 0.5, },
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1102,7 +1071,7 @@ elements.matter = {
|
|||
elements.particle_accelerator_left = {
|
||||
behavior: behaviors.SOLID,
|
||||
color: ["#363aa3","#858585","#d1d1d1"],
|
||||
density: 2400,
|
||||
density: 8200,
|
||||
category: "machines",
|
||||
state: "solid",
|
||||
reactions: {
|
||||
|
|
@ -1112,7 +1081,7 @@ elements.particle_accelerator_left = {
|
|||
elements.particle_accelerator_right = {
|
||||
behavior: behaviors.SOLID,
|
||||
color: ["#363aa3","#858585","#d1d1d1"],
|
||||
density: 2400,
|
||||
density: 8200,
|
||||
category: "machines",
|
||||
state: "solid",
|
||||
reactions: {
|
||||
|
|
@ -1132,8 +1101,8 @@ elements.accelerated_matter_left = {
|
|||
category: "energy",
|
||||
density: 2.20,
|
||||
reactions: {
|
||||
"accelerated_matter_right": { elem1: ["antimatter","pop",], chance: 0.3, },
|
||||
"accelerated_matter_left": { elem1: ["antimatter","pop",], chance: 0.3, },
|
||||
"accelerated_matter_right": { elem1: ["antimatter","pop",null,], chance: 0.3, },
|
||||
"accelerated_matter_left": { elem1: ["antimatter","pop",null,], chance: 0.3, },
|
||||
"antimatter": { elem1: "pop", chance: 0.01, },
|
||||
}
|
||||
|
||||
|
|
@ -1150,8 +1119,8 @@ elements.accelerated_matter_right = {
|
|||
category:"energy",
|
||||
density: 2.20,
|
||||
reactions: {
|
||||
"accelerated_matter_left": { elem1: ["antimatter","pop",], chance: 0.3, },
|
||||
"accelerated_matter_right": { elem1: ["antimatter","pop",], chance: 0.3, },
|
||||
"accelerated_matter_left": { elem1: ["antimatter","pop",null,], chance: 0.3, },
|
||||
"accelerated_matter_right": { elem1: ["antimatter","pop",null,], chance: 0.3, },
|
||||
"antimatter": { elem1: "pop", chance: 0.01, },
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,426 @@
|
|||
elements.beautiful_sun = {
|
||||
color: "#c12600BB",
|
||||
tick: function(pixel) {
|
||||
// minimum 1726
|
||||
// maximum 7726
|
||||
if (pixel.eclipse) { pixel.color = pixelColorPick(pixel,"#f68656"); var c=0.01}
|
||||
else if (pixel.temp < 1500) { pixel.color = pixelColorPick(pixel,"#7a4e43BB"); }
|
||||
else if (pixel.temp < 3600) { pixel.color = pixelColorPick(pixel,"#ffbdbdBB"); var c=0.05 }
|
||||
else if (pixel.temp < 7000) { pixel.color = pixelColorPick(pixel,"#c12600BB"); var c=0.1 }
|
||||
else if (pixel.temp < 11000) { pixel.color = pixelColorPick(pixel,"#ffb09cBB"); var c=0.25 }
|
||||
else if (pixel.temp < 28000) { pixel.color = pixelColorPick(pixel,"#f7fff5BB"); var c=0.5 }
|
||||
else { pixel.color = pixelColorPick(pixel,"#c3bdffBB"); var c=0.4 }
|
||||
if (pixel.temp < 1500) { var c=0 }
|
||||
for (var i = 0; i < adjacentCoords.length; i++) {
|
||||
var x = pixel.x+adjacentCoords[i][0];
|
||||
var y = pixel.y+adjacentCoords[i][1];
|
||||
if (isEmpty(x,y)) {
|
||||
if (Math.random() > c) {continue}
|
||||
createPixel("beautiful_light", x, y);
|
||||
pixelMap[x][y].color = pixel.color;
|
||||
}
|
||||
else if (!outOfBounds(x,y)) {
|
||||
var newPixel = pixelMap[x][y];
|
||||
if (elements[newPixel.element].id === elements.beautiful_sun.id) {
|
||||
if (pixel.eclipse) { newPixel.eclipse = true }
|
||||
if (pixel.temp!==newPixel.temp) {
|
||||
var avg = (pixel.temp + newPixel.temp)/2;
|
||||
pixel.temp = avg;
|
||||
newPixel.temp = avg;
|
||||
pixelTempCheck(pixel);
|
||||
pixelTempCheck(newPixel);
|
||||
}
|
||||
}
|
||||
else if (elements[newPixel.element].id === elements.sun.id) {
|
||||
changePixel(newPixel, "beautiful_sun");
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
tool: function(pixel) {
|
||||
if (pixel.element === "light") {
|
||||
deletePixel(pixel.x,pixel.y);
|
||||
}
|
||||
if (pixel.element === "beautiful_light") {
|
||||
deletePixel(pixel.x,pixel.y);
|
||||
}
|
||||
},
|
||||
canPlace: true,
|
||||
reactions: {
|
||||
"hydrogen": { elem2:"helium", temp1:5 },
|
||||
"helium": { elem2:"carbon_dioxide", temp1:5, tempMax:3600 },
|
||||
"carbon_dioxide": { elem2:"neon", temp1:5, tempMax:1800 },
|
||||
"sun": { elem2:"beautiful_sun", },
|
||||
"light": { elem2:"beautiful_light" },
|
||||
},
|
||||
temp: 5504,
|
||||
tempLow: -100,
|
||||
stateLow: "supernova",
|
||||
category: "brokenday",
|
||||
state: "gas",
|
||||
//density: 1408,
|
||||
insulate: true,
|
||||
noMix: true,
|
||||
alias: "hateful_star",
|
||||
movable: false
|
||||
},
|
||||
|
||||
elements.beautiful_light = {
|
||||
hidden: true,
|
||||
name: "light",
|
||||
color: "#c12600BB",
|
||||
tick: function(pixel) {
|
||||
if (Math.random() < 0.01) {
|
||||
deletePixel(pixel.x,pixel.y);
|
||||
return;
|
||||
}
|
||||
if (pixel.bx===undefined) {
|
||||
// choose 1, 0, or -1
|
||||
pixel.bx = Math.random() < 0.5 ? 1 : Math.random() < 0.5 ? 0 : -1;
|
||||
pixel.by = Math.random() < 0.5 ? 1 : Math.random() < 0.5 ? 0 : -1;
|
||||
// if both are 0, make one of them 1 or -1
|
||||
if (pixel.bx===0 && pixel.by===0) {
|
||||
if (Math.random() < 0.5) { pixel.bx = Math.random() < 0.5 ? 1 : -1; }
|
||||
else { pixel.by = Math.random() < 0.5 ? 1 : -1; }
|
||||
}
|
||||
}
|
||||
// move and invert direction if hit
|
||||
if (pixel.bx && !tryMove(pixel, pixel.x+pixel.bx, pixel.y)) {
|
||||
var newX = pixel.x + pixel.bx;
|
||||
if (!isEmpty(newX, pixel.y, true)) {
|
||||
var newPixel = pixelMap[pixel.x+pixel.bx][pixel.y];
|
||||
if (!elements[newPixel.element].insulate) {
|
||||
newPixel.temp += 1;
|
||||
pixelTempCheck(newPixel);
|
||||
}
|
||||
if (!elements.light.reactions[newPixel.element]) {
|
||||
pixel.color = newPixel.color;
|
||||
}
|
||||
else if (!elements.beautiful_light.reactions[newPixel.element]) {
|
||||
pixel.color = newPixel.color;
|
||||
}
|
||||
}
|
||||
pixel.bx = -pixel.bx;
|
||||
}
|
||||
if (pixel.by && !tryMove(pixel, pixel.x, pixel.y+pixel.by)) {
|
||||
var newY = pixel.y + pixel.by;
|
||||
if (!isEmpty(pixel.x, newY, true)) {
|
||||
var newPixel = pixelMap[pixel.x][pixel.y+pixel.by];
|
||||
if (!elements[newPixel.element].insulate) {
|
||||
newPixel.temp += 0.05;
|
||||
pixelTempCheck(newPixel);
|
||||
}
|
||||
if (!elements.light.reactions[newPixel.element]) {
|
||||
pixel.color = newPixel.color;
|
||||
}
|
||||
else if (!elements.beautiful_light.reactions[newPixel.element]) {
|
||||
pixel.color = newPixel.color;
|
||||
}
|
||||
}
|
||||
pixel.by = -pixel.by;
|
||||
}
|
||||
},
|
||||
reactions: {
|
||||
"glass": { "color1":["#ff0000","#ff8800","#ffff00","#00ff00","#00ffff","#0000ff","#ff00ff"] },
|
||||
"glass_shard": { "color1":["#ff0000","#ff8800","#ffff00","#00ff00","#00ffff","#0000ff","#ff00ff"] },
|
||||
"rad_glass": { "color1":["#9f6060","#9f8260","#9f9f60","#609f60","#609f9f","#60609f","#9f609f"] },
|
||||
"rad_shard": { "color1":["#9f6060","#9f8260","#9f9f60","#609f60","#609f9f","#60609f","#9f609f"] },
|
||||
"steam": { "color1":["#ff0000","#ff8800","#ffff00","#00ff00","#00ffff","#0000ff","#ff00ff"] },
|
||||
"rain_cloud": { "color1":["#ff0000","#ff8800","#ffff00","#00ff00","#00ffff","#0000ff","#ff00ff"] },
|
||||
"cloud": { "color1":["#ff0000","#ff8800","#ffff00","#00ff00","#00ffff","#0000ff","#ff00ff"] },
|
||||
"smog": { "color1":["#9f6060","#9f8260","#9f9f60","#609f60","#609f9f","#60609f","#9f609f"] },
|
||||
"ice": { "color1":"#c2fff9" },
|
||||
"rime": { "color1":"#c2fff9" },
|
||||
"water": { "color1":"#a1bac9" },
|
||||
"salt_water": { "color1":"#a1bac9" },
|
||||
"sugar_water": { "color1":"#a1bac9" },
|
||||
"dirty_water": { "color1":"#a1c9a8" },
|
||||
"seltzer": { "color1":"#c2fff9" },
|
||||
"diamond": { "color1":["#c2c5ff","#c2d9ff"] },
|
||||
"rainbow": { "color1":["#ff0000","#ff8800","#ffff00","#00ff00","#00ffff","#0000ff","#ff00ff"] },
|
||||
"static": { "color1":["#ffffff","#bdbdbd","#808080","#424242","#1c1c1c"] },
|
||||
"sun": { elem2:"beautiful_sun", },
|
||||
"light": { elem2:"beautiful_light" },
|
||||
"meat": { elem2:"fused_organism" },
|
||||
"head": { elem2:"melted_human" },
|
||||
"body": { elem2:"melted_human" },
|
||||
"dead_bug": { elem2:"melted_insect" },
|
||||
"worm": { elem2:"melted_insect" },
|
||||
"ant": { elem2:"melted_insect" },
|
||||
"bee": { elem2:"melted_insect" },
|
||||
"fly": { elem2:"melted_insect" },
|
||||
"firefly": { elem2:"melted_insect" },
|
||||
"stinkbug": { elem2:"melted_insect" },
|
||||
"slug": { color2:["#997e12","#997e12","#997e12","#997e12","#997e12","#997e12","#403314","#403314","#403314","#403314","#403314","#403314","#124a44"], elem2:"melted_insect" },
|
||||
"snail": { color2:"#5c3104", elem2:"melted_insect", chance:0.5 },
|
||||
"tree_branch": { elem2:"wood" },
|
||||
"plant": { elem2:"melted_plant" },
|
||||
"grass": { elem2:"melted_plant" },
|
||||
"evergreen": { color2:"#006300", elem2:"melted_plant" },
|
||||
"pistil": { elem2:"melted_plant" },
|
||||
"petal": { color2:["#ff0000","#ff8800","#ffff00","#88ff00","#00ff00","#00ff88","#00ffff","#0088ff","#0000ff","#8800ff","#ff00ff"], elem2:"melted_plant" },
|
||||
"bamboo": { elem2:"melted_plant" },
|
||||
"bamboo_plant": { elem2:"melted_plant" },
|
||||
"cactus": { elem2:"melted_plant" },
|
||||
"corn": { color2:["#f8d223","#d6ba2a","#f7f5ba","#dbd281","#cdb12d"], elem2:"melted_plant" },
|
||||
"wheat": { color2:["#f1b569","#edb864","#de9c45","#c2853d"], elem2:"melted_plant" },
|
||||
"dead_plant": { elem2:"melted_plant" },
|
||||
"sapling": { elem2:"melted_plant" },
|
||||
"pinecone": { color2:["#5c3e33","#472f27","#31211b"], elem2:"melted_plant" },
|
||||
"bird": { color2:"#997457", elem2:"melted_animal" },
|
||||
"rat": { color2:["#a698a9","#8c7d82","#ccc3cf"], elem2:"melted_animal" },
|
||||
"fish": { elem2:"melted_fish", chance:0.2 },
|
||||
"tadpole": { elem2:"melted_fish", chance:0.2 },
|
||||
"frog": { elem2:"melted_fish", chance:0.2 },
|
||||
},
|
||||
temp: 35,
|
||||
tempLow: -273,
|
||||
stateLow: ["liquid_light",null],
|
||||
stateLowColorMultiplier: 0.8,
|
||||
category: "brokenday",
|
||||
state: "gas",
|
||||
density: 0.00001,
|
||||
ignoreAir: true,
|
||||
insulate: true
|
||||
},
|
||||
|
||||
elements.melted_human = {
|
||||
color: ["#f3e7db","#f7ead0","#eadaba","#d7bd96","#a07e56","#825c43"],
|
||||
behavior: behaviors.LIQUID,
|
||||
viscosity: 7500,
|
||||
reactions: {
|
||||
"oxygen": { elem2:"carbon_dioxide", chance:0.5 },
|
||||
"meat": { elem2:null, chance:0.1 },
|
||||
"cooked_meat": { elem2:null, chance:0.1 },
|
||||
"sun": { elem2:"beautiful_sun", elem1:"cooked_meat" },
|
||||
"light": { elem2:"beautiful_light" },
|
||||
"dead_bug": { elem2:"fused_organism", chance:0.1 },
|
||||
"ant": { elem2:"fused_organism", chance:0.2 },
|
||||
"bee": { elem2:"fused_organism", chance:0.2 },
|
||||
"fly": { elem2:"fused_organism", chance:0.2 },
|
||||
"firefly": { elem2:"fused_organism", chance:0.2 },
|
||||
"stinkbug": { elem2:"fused_organism", chance:0.2 },
|
||||
"slug": { elem2:"fused_organism", chance:0.2 },
|
||||
"snail": { elem2:"fused_organism", chance:0.15 },
|
||||
"head": { elem2:"melted_human", chance:0.1 },
|
||||
"body": { elem2:"melted_human", chance:0.1 },
|
||||
"bird": { elem2:"fused_organism", chance:0.1 },
|
||||
"rat": { color2:["#a698a9","#8c7d82","#ccc3cf"], elem2:"fused_organism", chance:0.1 },
|
||||
"fish": { elem2:"fused_organism", chance:0.2 },
|
||||
"tadpole": { elem2:"fused_organism", chance:0.2 },
|
||||
"frog": { elem2:"fused_organism", chance:0.2 },
|
||||
"melted_fish": { elem2:"fused_organism", chance:0.1 },
|
||||
"melted_animal": { elem2:"fused_organism", chance:0.1 },
|
||||
"melted_insect": { elem2:"fused_organism", chance:0.1 },
|
||||
},
|
||||
tempHigh: 300,
|
||||
stateHigh: "cooked_meat",
|
||||
tempLow: -20,
|
||||
stateLow: "frozen_meat",
|
||||
burn: 10,
|
||||
burnTime: 300,
|
||||
burnInto: "cooked_meat",
|
||||
state: "liquid",
|
||||
density: 2000,
|
||||
category: "brokenday",
|
||||
},
|
||||
|
||||
elements.melted_animal = {
|
||||
color: ["#997457","#a698a9"],
|
||||
behavior: behaviors.LIQUID,
|
||||
viscosity: 7500,
|
||||
reactions: {
|
||||
"oxygen": { elem2:"carbon_dioxide", chance:0.5 },
|
||||
"meat": { elem2:null, chance:0.1 },
|
||||
"cooked_meat": { elem2:null, chance:0.1 },
|
||||
"sun": { elem2:"beautiful_sun", elem1:"cooked_meat" },
|
||||
"light": { elem2:"beautiful_light" },
|
||||
"dead_bug": { elem2:"fused_organism", chance:0.1 },
|
||||
"ant": { elem2:"fused_organism", chance:0.2 },
|
||||
"bee": { elem2:"fused_organism", chance:0.2 },
|
||||
"fly": { elem2:"fused_organism", chance:0.2 },
|
||||
"firefly": { elem2:"fused_organism", chance:0.2 },
|
||||
"stinkbug": { elem2:"fused_organism", chance:0.2 },
|
||||
"slug": { elem2:"fused_organism", chance:0.2 },
|
||||
"snail": { elem2:"fused_organism", chance:0.15 },
|
||||
"head": { elem2:"fused_organism", chance:0.1 },
|
||||
"body": { elem2:"fused_organism", chance:0.1 },
|
||||
"bird": { color2:"#997457", elem2:"melted_animal", chance:0.2 },
|
||||
"rat": { color2:["#a698a9","#8c7d82","#ccc3cf"], elem2:"melted_animal", chance:0.2 },
|
||||
"fish": { elem2:"fused_organism", chance:0.2 },
|
||||
"tadpole": { elem2:"fused_organism", chance:0.2 },
|
||||
"frog": { elem2:"fused_organism", chance:0.2 },
|
||||
"melted_fish": { elem2:"fused_organism", chance:0.1 },
|
||||
"melted_human": { elem2:"fused_organism", chance:0.1 },
|
||||
"melted_insect": { elem2:"fused_organism", chance:0.1 },
|
||||
},
|
||||
tempHigh: 275,
|
||||
stateHigh: "cooked_meat",
|
||||
tempLow: -20,
|
||||
stateLow: "frozen_meat",
|
||||
burn: 10,
|
||||
burnTime: 300,
|
||||
burnInto: "cooked_meat",
|
||||
state: "liquid",
|
||||
density: 2000,
|
||||
category: "brokenday",
|
||||
},
|
||||
|
||||
elements.melted_fish = {
|
||||
color: "#ac8650",
|
||||
behavior: behaviors.LIQUID,
|
||||
viscosity: 7500,
|
||||
reactions: {
|
||||
"oxygen": { elem2:"carbon_dioxide", chance:0.5 },
|
||||
"meat": { elem2:null, chance:0.1 },
|
||||
"cooked_meat": { elem2:null, chance:0.1 },
|
||||
"sun": { elem2:"beautiful_sun", elem1:"cooked_meat" },
|
||||
"light": { elem2:"beautiful_light" },
|
||||
"dead_bug": { elem2:"fused_organism", chance:0.1 },
|
||||
"ant": { elem2:"fused_organism", chance:0.2 },
|
||||
"bee": { elem2:"fused_organism", chance:0.2 },
|
||||
"fly": { elem2:"fused_organism", chance:0.2 },
|
||||
"firefly": { elem2:"fused_organism", chance:0.2 },
|
||||
"stinkbug": { elem2:"fused_organism", chance:0.2 },
|
||||
"head": { elem2:"fused_organism", chance:0.1 },
|
||||
"body": { elem2:"fused_organism", chance:0.1 },
|
||||
"bird": { elem2:"fused_organism", chance:0.2 },
|
||||
"rat": { elem2:"fused_organism", chance:0.2 },
|
||||
"slug": { elem2:"fused_organism", chance:0.2 },
|
||||
"snail": { elem2:"fused_organism", chance:0.15 },
|
||||
"fish": { elem2:"melted_fish", chance:0.2 },
|
||||
"tadpole": { color2:"#87b574", elem2:"melted_fish", chance:0.2 },
|
||||
"frog": { color2:"#607300", elem2:"melted_fish", chance:0.2 },
|
||||
"melted_animal": { elem2:"fused_organism", chance:0.1 },
|
||||
"melted_human": { elem2:"fused_organism", chance:0.1 },
|
||||
"melted_insect": { elem2:"fused_organism", chance:0.1 },
|
||||
},
|
||||
tempHigh: 275,
|
||||
stateHigh: "cooked_meat",
|
||||
tempLow: -20,
|
||||
stateLow: "frozen_meat",
|
||||
burn: 10,
|
||||
burnTime: 300,
|
||||
burnInto: "cooked_meat",
|
||||
state: "liquid",
|
||||
density: 2000,
|
||||
category: "brokenday",
|
||||
},
|
||||
|
||||
elements.melted_insect = {
|
||||
color: ["#4c4e42","#5e0b04","#4c4e42","#5e0b04","#56482d","#52472c","#635443"],
|
||||
behavior: behaviors.LIQUID,
|
||||
viscosity: 4500,
|
||||
reactions: {
|
||||
"meat": { elem2:"fused_organism", chance:0.1 },
|
||||
"cooked_meat": { elem2:"fused_organism", chance:0.1 },
|
||||
"sun": { elem2:"beautiful_sun", elem1:"cooked_meat" },
|
||||
"light": { elem2:"beautiful_light" },
|
||||
"dead_bug": { elem2:"melted_insect", chance:0.1 },
|
||||
"ant": { elem2:"melted_insect", chance:0.2 },
|
||||
"bee": { color2:"#c4b100", elem2:"melted_insect", chance:0.2 },
|
||||
"fly": { elem2:"melted_insect", chance:0.2 },
|
||||
"firefly": { elem2:"melted_insect", chance:0.2 },
|
||||
"stinkbug": { elem2:"melted_insect", chance:0.2 },
|
||||
"slug": { color2:["#997e12","#997e12","#997e12","#997e12","#997e12","#997e12","#403314","#403314","#403314","#403314","#403314","#403314","#124a44"], elem2:"melted_insect", chance:0.2 },
|
||||
"snail": { color2:"#5c3104", elem2:"melted_insect", chance:0.15 },
|
||||
"fish": { elem2:"fused_organism", chance:0.2 },
|
||||
"tadpole": { elem2:"fused_organism", chance:0.2 },
|
||||
"frog": { elem2:"fused_organism", chance:0.2 },
|
||||
"head": { elem2:"fused_organism", chance:0.1 },
|
||||
"body": { elem2:"fused_organism", chance:0.1 },
|
||||
"melted_human": { elem2:"fused_organism", chance:0.1 },
|
||||
"bird": { elem2:"fused_organism", chance:0.1 },
|
||||
"rat": { elem2:"fused_organism", chance:0.1 },
|
||||
"melted_animal": { elem2:"fused_organism", chance:0.1 },
|
||||
"melted_fish": { elem2:"fused_organism", chance:0.1 },
|
||||
},
|
||||
tempHigh: 100,
|
||||
stateHigh: "dead_bug",
|
||||
tempLow: -20,
|
||||
stateLow: "dead_bug",
|
||||
burn: 10,
|
||||
burnTime: 150,
|
||||
burnInto: "ash",
|
||||
state: "liquid",
|
||||
density: 2000,
|
||||
category: "brokenday",
|
||||
},
|
||||
|
||||
elements.melted_plant = {
|
||||
color: ["#00bf00","#439809","#258b08","#118511","#127b12","#136d14"],
|
||||
behavior: behaviors.LIQUID,
|
||||
viscosity: 50000,
|
||||
reactions: {
|
||||
"sun": { elem2:"beautiful_sun", elem1:"dead_plant" },
|
||||
"light": { elem2:"beautiful_light" },
|
||||
"carbon_dioxide": { elem2:"oxygen" },
|
||||
"tree_branch": { elem2:"wood" },
|
||||
"plant": { elem2:"melted_plant", chance:0.2 },
|
||||
"grass": { elem2:"melted_plant", chance:0.2 },
|
||||
"evergreen": { color2:"#006300", elem2:"melted_plant", chance:0.2 },
|
||||
"pistil": { elem2:"melted_plant", chance:0.2 },
|
||||
"petal": { color2:["#CC9978","#CD8C6F","#BE785E","#CC9978","#CD8C6F","#BE785E","#A9D475","#5AF353","#8E5FA5"], elem2:"melted_plant", chance:0.1 },
|
||||
"bamboo": { elem2:"melted_plant", chance:0.1 },
|
||||
"bamboo_plant": { elem2:"melted_plant", chance:0.1 },
|
||||
"cactus": { elem2:"melted_plant", chance:0.1 },
|
||||
"corn": { color2:["#f8d223","#d6ba2a","#f7f5ba","#dbd281","#cdb12d"], elem2:"melted_plant", chance:0.1 },
|
||||
"wheat": { color2:["#f1b569","#edb864","#de9c45","#c2853d"], elem2:"melted_plant", chance:0.1 },
|
||||
"dead_plant": { elem2:"melted_plant", chance:0.1 },
|
||||
"sapling": { elem2:"melted_plant", chance:0.05 },
|
||||
"pinecone": { color2:["#5c3e33","#472f27","#31211b"], elem2:"melted_plant", chance:0.05 },
|
||||
},
|
||||
tempHigh: 250,
|
||||
stateHigh: "dead_plant",
|
||||
tempLow: -20,
|
||||
stateLow: "frozen_plant",
|
||||
burn: 10,
|
||||
burnTime: 200,
|
||||
burnInto: ["dead_plant","fire","fire","fire","ash"],
|
||||
state: "liquid",
|
||||
density: 2000,
|
||||
category: "brokenday",
|
||||
};
|
||||
|
||||
elements.fused_organism = {
|
||||
color: ["#f3e7db","#f7ead0"],
|
||||
behavior: behaviors.LIQUID,
|
||||
viscosity: 4000,
|
||||
reactions: {
|
||||
"meat": { elem2:"fused_organism", chance:0.1 },
|
||||
"cooked_meat": { elem2:"fused_organism", chance:0.1 },
|
||||
"sun": { elem2:"beautiful_sun", elem1:"cooked_meat" },
|
||||
"light": { elem2:"beautiful_light" },
|
||||
"dead_bug": { elem2:"fused_organism", chance:0.1 },
|
||||
"ant": { elem2:"fused_organism", chance:0.2 },
|
||||
"bee": { elem2:"fused_organism", chance:0.2 },
|
||||
"fly": { elem2:"fused_organism", chance:0.2 },
|
||||
"firefly": { elem2:"fused_organism", chance:0.2 },
|
||||
"stinkbug": { elem2:"fused_organism", chance:0.2 },
|
||||
"slug": { elem2:"fused_organism", chance:0.2 },
|
||||
"snail": { elem2:"fused_organism", chance:0.15 },
|
||||
"head": { elem2:"fused_organism", chance:0.1 },
|
||||
"body": { elem2:"fused_organism", chance:0.1 },
|
||||
"melted_human": { elem2:"fused_organism", chance:0.1 },
|
||||
"melted_insect": { elem2:"fused_organism", chance:0.1 },
|
||||
"bird": { elem2:"fused_organism", chance:0.1 },
|
||||
"rat": { elem2:"fused_organism", chance:0.1 },
|
||||
"fish": { elem2:"fused_organism", chance:0.2 },
|
||||
"tadpole": { elem2:"fused_organism", chance:0.2 },
|
||||
"frog": { elem2:"fused_organism", chance:0.2 },
|
||||
"melted_animal": { elem2:"fused_organism", chance:0.1 },
|
||||
"melted_fish": { elem2:"fused_organism", chance:0.1 },
|
||||
},
|
||||
tempHigh: 250,
|
||||
stateHigh: "cooked_meat",
|
||||
tempLow: -20,
|
||||
stateLow: "frozen_meat",
|
||||
burn: 10,
|
||||
burnTime: 400,
|
||||
burnInto: "cooked_meat",
|
||||
state: "liquid",
|
||||
density: 2000,
|
||||
category: "brokenday",
|
||||
};
|
||||
|
||||
HighNumber = "36 41 20 36 46 20 36 41 20 36 46 20 32 30 20 33 44 20 32 30 20 36 37 20 36 31 20 37 39"
|
||||
|
|
@ -0,0 +1,131 @@
|
|||
elements.gasoline = {
|
||||
color: ["#FFFF66", "#FFFF66", "#FFFF66", "#FFFF66", "#FFFF66"],
|
||||
burn: 15,
|
||||
burnTime: 300,
|
||||
viscosity: 0.6,
|
||||
density: 750,
|
||||
category: "fuels",
|
||||
behavior: behaviors.LIQUID,
|
||||
state: "liquid",
|
||||
desc: "Used in Gas Generators!"
|
||||
}
|
||||
|
||||
elements.diesel = {
|
||||
color: "#EBFBB5",
|
||||
burn: 10,
|
||||
burnTime: 600,
|
||||
viscosity: 3,
|
||||
density: 860,
|
||||
category: "fuels",
|
||||
behavior: behaviors.LIQUID,
|
||||
state: "liquid",
|
||||
desc: "Used in Diesel Generators!"
|
||||
}
|
||||
|
||||
elements.gasoline_generator = {
|
||||
color: "#6d5f5d",
|
||||
behavior: behaviors.WALL,
|
||||
state: "solid",
|
||||
density: 1000,
|
||||
category: "machines",
|
||||
properties: {
|
||||
shocksToDo: 0
|
||||
},
|
||||
hoverStat: function(pixel){return (pixel.shocksToDo).toString() || 0},
|
||||
tick: function(pixel){
|
||||
if (pixel.shocksToDo <= 40){
|
||||
for (var i = 0; i < adjacentCoords.length; i++){
|
||||
var coord = adjacentCoords[i]
|
||||
var x = pixel.x + coord[0]
|
||||
var y = pixel.y + coord[1]
|
||||
if (!isEmpty(x, y, true)){
|
||||
var otherPixel = pixelMap[x][y]
|
||||
if (otherPixel.element == "gasoline"){
|
||||
deletePixel(x, y)
|
||||
if(!pixel.shocksToDo){pixel.shocksToDo = 0}
|
||||
pixel.shocksToDo += 10
|
||||
}
|
||||
else if (otherPixel.element == "gasoline_generator"){
|
||||
var otherPixel = pixelMap[x][y]
|
||||
var otherShock = otherPixel.shocksToDo || 0
|
||||
var currentShock = pixel.shocksToDo || 0
|
||||
if (otherShock > currentShock){
|
||||
otherPixel.shocksToDo --
|
||||
pixel.shocksToDo ++
|
||||
} else if (currentShock > otherShock) {
|
||||
otherPixel.shocksToDo ++
|
||||
pixel.shocksToDo --
|
||||
}
|
||||
}
|
||||
}
|
||||
}}
|
||||
if (!pixel.charge && !pixel.chargeCD && pixel.shocksToDo){
|
||||
for (var i = 0; i < adjacentCoords.length; i++){
|
||||
var coord = adjacentCoords[i]
|
||||
var x = pixel.x + coord[0]
|
||||
var y = pixel.y + coord[1]
|
||||
if (!isEmpty(x, y, true)){
|
||||
if (elements[pixelMap[x][y].element].conduct > 0){
|
||||
pixel.charge = 1
|
||||
pixel.shocksToDo --
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
elements.diesel_generator = {
|
||||
color: "#FF9C27",
|
||||
behavior: behaviors.WALL,
|
||||
state: "solid",
|
||||
density: 1000,
|
||||
category: "machines",
|
||||
properties: {
|
||||
shocksToDo: 0
|
||||
},
|
||||
hoverStat: function(pixel){return (pixel.shocksToDo).toString() || 0},
|
||||
tick: function(pixel){
|
||||
if (pixel.shocksToDo <= 80){
|
||||
for (var i = 0; i < adjacentCoords.length; i++){
|
||||
var coord = adjacentCoords[i]
|
||||
var x = pixel.x + coord[0]
|
||||
var y = pixel.y + coord[1]
|
||||
if (!isEmpty(x, y, true)){
|
||||
var otherPixel = pixelMap[x][y]
|
||||
if (otherPixel.element == "diesel"){
|
||||
deletePixel(x, y)
|
||||
if(!pixel.shocksToDo){pixel.shocksToDo = 0}
|
||||
pixel.shocksToDo += 20
|
||||
}
|
||||
else if (otherPixel.element == "diesel_generator"){
|
||||
var otherPixel = pixelMap[x][y]
|
||||
var otherShock = otherPixel.shocksToDo || 0
|
||||
var currentShock = pixel.shocksToDo || 0
|
||||
if (otherShock > currentShock){
|
||||
otherPixel.shocksToDo --
|
||||
pixel.shocksToDo ++
|
||||
} else if (currentShock > otherShock) {
|
||||
otherPixel.shocksToDo ++
|
||||
pixel.shocksToDo --
|
||||
}
|
||||
}
|
||||
}
|
||||
}}
|
||||
if (!pixel.charge && !pixel.chargeCD && pixel.shocksToDo){
|
||||
for (var i = 0; i < adjacentCoords.length; i++){
|
||||
var coord = adjacentCoords[i]
|
||||
var x = pixel.x + coord[0]
|
||||
var y = pixel.y + coord[1]
|
||||
if (!isEmpty(x, y, true)){
|
||||
if (elements[pixelMap[x][y].element].conduct > 0){
|
||||
pixel.charge = 1
|
||||
pixel.shocksToDo --
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,490 @@
|
|||
// CreateTree function made by nousernamefound.
|
||||
function createTree(treeName, leafColor, woodName){
|
||||
let woodColor = elements[woodName].color
|
||||
elements[treeName + "_sapling"] = {
|
||||
color: leafColor,
|
||||
tick: function(pixel) {
|
||||
if (!tryMove(pixel,pixel.x,pixel.y+1)) {
|
||||
if (Math.random() < 0.02 && pixel.age > 50 && pixel.temp < 100) {
|
||||
if (!outOfBounds(pixel.x,pixel.y+1)) {
|
||||
var dirtPixel = pixelMap[pixel.x][pixel.y+1];
|
||||
if (dirtPixel && (eLists.SOIL.indexOf(dirtPixel.element) !== -1 || dirtPixel.element === "grass")) {
|
||||
changePixel(dirtPixel,"root");
|
||||
}
|
||||
}
|
||||
if (isEmpty(pixel.x,pixel.y-1)) {
|
||||
if (!pixel.wc) {
|
||||
pixel.wc = woodColor;
|
||||
pixel.lc = leafColor;
|
||||
}
|
||||
movePixel(pixel,pixel.x,pixel.y-1);
|
||||
createPixel(Math.random() > 0.5 ? woodName : (treeName + "_branch"),pixel.x,pixel.y+1);
|
||||
pixelMap[pixel.x][pixel.y+1].wc = pixel.wc;
|
||||
pixelMap[pixel.x][pixel.y+1].lc = pixel.lc;
|
||||
pixelMap[pixel.x][pixel.y+1].color = pixelColorPick(pixelMap[pixel.x][pixel.y+1], pixel.wc);
|
||||
}
|
||||
}
|
||||
else if (pixel.age > 1000 && Math.random() < 0.05) {
|
||||
changePixel(pixel,woodName);
|
||||
pixel.color = pixelColorPick(pixel, pixel.wc);
|
||||
}
|
||||
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,
|
||||
}
|
||||
elements[treeName + "_branch"] = {
|
||||
color: woodColor,
|
||||
tick: function(pixel) {
|
||||
if (!pixel.burning) {
|
||||
if (!pixel.lc) { pixel.lc = leafColor }
|
||||
if (!pixel.wc) { pixel.wc = woodColor }
|
||||
if (isEmpty(pixel.x-1,pixel.y-1) && Math.random() < 0.02) {
|
||||
if (Math.random() < 0.5) {
|
||||
createPixel("plant",pixel.x-1,pixel.y-1);
|
||||
pixelMap[pixel.x-1][pixel.y-1].color = pixelColorPick(pixelMap[pixel.x-1][pixel.y-1], pixel.lc);
|
||||
}
|
||||
else {
|
||||
createPixel(treeName + "_branch",pixel.x-1,pixel.y-1);
|
||||
pixelMap[pixel.x-1][pixel.y-1].color = pixelColorPick(pixelMap[pixel.x-1][pixel.y-1], pixel.wc);
|
||||
pixelMap[pixel.x-1][pixel.y-1].wc = pixel.wc;
|
||||
pixelMap[pixel.x-1][pixel.y-1].lc = pixel.lc;
|
||||
}
|
||||
}
|
||||
if (isEmpty(pixel.x+1,pixel.y-1) && Math.random() < 0.02) {
|
||||
if (Math.random() < 0.5) {
|
||||
createPixel("plant",pixel.x+1,pixel.y-1);
|
||||
pixelMap[pixel.x+1][pixel.y-1].color = pixelColorPick(pixelMap[pixel.x+1][pixel.y-1], pixel.lc);
|
||||
}
|
||||
else {
|
||||
createPixel(treeName + "_branch",pixel.x+1,pixel.y-1);
|
||||
pixelMap[pixel.x+1][pixel.y-1].color = pixelColorPick(pixelMap[pixel.x+1][pixel.y-1], pixel.wc);
|
||||
pixelMap[pixel.x+1][pixel.y-1].wc = pixel.wc;
|
||||
pixelMap[pixel.x+1][pixel.y-1].lc = pixel.lc;
|
||||
}
|
||||
}
|
||||
if (isEmpty(pixel.x,pixel.y-1) && Math.random() < 0.02) {
|
||||
if (Math.random() < 0.75) {
|
||||
createPixel("plant",pixel.x,pixel.y-1);
|
||||
pixelMap[pixel.x][pixel.y-1].color = pixelColorPick(pixelMap[pixel.x][pixel.y-1], pixel.lc);
|
||||
}
|
||||
else {
|
||||
createPixel(treeName + "_branch",pixel.x,pixel.y-1);
|
||||
pixelMap[pixel.x][pixel.y-1].color = pixelColorPick(pixelMap[pixel.x][pixel.y-1], pixel.wc);
|
||||
pixelMap[pixel.x][pixel.y-1].wc = pixel.wc;
|
||||
pixelMap[pixel.x][pixel.y-1].lc = pixel.lc;
|
||||
}
|
||||
}
|
||||
}
|
||||
doDefaults(pixel);
|
||||
},
|
||||
movable: false,
|
||||
tempHigh: 100,
|
||||
stateHigh: woodName,
|
||||
tempLow: -30,
|
||||
stateLow: woodName,
|
||||
category: "life",
|
||||
burn: 2,
|
||||
burnTime: 300,
|
||||
burnInto: ["sap","ember","charcoal","smoke"],
|
||||
hidden: true,
|
||||
state: "solid",
|
||||
density: 1500,
|
||||
hardness: 0.15,
|
||||
breakInto: ["sap","sawdust"],
|
||||
seed: treeName + "_sapling",
|
||||
forceSaveColor: true
|
||||
}
|
||||
}
|
||||
|
||||
elements.red_wood = {
|
||||
density: 450,
|
||||
burnTime: 100,
|
||||
burn: 15,
|
||||
color: "#D4381E",
|
||||
category: "solids",
|
||||
behavior: behaviors.WALL,
|
||||
state: "solid",
|
||||
hardness: 0.7, // A highly durable wood
|
||||
breakInto: "sawdust",
|
||||
burnInto: "ash"
|
||||
};
|
||||
|
||||
elements.pine_wood = {
|
||||
density: 550,
|
||||
burnTime: 125,
|
||||
burn: 20,
|
||||
color: ["#D59F71", "#BC7852", "B46F4C", "#D59F71"],
|
||||
category: "solids",
|
||||
behavior: behaviors.WALL,
|
||||
state: "solid",
|
||||
hardness: 0.4, // Medium hardness
|
||||
breakInto: "sawdust",
|
||||
burnInto: "ash"
|
||||
};
|
||||
|
||||
elements.oak = {
|
||||
density: 700,
|
||||
burnTime: 150,
|
||||
burn: 30,
|
||||
color: ["#ECCCAC", "C2965F", "D29A67", "B07C4F", "CAA06E"],
|
||||
category: "solids",
|
||||
behavior: behaviors.WALL,
|
||||
state: "solid",
|
||||
hardness: 0.8, // Exceptionally hard and durable
|
||||
breakInto: "sawdust",
|
||||
burnInto: "ash"
|
||||
};
|
||||
|
||||
elements.birch = {
|
||||
density: 670,
|
||||
burnTime: 175,
|
||||
burn: 25,
|
||||
color: ["#FFFFFF", "#000000", "#FFFFFF"],
|
||||
category: "solids",
|
||||
behavior: behaviors.WALL,
|
||||
state: "solid",
|
||||
hardness: 0.6, // Relatively hard
|
||||
breakInto: "sawdust",
|
||||
burnInto: "ash"
|
||||
};
|
||||
|
||||
elements.cherry_wood = {
|
||||
density: 400,
|
||||
burnTime: 100,
|
||||
burn: 10,
|
||||
color: ["#8E3D27", "#A44B2B", "#883B29"],
|
||||
category: "solids",
|
||||
behavior: behaviors.WALL,
|
||||
state: "solid",
|
||||
hardness: 0.3, // Relatively soft
|
||||
breakInto: "sawdust",
|
||||
burnInto: "ash"
|
||||
};
|
||||
|
||||
elements.maple_wood = {
|
||||
density: 600,
|
||||
burnTime: 175,
|
||||
burn: 25,
|
||||
color: ["#DAA520", "#C68E17", "#FFD700"],
|
||||
category: "solids",
|
||||
behavior: behaviors.WALL,
|
||||
state: "solid",
|
||||
hardness: 0.7, // Durable and dense
|
||||
breakInto: "sawdust",
|
||||
burnInto: "ash"
|
||||
};
|
||||
|
||||
elements.walnut_wood = {
|
||||
density: 750,
|
||||
burnTime: 225,
|
||||
burn: 30,
|
||||
color: ["#5A4522", "#3E2E1F", "#8B5A2B"],
|
||||
category: "solids",
|
||||
behavior: behaviors.WALL,
|
||||
state: "solid",
|
||||
hardness: 0.9, // Extremely hard and dense
|
||||
breakInto: "sawdust",
|
||||
burnInto: "ash"
|
||||
};
|
||||
|
||||
elements.mahogany = {
|
||||
density: 800,
|
||||
burnTime: 250,
|
||||
burn: 35,
|
||||
color: ["#C04000", "#7B3F00", "#88441C"],
|
||||
category: "solids",
|
||||
behavior: behaviors.WALL,
|
||||
state: "solid",
|
||||
hardness: 0.85, // Very hard and resistant to decay
|
||||
breakInto: "sawdust",
|
||||
burnInto: "ash"
|
||||
};
|
||||
|
||||
elements.cedar = {
|
||||
density: 480,
|
||||
burnTime: 150,
|
||||
burn: 20,
|
||||
color: ["#B8860B", "#CD853F", "#8B4513"],
|
||||
category: "solids",
|
||||
behavior: behaviors.WALL,
|
||||
state: "solid",
|
||||
hardness: 0.5, // Moderately hard and lightweight
|
||||
breakInto: "sawdust",
|
||||
burnInto: "ash"
|
||||
};
|
||||
|
||||
elements.ash_wood = {
|
||||
density: 620,
|
||||
burnTime: 100,
|
||||
burn: 25,
|
||||
color: ["#A52A2A", "#D2691E", "#8B4513"],
|
||||
category: "solids",
|
||||
behavior: behaviors.WALL,
|
||||
state: "solid",
|
||||
hardness: 0.6, // Hardwood with good shock resistance
|
||||
breakInto: "sawdust",
|
||||
burnInto: "ash"
|
||||
};
|
||||
|
||||
elements.poplar_wood = {
|
||||
density: 420,
|
||||
burnTime: 120,
|
||||
burn: 15,
|
||||
color: ["#9E8040", "#BEBD7F", "#D7D4BB"],
|
||||
category: "solids",
|
||||
behavior: behaviors.WALL,
|
||||
state: "solid",
|
||||
hardness: 0.4, // Softwood with low density
|
||||
breakInto: "sawdust",
|
||||
burnInto: "ash"
|
||||
};
|
||||
|
||||
elements.fir_wood = {
|
||||
density: 560,
|
||||
burnTime: 130,
|
||||
burn: 20,
|
||||
color: ["#B4CDCD", "#8B9CA9", "#CED1D9"],
|
||||
category: "solids",
|
||||
behavior: behaviors.WALL,
|
||||
state: "solid",
|
||||
hardness: 0.5, // Medium hardness and lightweight
|
||||
breakInto: "sawdust",
|
||||
burnInto: "ash"
|
||||
};
|
||||
|
||||
elements.teak = {
|
||||
density: 660,
|
||||
burnTime: 180,
|
||||
burn: 30,
|
||||
color: ["#B5651D", "#704214", "#8B4513"],
|
||||
category: "solids",
|
||||
behavior: behaviors.WALL,
|
||||
state: "solid",
|
||||
hardness: 0.7, // High natural oil content and durability
|
||||
breakInto: "sawdust",
|
||||
burnInto: "ash"
|
||||
};
|
||||
|
||||
elements.spruce = {
|
||||
density: 480,
|
||||
burnTime: 110,
|
||||
burn: 15,
|
||||
color: ["#8B4513", "#B8860B", "#CD853F"],
|
||||
category: "solids",
|
||||
behavior: behaviors.WALL,
|
||||
state: "solid",
|
||||
hardness: 0.5, // Moderately hard and lightweight
|
||||
breakInto: "sawdust",
|
||||
burnInto: "ash"
|
||||
};
|
||||
|
||||
elements.cypress_wood = {
|
||||
density: 520,
|
||||
burnTime: 140,
|
||||
burn: 20,
|
||||
color: ["#827A68", "#6B4226", "#A0522D"],
|
||||
category: "solids",
|
||||
behavior: behaviors.WALL,
|
||||
state: "solid",
|
||||
hardness: 0.6, // Medium hardness with good decay resistance
|
||||
breakInto: "sawdust",
|
||||
burnInto: "ash"
|
||||
};
|
||||
|
||||
elements.beech_wood = {
|
||||
density: 670,
|
||||
burnTime: 160,
|
||||
burn: 25,
|
||||
color: ["#F0DC82", "#C0C0C0", "#9C661F"],
|
||||
category: "solids",
|
||||
behavior: behaviors.WALL,
|
||||
state: "solid",
|
||||
hardness: 0.7, // Hardwood with good strength and wear resistance
|
||||
breakInto: "sawdust",
|
||||
burnInto: "ash"
|
||||
};
|
||||
|
||||
elements.sapele = {
|
||||
density: 670,
|
||||
burnTime: 150,
|
||||
burn: 25,
|
||||
color: ["#8B4513", "#FF4500", "#CD853F"],
|
||||
category: "solids",
|
||||
behavior: behaviors.WALL,
|
||||
state: "solid",
|
||||
hardness: 0.8, // Hardwood with good stability and workability
|
||||
breakInto: "sawdust",
|
||||
burnInto: "ash"
|
||||
};
|
||||
|
||||
elements.pear_wood = {
|
||||
density: 670,
|
||||
burnTime: 160,
|
||||
burn: 20,
|
||||
color: ["#FFD700", "#CD853F", "#FF6347"],
|
||||
category: "solids",
|
||||
behavior: behaviors.WALL,
|
||||
state: "solid",
|
||||
hardness: 0.6, // Hardwood with fine grain and smooth texture
|
||||
breakInto: "sawdust",
|
||||
burnInto: "ash"
|
||||
};
|
||||
|
||||
elements.hickory = {
|
||||
density: 800,
|
||||
burnTime: 200,
|
||||
burn: 30,
|
||||
color: ["#664C28", "#8B6914", "#8B4513"],
|
||||
category: "solids",
|
||||
behavior: behaviors.WALL,
|
||||
state: "solid",
|
||||
hardness: 0.9, // Extremely hard and dense
|
||||
breakInto: "sawdust",
|
||||
burnInto: "ash"
|
||||
};
|
||||
|
||||
elements.sycamore = {
|
||||
density: 530,
|
||||
burnTime: 140,
|
||||
burn: 20,
|
||||
color: ["#F4A460", "#F0E68C", "#A0522D"],
|
||||
category: "solids",
|
||||
behavior: behaviors.WALL,
|
||||
state: "solid",
|
||||
hardness: 0.5, // Medium hardness and lightweight
|
||||
breakInto: "sawdust",
|
||||
burnInto: "ash"
|
||||
};
|
||||
|
||||
elements.willow_wood = {
|
||||
density: 380,
|
||||
burnTime: 100,
|
||||
burn: 10,
|
||||
color: ["#C19A6B", "#8B4513", "#CD853F"],
|
||||
category: "solids",
|
||||
behavior: behaviors.WALL,
|
||||
state: "solid",
|
||||
hardness: 0.3, // Softwood with low density
|
||||
breakInto: "sawdust",
|
||||
burnInto: "ash"
|
||||
};
|
||||
|
||||
elements.zebra_wood = {
|
||||
density: 800,
|
||||
burnTime: 220,
|
||||
burn: 30,
|
||||
color: ["#F0DC82", "#8B4513", "#FFD700"],
|
||||
category: "solids",
|
||||
behavior: behaviors.WALL,
|
||||
state: "solid",
|
||||
hardness: 0.9, // Extremely hard and dense
|
||||
breakInto: "sawdust",
|
||||
burnInto: "ash"
|
||||
};
|
||||
|
||||
elements.basswood = {
|
||||
density: 410,
|
||||
burnTime: 110,
|
||||
burn: 15,
|
||||
color: ["#D2B48C", "#DEB887", "#F5F5DC"],
|
||||
category: "solids",
|
||||
behavior: behaviors.WALL,
|
||||
state: "solid",
|
||||
hardness: 0.4, // Softwood with low density
|
||||
breakInto: "sawdust",
|
||||
burnInto: "ash"
|
||||
};
|
||||
|
||||
elements.larch_wood = {
|
||||
density: 590,
|
||||
burnTime: 130,
|
||||
burn: 20,
|
||||
color: ["#C9AE5D", "#E0C49D", "#9C661F"],
|
||||
category: "solids",
|
||||
behavior: behaviors.WALL,
|
||||
state: "solid",
|
||||
hardness: 0.6, // Medium hardness with good durability
|
||||
breakInto: "sawdust",
|
||||
burnInto: "ash"
|
||||
};
|
||||
|
||||
elements.silver_maple = {
|
||||
density: 560,
|
||||
burnTime: 140,
|
||||
burn: 25,
|
||||
color: ["#C0C0C0", "#D3D3D3", "#BEBEBE"],
|
||||
category: "solids",
|
||||
behavior: behaviors.WALL,
|
||||
state: "solid",
|
||||
hardness: 0.5, // Moderate hardness and lightweight
|
||||
breakInto: "sawdust",
|
||||
burnInto: "ash"
|
||||
};
|
||||
|
||||
elements.balsam_fir = {
|
||||
density: 460,
|
||||
burnTime: 120,
|
||||
burn: 15,
|
||||
color: ["#B4CDCD", "#8B9CA9", "#CED1D9"],
|
||||
category: "solids",
|
||||
behavior: behaviors.WALL,
|
||||
state: "solid",
|
||||
hardness: 0.4, // Softwood with moderate hardness
|
||||
breakInto: "sawdust",
|
||||
burnInto: "ash"
|
||||
};
|
||||
|
||||
elements.elm_wood = {
|
||||
density: 560,
|
||||
burnTime: 140,
|
||||
burn: 20,
|
||||
color: ["#8B4513", "#228B22", "#CD5C5C"],
|
||||
category: "solids",
|
||||
behavior: behaviors.WALL,
|
||||
state: "solid",
|
||||
hardness: 0.6, // Medium hardness and lightweight
|
||||
breakInto: "sawdust",
|
||||
burnInto: "ash",
|
||||
};
|
||||
|
||||
createTree("red_wood", "#2E6E4E", "red_wood");
|
||||
createTree("pine", "#D59F71", "pine_wood");
|
||||
createTree("oak", "#ECCCAC", "oak");
|
||||
createTree("birch", "#FFFFFF", "birch");
|
||||
createTree("cherry_blossom", "#8E3D27", "cherry_wood");
|
||||
createTree("maple", "#DAA520", "maple_wood");
|
||||
createTree("walnut", "#5A4522", "walnut_wood");
|
||||
createTree("mahogany", "#C04000", "mahogany");
|
||||
createTree("cedar", "#B8860B", "cedar");
|
||||
createTree("ash_wood", "#A52A2A", "ash_wood");
|
||||
createTree("poplar_wood", "#9E8040", "poplar_wood");
|
||||
createTree("fir_wood", "#B4CDCD", "fir_wood");
|
||||
createTree("teak", "#B5651D", "teak");
|
||||
createTree("spruce", "#8B4513", "spruce");
|
||||
createTree("cypress", "#827A68", "cypress_wood");
|
||||
createTree("beech", "#F0DC82", "beech_wood");
|
||||
createTree("sapele", "#8B4513", "sapele");
|
||||
createTree("pear", "#FFD700", "pear_wood");
|
||||
createTree("hickory", "#664C28", "hickory");
|
||||
createTree("sycamore", "#F4A460", "sycamore");
|
||||
createTree("willow", "#C19A6B", "willow_wood");
|
||||
createTree("zebra_wood", "#F0DC82", "zebra_wood");
|
||||
createTree("basswood", "#D2B48C", "basswood");
|
||||
createTree("larch", "#C9AE5D", "larch_wood");
|
||||
createTree("silver_maple", "#C0C0C0", "silver_maple");
|
||||
createTree("balsam_fir", "#B4CDCD", "balsam_fir");
|
||||
createTree("elm", "#8B4513", "elm_wood");
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
elements.wine = {
|
||||
color: "#89281D",
|
||||
behavior: behaviors.LIQUID,
|
||||
category: "food",
|
||||
viscosity: 20000,
|
||||
state: "liquid",
|
||||
density: 380,
|
||||
};
|
||||
Loading…
Reference in New Issue