This commit is contained in:
slweeb 2022-12-15 10:18:01 -05:00
parent aca3978a5a
commit a4c670b26c
3 changed files with 551 additions and 55 deletions

View File

@ -3,6 +3,49 @@
+ Baking Update + Baking Update
+ More plans / suggestions at https://docs.google.com/document/u/4/d/1R8xljj_J-K5oU-9y4louwplQmM-ZBvUfXmhbgj5LYdk/edit + More plans / suggestions at https://docs.google.com/document/u/4/d/1R8xljj_J-K5oU-9y4louwplQmM-ZBvUfXmhbgj5LYdk/edit
[Version 1.7 - December 15, 2022 - Anniversary Update]
+ Confetti
+ Party Popper
+ Balloon
+ Evergreen Trees
+ Pinecone, sapling equivalent
+ Evergreen (Hidden)
+ Gingerbread, a sturdy building material
+ Slush, made when snow mixes with water
+ Snow world gen type
+ Taiga world gen type
+ Tide Pool world gen type
+ New party-themed random events
+ Molten Ash
+ AlGa alloy (Hidden)
+ Eggnog (Hidden)
+ Pilk (Hidden)
+ Supporters list below game, donate to be added for life!
[Changes]
~ Snow more resilient to heat
~ Tweaked Ice color
~ Improved world gen for: Flower Field, Wheat Field, Forest, Jungle, Ocean
~ Dyanmite must now be triggered to explode
~ Plague now dissipates over time
~ Plague now dies at high temperatures
+ Snails and Slugs can now eat Dead Plant
+ Rats killed by Soap
+ Soap can damage Cancer
+ Cancer dirties Water
+ Cancer can now be frozen
+ Roots can freeze to death
+ Milk and variants can wet Dirt and Sand
+ Wet Sand can freeze
+ Cheerful Mode for when tragedy hits
- Removed Yolk random event
[Bug Fixes]
~ Fixed: Gallium freezing point too low
~ Fixed: Clouds getting stuck on each other
~ Fixed: Molten conductivity not being set properly
~ Fixed: Dead Bug button color not showing
[Technical]
+ "decor" world gen property, see "forest" or "tide_pool"
[Version 1.6.5 - November 16, 2022] [Version 1.6.5 - November 16, 2022]
+ Radiated Glass + Radiated Glass
+ Gallium + Gallium
@ -12,7 +55,7 @@
+ Added Sandboxels introduction and controls underneath game + Added Sandboxels introduction and controls underneath game
+ Loading screen + Loading screen
[Bug Fixes] [Bug Fixes]
~ Fixed: Yeast immediately killed by yeast it ferments ~ Fixed: Yeast immediately killed by alcohol it ferments
[Technical] [Technical]
~ Revamped CSS, report any bugs on the Discord ~ Revamped CSS, report any bugs on the Discord
+ New "attr1" and "attr2" reaction property + New "attr1" and "attr2" reaction property

View File

@ -603,6 +603,7 @@
"radiation": { "elem1": "dirty_water", chance:0.25 }, "radiation": { "elem1": "dirty_water", chance:0.25 },
"uranium": { "elem1": "dirty_water", chance:0.25 }, "uranium": { "elem1": "dirty_water", chance:0.25 },
"rotten_meat": { "elem1": "dirty_water", chance:0.25 }, "rotten_meat": { "elem1": "dirty_water", chance:0.25 },
"cancer": { "elem1": "dirty_water", chance:0.25 },
"quicklime": { "elem1": null, "elem2": "slaked_lime", }, "quicklime": { "elem1": null, "elem2": "slaked_lime", },
"rock": { "elem2": "wet_sand", "chance": 0.00035 }, "rock": { "elem2": "wet_sand", "chance": 0.00035 },
"ruins": { "elem2": "rock", "chance": 0.00035 }, "ruins": { "elem2": "rock", "chance": 0.00035 },
@ -646,6 +647,7 @@
"firefly": { "elem2":"dead_bug", "chance":0.1, "oneway":true }, "firefly": { "elem2":"dead_bug", "chance":0.1, "oneway":true },
"bee": { "elem2":"dead_bug", "chance":0.05, "oneway":true }, "bee": { "elem2":"dead_bug", "chance":0.05, "oneway":true },
"stink_bug": { "elem2":"dead_bug", "chance":0.1, "oneway":true }, "stink_bug": { "elem2":"dead_bug", "chance":0.1, "oneway":true },
"cancer": { "elem1": "dirty_water", chance:0.25 },
}, },
state: "liquid", state: "liquid",
density: 1026, density: 1026,
@ -755,6 +757,7 @@
"sand": { "elem1": null, "elem2": "wet_sand", }, "sand": { "elem1": null, "elem2": "wet_sand", },
"rock": { "elem2": "wet_sand", "chance": 0.001 }, "rock": { "elem2": "wet_sand", "chance": 0.001 },
"plant": { "elem2":"dead_plant", "chance":0.05 }, "plant": { "elem2":"dead_plant", "chance":0.05 },
"evergreen": { "elem2":"dead_plant", "chance":0.05 },
"grass": { "elem2":"dead_plant", "chance":0.05 }, "grass": { "elem2":"dead_plant", "chance":0.05 },
"algae": { "elem2":null, "chance":0.05 }, "algae": { "elem2":null, "chance":0.05 },
"cell": { "elem2":null, "chance":0.05 }, "cell": { "elem2":null, "chance":0.05 },
@ -822,6 +825,8 @@
}, },
tempHigh: 100, tempHigh: 100,
stateHigh: "packed_sand", stateHigh: "packed_sand",
tempLow: -50,
stateLow: "packed_sand",
category: "land", category: "land",
state: "solid", state: "solid",
density: 1905, density: 1905,
@ -1064,9 +1069,9 @@
density: 0.6, density: 0.6,
}, },
"ice": { "ice": {
color: "#c5e9f0", color: "#b2daeb",
behavior: behaviors.WALL, behavior: behaviors.WALL,
temp: 0, temp: -5,
tempHigh: 5, tempHigh: 5,
stateHigh: "water", stateHigh: "water",
category: "solids", category: "solids",
@ -1077,8 +1082,16 @@
"snow": { "snow": {
color: "#e1f8fc", color: "#e1f8fc",
behavior: behaviors.POWDER, behavior: behaviors.POWDER,
temp: 0, reactions: {
tempHigh: 5, "water": { "elem1":"slush", "elem2":"slush" },
"salt_water": { "elem1":"slush" },
"dirty_water": { "elem1":"slush" },
"pool_water": { "elem1":"slush" },
"sugar_water": { "elem1":"slush" },
"seltzer": { "elem1":"slush" },
},
temp: -5,
tempHigh: 18,
tempLow: -100, tempLow: -100,
stateLow: "packed_snow", stateLow: "packed_snow",
stateHigh: "water", stateHigh: "water",
@ -1086,6 +1099,24 @@
state: "solid", state: "solid",
density: 100, density: 100,
}, },
"slush": {
color: "#81bcd4",
behavior: behaviors.LIQUID,
reactions: {
"dirt": { "elem1": null, "elem2": "mud" },
"sand": { "elem1": null, "elem2": "wet_sand", },
},
temp: -5,
tempHigh: 18,
tempLow: -20,
stateLow: "ice",
stateHigh: "water",
category: "liquids",
state: "liquid",
density: 95,
viscosity: 100,
hidden: true
},
"packed_snow": { "packed_snow": {
color: "#bcdde3", color: "#bcdde3",
behavior: behaviors.SUPPORTPOWDER, behavior: behaviors.SUPPORTPOWDER,
@ -1580,10 +1611,13 @@
}, },
tempHigh: 80, tempHigh: 80,
stateHigh: "plague", stateHigh: "plague",
tempLow: -30,
stateLow: "dirty_water",
state: "solid", state: "solid",
density: 1000.2, density: 1000.2,
category: "life", category: "life",
breakInto: ["dirty_water","dna","dna","dna","dna"] breakInto: ["dirty_water","dna","dna","dna","dna"],
nocheer: true
}, },
"dna": { "dna": {
color: ["#ffe3e3","#e3e3ff","#ffffe3","#e3ffe3"], color: ["#ffe3e3","#e3e3ff","#ffffe3","#e3ffe3"],
@ -1602,7 +1636,11 @@
}, },
"plague": { "plague": {
color: "#36005c", color: "#36005c",
behavior: behaviors.GAS, behavior: [
"M2|M1|M2",
"M1|DL%1|M1",
"M2|M1|M2",
],
reactions: { reactions: {
"frog": { "elem2":"plague", "chance":0.05 }, "frog": { "elem2":"plague", "chance":0.05 },
"ant": { "elem2":"plague", "chance":0.05 }, "ant": { "elem2":"plague", "chance":0.05 },
@ -1612,6 +1650,8 @@
"chlorine": { "elem1":null }, "chlorine": { "elem1":null },
"liquid_chlorine": { "elem1":null }, "liquid_chlorine": { "elem1":null },
}, },
tempHigh: 300,
stateHigh: null,
category: "life", category: "life",
state: "gas", state: "gas",
density: 600, density: 600,
@ -1722,6 +1762,7 @@
"dead_plant": { "elem2":"dirt", "chance":0.1, func:behaviors.FEEDPIXEL }, "dead_plant": { "elem2":"dirt", "chance":0.1, func:behaviors.FEEDPIXEL },
"hyphae": { "elem2":"mycelium", "chance":0.1, func:behaviors.FEEDPIXEL }, "hyphae": { "elem2":"mycelium", "chance":0.1, func:behaviors.FEEDPIXEL },
"plant": { "elem2":"root", "chance":0.1, func:behaviors.FEEDPIXEL }, "plant": { "elem2":"root", "chance":0.1, func:behaviors.FEEDPIXEL },
"evergreen": { "elem2":"root", "chance":0.1, func:behaviors.FEEDPIXEL },
"grass": { "elem2":"dirt", "chance":0.1, func:behaviors.FEEDPIXEL }, "grass": { "elem2":"dirt", "chance":0.1, func:behaviors.FEEDPIXEL },
"limestone": { "elem2":"calcium", "chance":0.1, func:behaviors.FEEDPIXEL }, "limestone": { "elem2":"calcium", "chance":0.1, func:behaviors.FEEDPIXEL },
"quicklime": { "elem2":"calcium", "chance":0.1, func:behaviors.FEEDPIXEL }, "quicklime": { "elem2":"calcium", "chance":0.1, func:behaviors.FEEDPIXEL },
@ -1752,6 +1793,7 @@
], ],
reactions: { reactions: {
"plant": { "elem2":null, chance:0.15, func:behaviors.FEEDPIXEL }, "plant": { "elem2":null, chance:0.15, func:behaviors.FEEDPIXEL },
"evergreen": { "elem2":null, chance:0.15, func:behaviors.FEEDPIXEL },
"dead_plant": { "elem2":null, chance:0.15, func:behaviors.FEEDPIXEL }, "dead_plant": { "elem2":null, chance:0.15, func:behaviors.FEEDPIXEL },
"meat": { "elem2":null, chance:0.15, func:behaviors.FEEDPIXEL }, "meat": { "elem2":null, chance:0.15, func:behaviors.FEEDPIXEL },
"cooked_meat": { "elem2":null, chance:0.15, func:behaviors.FEEDPIXEL }, "cooked_meat": { "elem2":null, chance:0.15, func:behaviors.FEEDPIXEL },
@ -1918,7 +1960,7 @@
conduct: 0.15, conduct: 0.15,
}, },
"dead_bug": { "dead_bug": {
color: ["#38302a","403732","#453a2e","#241d15","#242e23"], color: ["#38302a","#403732","#453a2e","#241d15","#242e23"],
behavior: behaviors.POWDER, behavior: behaviors.POWDER,
tempHigh: 100, tempHigh: 100,
stateHigh: "ash", stateHigh: "ash",
@ -2210,6 +2252,7 @@
"cheese": { "elem2":null, "chance":0.2, func:behaviors.FEEDPIXEL }, "cheese": { "elem2":null, "chance":0.2, func:behaviors.FEEDPIXEL },
"melted_cheese": { "elem2":null, "chance":0.3, func:behaviors.FEEDPIXEL }, "melted_cheese": { "elem2":null, "chance":0.3, func:behaviors.FEEDPIXEL },
"plant": { "elem2":null, "chance":0.1, func:behaviors.FEEDPIXEL }, "plant": { "elem2":null, "chance":0.1, func:behaviors.FEEDPIXEL },
"evergreen": { "elem2":null, "chance":0.1, func:behaviors.FEEDPIXEL },
"algae": { "elem2":null, "chance":0.2, func:behaviors.FEEDPIXEL }, "algae": { "elem2":null, "chance":0.2, func:behaviors.FEEDPIXEL },
"grass_seed": { "elem2":null, "chance":0.3 , func:behaviors.FEEDPIXEL}, "grass_seed": { "elem2":null, "chance":0.3 , func:behaviors.FEEDPIXEL},
"wheat_seed": { "elem2":null, "chance":0.3, func:behaviors.FEEDPIXEL }, "wheat_seed": { "elem2":null, "chance":0.3, func:behaviors.FEEDPIXEL },
@ -2359,6 +2402,8 @@
"potassium_salt": { "elem1": "slime", "elem2": null }, "potassium_salt": { "elem1": "slime", "elem2": null },
"epsom_salt": { "elem1": "slime", "elem2": null }, "epsom_salt": { "elem1": "slime", "elem2": null },
"plant": { "elem2":null, "chance":0.05, func:behaviors.FEEDPIXEL }, "plant": { "elem2":null, "chance":0.05, func:behaviors.FEEDPIXEL },
"evergreen": { "elem2":null, "chance":0.05, func:behaviors.FEEDPIXEL },
"dead_plant": { "elem2":null, "chance":0.05, func:behaviors.FEEDPIXEL },
"worm": { "elem2":null, "chance":0.01, func:behaviors.FEEDPIXEL }, "worm": { "elem2":null, "chance":0.01, func:behaviors.FEEDPIXEL },
"mushroom_spore": { "elem2":null, "chance":0.05, func:behaviors.FEEDPIXEL }, "mushroom_spore": { "elem2":null, "chance":0.05, func:behaviors.FEEDPIXEL },
"grass": { "elem2":null, "chance":0.05, func:behaviors.FEEDPIXEL }, "grass": { "elem2":null, "chance":0.05, func:behaviors.FEEDPIXEL },
@ -2395,6 +2440,8 @@
"potassium_salt": { "elem1": "calcium", "elem2": null }, "potassium_salt": { "elem1": "calcium", "elem2": null },
"epsom_salt": { "elem1": "calcium", "elem2": null }, "epsom_salt": { "elem1": "calcium", "elem2": null },
"plant": { "elem2":null, "chance":0.05, func:behaviors.FEEDPIXEL }, "plant": { "elem2":null, "chance":0.05, func:behaviors.FEEDPIXEL },
"evergreen": { "elem2":null, "chance":0.05, func:behaviors.FEEDPIXEL },
"dead_plant": { "elem2":null, "chance":0.05, func:behaviors.FEEDPIXEL },
"worm": { "elem2":null, "chance":0.01, func:behaviors.FEEDPIXEL }, "worm": { "elem2":null, "chance":0.01, func:behaviors.FEEDPIXEL },
"mushroom_spore": { "elem2":null, "chance":0.05, func:behaviors.FEEDPIXEL }, "mushroom_spore": { "elem2":null, "chance":0.05, func:behaviors.FEEDPIXEL },
"grass": { "elem2":null, "chance":0.05, func:behaviors.FEEDPIXEL }, "grass": { "elem2":null, "chance":0.05, func:behaviors.FEEDPIXEL },
@ -2540,6 +2587,23 @@
hardness: 0.5, hardness: 0.5,
breakInto: "calcium", breakInto: "calcium",
}, },
"balloon": {
color: ["#FE4A75","#267CB0","#1A743C","#FF6FFA","#EAEDE5","#1DC9F3","#FF0101","#F4CD32","#BEE347","#FAB937","#91C7CC"],
behavior: [
"M1%50|M1%50|M1%50",
"M2%5|XX|M2%5",
"M2%5|M2%5|M2%5",
],
category:"special",
tempHigh: 120,
stateHigh: "pop",
burn: 20,
burnTime: 2,
burnInto: "pop",
state: "solid",
density: 0.164,
breakInto: ["confetti","helium","helium","helium"],
},
"antipowder": { "antipowder": {
color: "#ebd1d8", color: "#ebd1d8",
behavior: behaviors.AGPOWDER, behavior: behaviors.AGPOWDER,
@ -2664,6 +2728,13 @@
category:"powders", category:"powders",
state: "solid", state: "solid",
density: 700, density: 700,
tempHigh: 2000,
forceAutoGen: true,
stateHigh: ["molten_ash","smoke","smoke","smoke"]
},
"molten_ash": {
tempHigh: 3550,
stateHigh: "smoke"
}, },
"light": { "light": {
color: "#fffdcf", color: "#fffdcf",
@ -2944,6 +3015,7 @@
reactions: { reactions: {
"methane": { "elem1":null, "elem2":"cyanide", "chance":0.25 }, "methane": { "elem1":null, "elem2":"cyanide", "chance":0.25 },
"plant": { "elem1":"plant", "chance":0.05 }, "plant": { "elem1":"plant", "chance":0.05 },
"evergreen": { "elem1":"evergreen", "chance":0.05 },
"wheat_seed": { "elem1":"wheat", "chance":0.05 }, "wheat_seed": { "elem1":"wheat", "chance":0.05 },
"grass": { "elem1":"grass", "chance":0.05 }, "grass": { "elem1":"grass", "chance":0.05 },
"grass_seed": { "elem1":"grass", "chance":0.05 }, "grass_seed": { "elem1":"grass", "chance":0.05 },
@ -2977,6 +3049,7 @@
behavior: behaviors.GAS, behavior: behaviors.GAS,
reactions: { reactions: {
"plant": { "elem1":"oxygen" }, "plant": { "elem1":"oxygen" },
"evergreen": { "elem1":"oxygen" },
"algae": { "elem1":"oxygen" }, "algae": { "elem1":"oxygen" },
}, },
category: "gases", category: "gases",
@ -3207,6 +3280,81 @@
cooldown: defaultCooldown, cooldown: defaultCooldown,
seed: true seed: true
}, },
"pinecone": {
color: ["#5c3e33","#472f27","#31211b"],
tick: function(pixel) {
if (!tryMove(pixel,pixel.x,pixel.y+1) && pixelTicks-pixel.start > 50) {
if (pixel.h === undefined) { // set to even number between 6 and 20
pixel.h = Math.floor(Math.random()*7)*2+6;
}
if (Math.random() < 0.02 && pixel.h > 0 && pixel.temp < 100) {
if (!outOfBounds(pixel.x,pixel.y+1)) { // grow roots
var dirtPixel = pixelMap[pixel.x][pixel.y+1];
if (dirtPixel.element === "dirt" || dirtPixel.element === "mud" || dirtPixel.element === "sand" || dirtPixel.element === "wet_sand" || dirtPixel.element === "clay_soil" || dirtPixel.element === "mycelium") {
changePixel(dirtPixel,"root");
}
}
if (isEmpty(pixel.x,pixel.y-1)) {
movePixel(pixel,pixel.x,pixel.y-1);
if (pixel.h % 2 && pixel.h < 12) {
createPixel("evergreen",pixel.x,pixel.y+1);
pixelMap[pixel.x][pixel.y+1].h = pixel.h;
}
else {
createPixel("wood",pixel.x,pixel.y+1);
}
pixel.h --;
}
}
else if (pixel.h === 0) {
changePixel(pixel,"evergreen");
}
}
doDefaults(pixel);
},
tempHigh: 400,
stateHigh: "fire",
burn: 65,
burnTime: 15,
category: "life",
state: "solid",
density: 1500,
cooldown: defaultCooldown,
seed: true
},
"evergreen": {
color: "#006300",
tick: function (pixel) {
if (pixel.h > 0 && pixelTicks % (50+pixel.h) === 0) {
// extend to the left and right, giving the next evergreen h-1
if (isEmpty(pixel.x-1,pixel.y)) {
createPixel("evergreen",pixel.x-1,pixel.y);
pixelMap[pixel.x-1][pixel.y].h = pixel.h-2;
}
if (isEmpty(pixel.x+1,pixel.y)) {
createPixel("evergreen",pixel.x+1,pixel.y);
pixelMap[pixel.x+1][pixel.y].h = pixel.h-2;
}
}
doDefaults(pixel);
},
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: 120,
stateHigh: "dead_plant",
burn:45,
burnTime:75,
burnInto: "dead_plant",
state: "solid",
density: 1050,
seed: "pinecone",
hidden: true
},
"seeds": { "seeds": {
color: ["#359100","#74b332","#b9d461","#dede7a"], color: ["#359100","#74b332","#b9d461","#dede7a"],
tick: function(pixel) { tick: function(pixel) {
@ -3763,6 +3911,7 @@
"wood": { "elem2":"dirt", "chance":0.04 }, "wood": { "elem2":"dirt", "chance":0.04 },
"tree_brake": { "elem2":"dirt", "chance":0.04 }, "tree_brake": { "elem2":"dirt", "chance":0.04 },
"plant": { "elem2":"dirt", "chance":0.07 }, "plant": { "elem2":"dirt", "chance":0.07 },
"evergreen": { "elem2":"dirt", "chance":0.07 },
"root": { "elem2":"dirt", "chance":0.07 }, "root": { "elem2":"dirt", "chance":0.07 },
"grass": { "elem2":"dirt", "chance":0.08 }, "grass": { "elem2":"dirt", "chance":0.08 },
"grass_seed": { "elem2":"dirt", "chance":0.08 }, "grass_seed": { "elem2":"dirt", "chance":0.08 },
@ -3788,6 +3937,7 @@
"wood": { "elem2":"dirt", "chance":0.04 }, "wood": { "elem2":"dirt", "chance":0.04 },
"tree_brake": { "elem2":"dirt", "chance":0.04 }, "tree_brake": { "elem2":"dirt", "chance":0.04 },
"plant": { "elem2":"dirt", "chance":0.07 }, "plant": { "elem2":"dirt", "chance":0.07 },
"evergreen": { "elem2":"dirt", "chance":0.07 },
"root": { "elem2":"dirt", "chance":0.07 }, "root": { "elem2":"dirt", "chance":0.07 },
"grass": { "elem2":"dirt", "chance":0.08 }, "grass": { "elem2":"dirt", "chance":0.08 },
"grass_seed": { "elem2":"dirt", "chance":0.08 }, "grass_seed": { "elem2":"dirt", "chance":0.08 },
@ -3870,6 +4020,7 @@
"wood": { "elem2":"dirt", "chance":0.04 }, "wood": { "elem2":"dirt", "chance":0.04 },
"tree_brake": { "elem2":"dirt", "chance":0.04 }, "tree_brake": { "elem2":"dirt", "chance":0.04 },
"plant": { "elem2":"dirt", "chance":0.07 }, "plant": { "elem2":"dirt", "chance":0.07 },
"evergreen": { "elem2":"dirt", "chance":0.07 },
"root": { "elem2":"dirt", "chance":0.07 }, "root": { "elem2":"dirt", "chance":0.07 },
"grass": { "elem2":"dirt", "chance":0.08 }, "grass": { "elem2":"dirt", "chance":0.08 },
"grass_seed": { "elem2":"dirt", "chance":0.08 }, "grass_seed": { "elem2":"dirt", "chance":0.08 },
@ -4130,7 +4281,7 @@
hardness: 0.4, hardness: 0.4,
}, },
"zinc": { "zinc": {
color: ["#7C7A7B","#9D9D9F","#F8F8F3"], color: ["#8d8c8e","#f6f6f1","#c7c7c5","#ccccca","#6b6a6a","#848382"],
behavior: behaviors.WALL, behavior: behaviors.WALL,
tempHigh: 419.53, tempHigh: 419.53,
category: "solids", category: "solids",
@ -4238,9 +4389,11 @@
color: ["#f7f7f7","#d9d7d7"], color: ["#f7f7f7","#d9d7d7"],
behavior: behaviors.LIQUID, behavior: behaviors.LIQUID,
tempHigh: 2400, tempHigh: 2400,
tempLow: 29.76,
stateLow: "gallium",
reactions: { reactions: {
"aluminum": { "elem2":null, chance:0.005 }, "aluminum": { "elem2":["alga",null], chance:0.01 },
"molten_aluminum": { "elem2":null, chance:0.025 }, "molten_aluminum": { "elem2":["molten_alga",null], chance:0.05 },
"sodium": { "elem1":"hydrogen", "elem2":"salt", chance:0.005 }, "sodium": { "elem1":"hydrogen", "elem2":"salt", chance:0.005 },
"steel": { "elem2":"iron", chance:0.005 }, "steel": { "elem2":"iron", chance:0.005 },
}, },
@ -4345,6 +4498,10 @@
"melted_chocolate": { "elem1":"chocolate_milk", "elem2":null }, "melted_chocolate": { "elem1":"chocolate_milk", "elem2":null },
"chocolate": { "elem1":"chocolate_milk", "elem2":"melted_chocolate", chance:0.05 }, "chocolate": { "elem1":"chocolate_milk", "elem2":"melted_chocolate", chance:0.05 },
"juice": { "elem1":"fruit_milk", "elem2":null, chance:0.05 }, "juice": { "elem1":"fruit_milk", "elem2":null, chance:0.05 },
"soda": { "elem1":"pilk", "elem2":null, chance:0.1 },
"yolk": { "elem1":"eggnog", "elem2":null, chance:0.1 },
"dirt": { "elem1": null, "elem2": "mud" },
"sand": { "elem1": null, "elem2": "wet_sand", },
}, },
tempHigh: 93, tempHigh: 93,
stateHigh: "yogurt", stateHigh: "yogurt",
@ -4356,6 +4513,10 @@
"chocolate_milk": { "chocolate_milk": {
color: "#664934", color: "#664934",
behavior: behaviors.LIQUID, behavior: behaviors.LIQUID,
reactions: {
"dirt": { "elem1": null, "elem2": "mud" },
"sand": { "elem1": null, "elem2": "wet_sand", },
},
tempHigh: 200, tempHigh: 200,
stateHigh: "smoke", stateHigh: "smoke",
viscosity: 1.5, viscosity: 1.5,
@ -4367,6 +4528,10 @@
"fruit_milk": { "fruit_milk": {
color: "#c9988f", color: "#c9988f",
behavior: behaviors.LIQUID, behavior: behaviors.LIQUID,
reactions: {
"dirt": { "elem1": null, "elem2": "mud" },
"sand": { "elem1": null, "elem2": "wet_sand", },
},
tempHigh: 200, tempHigh: 200,
stateHigh: "smoke", stateHigh: "smoke",
viscosity: 1.5, viscosity: 1.5,
@ -4375,6 +4540,36 @@
density: 1045, density: 1045,
hidden: true, hidden: true,
}, },
"pilk": {
color: "#E9CBA3",
behavior: behaviors.LIQUID,
reactions: {
"dirt": { "elem1": null, "elem2": "mud" },
"sand": { "elem1": null, "elem2": "wet_sand", },
},
tempHigh: 200,
stateHigh: ["smoke","smoke","sugar","steam","carbon_dioxide"],
viscosity: 1.25,
category: "liquids",
state: "liquid",
density: 1033,
hidden: true,
},
"eggnog": {
color: "#DDBF98",
behavior: behaviors.LIQUID,
reactions: {
"dirt": { "elem1": null, "elem2": "mud" },
"sand": { "elem1": null, "elem2": "wet_sand", },
},
tempHigh: 200,
stateHigh: "smoke",
viscosity: 1.5,
category: "liquids",
state: "liquid",
density: 1033,
hidden: true,
},
"yogurt": { "yogurt": {
color: "#f0efe6", color: "#f0efe6",
behavior: [ behavior: [
@ -4617,6 +4812,8 @@
}, },
tempHigh: 275, tempHigh: 275,
stateHigh: "dirt", stateHigh: "dirt",
tempLow: -50,
stateLow: "fiber",
burn: 20, burn: 20,
burnTime: 60, burnTime: 60,
burnInto: "dirt", burnInto: "dirt",
@ -4673,6 +4870,10 @@
"bread": { "bread": {
color: "#F2CF99", color: "#F2CF99",
behavior: behaviors.STURDYPOWDER, behavior: behaviors.STURDYPOWDER,
reactions: {
"honey": { "elem1":"gingerbread", "elem2":null },
"molasses": { "elem1":"gingerbread", "elem2":null },
},
tempHigh: 176, tempHigh: 176,
stateHigh: "toast", stateHigh: "toast",
category: "food", category: "food",
@ -4694,6 +4895,18 @@
state: "solid", state: "solid",
density: 233.96, density: 233.96,
}, },
"gingerbread": {
color: ["#a66530","#BF773D","#cc7d41"],
behavior: behaviors.SUPPORT,
tempHigh: 875,
stateHigh: "ash",
category: "food",
burn: 30,
burnTime: 200,
burnInto: ["smoke","smoke","smoke","ash"],
state: "solid",
density: 233.96,
},
"wheat": { "wheat": {
color: ["#F1B569","#EDB864","#DE9C45","#C2853D"], color: ["#F1B569","#EDB864","#DE9C45","#C2853D"],
behavior: behaviors.WALL, behavior: behaviors.WALL,
@ -4889,6 +5102,8 @@
"soda": { "elem2": "sugar_water" }, "soda": { "elem2": "sugar_water" },
"ink": { "elem2": null }, "ink": { "elem2": null },
"dye": { "elem2": null }, "dye": { "elem2": null },
"cancer": { "elem2": null, "chance":0.01 },
"rat": { "elem2": null, "chance":0.01 },
}, },
tempHigh: 100, tempHigh: 100,
stateHigh: "bubble", stateHigh: "bubble",
@ -5020,7 +5235,11 @@
"cancer": { "elem1":"infection" }, "cancer": { "elem1":"infection" },
"cyanide": { "elem1":"infection", "elem2":null }, "cyanide": { "elem1":"infection", "elem2":null },
"mushroom_spore": { "elem1":"infection", "elem2":null }, "mushroom_spore": { "elem1":"infection", "elem2":null },
"mushroom_gill": { "elem1":"infection" },
"dirty_water": { "elem1":"infection", "elem2":null }, "dirty_water": { "elem1":"infection", "elem2":null },
"rad_steam": { "elem1":"infection" },
"rad_glass": { "elem1":"infection" },
"rad_cloud": { "elem1":"infection" },
"rust": { "elem1":"infection", "chance":0.05 }, "rust": { "elem1":"infection", "chance":0.05 },
"oxidized_copper": { "elem1":"infection", "chance":0.05 }, "oxidized_copper": { "elem1":"infection", "chance":0.05 },
"rat": { "elem1":"infection", "chance":0.075 }, "rat": { "elem1":"infection", "chance":0.075 },
@ -5106,6 +5325,7 @@
"water": { "elem1":null, "elem2":"dirty_water" }, "water": { "elem1":null, "elem2":"dirty_water" },
"soap": { "elem1":null, "chance":0.02 }, "soap": { "elem1":null, "chance":0.02 },
"plant": { "elem1":null, "elem2":"dead_plant" }, "plant": { "elem1":null, "elem2":"dead_plant" },
"evergreen": { "elem1":null, "elem2":"dead_plant" },
"grass": { "elem1":null, "elem2":"dead_plant" }, "grass": { "elem1":null, "elem2":"dead_plant" },
"vine": { "elem1":null, "elem2":"dead_plant" }, "vine": { "elem1":null, "elem2":"dead_plant" },
"algae": { "elem1":null, "elem2":null }, "algae": { "elem1":null, "elem2":null },
@ -5813,6 +6033,7 @@
"snow_cloud": { "elem2":"rad_cloud", "chance":0.4 }, "snow_cloud": { "elem2":"rad_cloud", "chance":0.4 },
"hail_cloud": { "elem2":"rad_cloud", "chance":0.4 }, "hail_cloud": { "elem2":"rad_cloud", "chance":0.4 },
"plant": { "elem2":"dead_plant", "chance":0.4 }, "plant": { "elem2":"dead_plant", "chance":0.4 },
"evergreen": { "elem2":["dead_plant","plant"], "chance":0.4 },
"frozen_plant": { "elem2":"dead_plant", "chance":0.4 }, "frozen_plant": { "elem2":"dead_plant", "chance":0.4 },
"grass": { "elem2":["dead_plant","straw","grass_seed","wheat_seed"], "chance":0.4 }, "grass": { "elem2":["dead_plant","straw","grass_seed","wheat_seed"], "chance":0.4 },
"algae": { "elem2":["mushroom_spore","lichen","yeast"], "chance":0.4 }, "algae": { "elem2":["mushroom_spore","lichen","yeast"], "chance":0.4 },
@ -6035,6 +6256,19 @@
conduct: 0.85, conduct: 0.85,
hardness: 0.2 hardness: 0.2
}, },
"alga": {
name: "AlGa",
color: ["#bab2ab","#a3ab9d","#a5a4a6","#bcc7b3","#d4c5b8","#cac6cf"],
behavior: behaviors.SUPPORT,
tempHigh: 345.03,
category: "powders",
state: "solid",
density: 3905,
conduct: 0.39,
hardness: 0.1,
alias: "gallanylidynealumane",
hidden: true
},
"metal_scrap": { "metal_scrap": {
color: ["#b0afb4","#8c8f98","#cbcdcd","#6c6c6a","#fef9ff"], color: ["#b0afb4","#8c8f98","#cbcdcd","#6c6c6a","#fef9ff"],
behavior: behaviors.POWDER, behavior: behaviors.POWDER,
@ -6093,6 +6327,22 @@
state: "solid", state: "solid",
density: 500, density: 500,
}, },
"confetti": {
color: ["#DC2C37","#EDCE66","#0DBF62","#0679EA","#7144B2","#D92097"],
behavior: [
"XX|XX|XX",
"XX|FX%0.25|XX",
"M2%25|M1%25|M1%25",
],
category: "powders",
tempHigh: 248,
stateHigh: ["ash","smoke","smoke","fire"],
burn:15,
burnTime:150,
burnInto: ["ash","smoke","smoke","smoke"],
state: "solid",
density: 1201,
},
"glitter": { "glitter": {
color: ["#ACE4FB","#D9FCFF","#8F6EB2","#FDEAFC","#180E1C","#6B2778"], color: ["#ACE4FB","#D9FCFF","#8F6EB2","#FDEAFC","#180E1C","#6B2778"],
behavior: behaviors.POWDER, behavior: behaviors.POWDER,
@ -6336,20 +6586,26 @@
stateHigh: "molten_steel", stateHigh: "molten_steel",
excludeRandom: true, excludeRandom: true,
conduct: 1, conduct: 1,
cooldown: defaultCooldown cooldown: defaultCooldown,
nocheer: true
}, },
"dynamite": { "dynamite": {
color: ["#de5050","#c92a2a","#a61919"], color: ["#de5050","#c92a2a","#a61919"],
behavior: [ behavior: behaviors.POWDER,
"XX|EX:15%1|XX", behaviorOn: [
"XX|XX|XX",
"XX|CH:explosion|XX",
"XX|XX|XX", "XX|XX|XX",
"M2|M1 AND EX:15%1|M2",
], ],
conduct: 1,
category: "weapons", category: "weapons",
state: "solid",
density: 1300,
tempHigh: 600, tempHigh: 600,
stateHigh: "explosion", stateHigh: "explosion",
burn: 100,
burnTime: 1,
burnInto: "explosion",
state: "solid",
density: 1300,
breakInto: "explosion", breakInto: "explosion",
excludeRandom: true, excludeRandom: true,
}, },
@ -6621,6 +6877,19 @@
excludeRandom: true, excludeRandom: true,
cooldown: defaultCooldown cooldown: defaultCooldown
}, },
"party_popper": {
color: ["#DC2C37","#EDCE66","#0DBF62","#0679EA","#7144B2","#D92097"],
behavior: [
"XX|EX:15>confetti,flash,flash,smoke|XX",
"XX|XX|XX",
"M2|M1 AND EX:15>confetti,flash,flash,smoke|M2",
],
category: "weapons",
state: "solid",
density: 1300,
excludeRandom: true,
cooldown: defaultCooldown
},
"flashbang": { "flashbang": {
color: "#65665c", color: "#65665c",
behavior: [ behavior: [
@ -6670,7 +6939,8 @@
tempHigh: 1455.5, tempHigh: 1455.5,
stateHigh: "molten_steel", stateHigh: "molten_steel",
excludeRandom: true, excludeRandom: true,
cooldown: defaultCooldown cooldown: defaultCooldown,
nocheer: true
}, },
"fireball": { "fireball": {
color: ["#782828","#783b28","#784b28"], color: ["#782828","#783b28","#784b28"],
@ -6708,7 +6978,8 @@
tempHigh: 1455.5, tempHigh: 1455.5,
stateHigh: "molten_steel", stateHigh: "molten_steel",
excludeRandom: true, excludeRandom: true,
cooldown: defaultCooldown cooldown: defaultCooldown,
nocheer: true
}, },
"cluster_bomb": { "cluster_bomb": {
color: "#7d776d", color: "#7d776d",
@ -6730,7 +7001,7 @@
behavior: [ behavior: [
"XX|XX|XX", "XX|XX|XX",
"XX|EX:10>armageddon,fire,fire,fire,fire,fire,fire,fire,fire,fire,fire,fire,fire%25 AND DL%10|XX", "XX|EX:10>armageddon,fire,fire,fire,fire,fire,fire,fire,fire,fire,fire,fire,fire%25 AND DL%10|XX",
"M2|M1|M2", "XX|XX|XX",
], ],
category: "weapons", category: "weapons",
state: "solid", state: "solid",
@ -6845,7 +7116,7 @@
density: 955, density: 955,
}, },
"molten_slag": { "molten_slag": {
ignore: ["salt","plastic","sulfur","epsom_salt","potassium_salt","borax","solder"] ignore: ["salt","plastic","sulfur","epsom_salt","potassium_salt","borax","solder","ash"]
}, },
"molten_dirt": { "molten_dirt": {
stateLow: "mudstone" stateLow: "mudstone"
@ -7682,7 +7953,7 @@
} }
// Bounce // Bounce
else if (b === "BO") { else if (b === "BO") {
if (!isEmpty(newCoords.x,newCoords.y) && (outOfBounds(newCoords.x,newCoords.y) || elements[pixelMap[newCoords.x][newCoords.y].element].state === "solid")) { if (!isEmpty(newCoords.x,newCoords.y) && (outOfBounds(newCoords.x,newCoords.y) || elements[pixelMap[newCoords.x][newCoords.y].element].id === elements[pixel.element].id || elements[pixelMap[newCoords.x][newCoords.y].element].state === "solid")) {
if (info.flippableX) { if (info.flippableX) {
pixel.flipX = !pixel.flipX; pixel.flipX = !pixel.flipX;
} }
@ -8378,6 +8649,16 @@
[array[i], array[j]] = [array[j], array[i]]; [array[i], array[j]] = [array[j], array[i]];
} }
} }
adjacentCoords = [
[0,1],
[0,-1],
[1,0],
[-1,0]
];
biCoords = [
[0,1],
[1,0]
];
function drawPixels(forceTick=false) { function drawPixels(forceTick=false) {
// newCurrentPixels = shuffled currentPixels // newCurrentPixels = shuffled currentPixels
var newCurrentPixels = currentPixels.slice(); var newCurrentPixels = currentPixels.slice();
@ -8409,16 +8690,6 @@
pixelsFirst.push(pixel); pixelsFirst.push(pixel);
} }
} }
adjacentCoords = [
[0,1],
[0,-1],
[1,0],
[-1,0]
];
biCoords = [
[0,1],
[1,0]
];
// Draw the current pixels // Draw the current pixels
var canvas = document.getElementById("game"); var canvas = document.getElementById("game");
var ctx = canvas.getContext("2d"); var ctx = canvas.getContext("2d");
@ -8934,12 +9205,14 @@
// if the element has the attribute "name", use that as the button's text, otherwise use the element with underscores replaced by spaces // if the element has the attribute "name", use that as the button's text, otherwise use the element with underscores replaced by spaces
if (elements[element].name) { if (elements[element].name) {
button.innerHTML = elements[element].name; button.innerHTML = elements[element].name;
// make sure the first letter is capitalized
button.innerHTML = button.innerHTML.charAt(0).toUpperCase() + button.innerHTML.slice(1);
} }
else { else {
button.innerHTML = element.replace(/_/g, " "); button.innerHTML = element.replace(/_/g, " ");
//capitalize first letter of each word
button.innerHTML = button.innerHTML.replace("."," ").replace(/\w\S*/g, function(txt){return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();}).replace(" ",".").replace(/ /g, "");
} }
//capitalize first letter of each word
button.innerHTML = button.innerHTML.replace("."," ").replace(/\w\S*/g, function(txt){return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();}).replace(" ",".").replace(/ /g, "");
//set attribute of element to the element //set attribute of element to the element
button.setAttribute("element", element); button.setAttribute("element", element);
button.setAttribute("current", "false"); button.setAttribute("current", "false");
@ -9028,22 +9301,41 @@
}, },
"flower_field": { "flower_field": {
layers: [ layers: [
[0.85, "flower_seed", 0.1], [0.90, "grass"],
[0.85, "grass"],
[0.50, "dirt"], [0.50, "dirt"],
[0.05, "rock"], [0.05, "rock"],
[0, "basalt"], [0, "basalt"],
] ],
decor: [
["flower_seed", 0.1]
],
}, },
"wheat_field": { "wheat_field": {
layers: [ layers: [
[0.95, "wheat_seed"],
[0.50, "mud"], [0.50, "mud"],
[0.25, "rock"], [0.25, "rock"],
[0, "basalt"], [0, "basalt"],
], ],
decor: [
["wheat_seed", 0.25]
],
baseHeight: 0.35 baseHeight: 0.35
}, },
"tide_pool": {
layers: [
[0.98, "primordial_soup"],
[0.92, "water"],
[0.50, "sand"],
[0.25, "rock"],
[0, "basalt"],
],
decor: [
["methane", 0.1],
["rain_cloud", 0.75]
],
baseHeight: 0.35,
temperature: 30,
},
"dirt": { "dirt": {
layers: [ layers: [
[0.50, "dirt"], [0.50, "dirt"],
@ -9051,31 +9343,64 @@
[0, "basalt"], [0, "basalt"],
] ]
}, },
"forest": { "snow": {
layers: [ layers: [
[0.85, "sapling", 0.1], [0.85, "snow"],
[0.85, "grass"],
[0.50, "dirt"], [0.50, "dirt"],
[0.05, "rock"], [0.05, "rock"],
[0, "basalt"], [0, "basalt"],
], ],
decor: [
["pinecone", 0.05],
["snow_cloud", 0.75]
],
baseHeight: 0.25,
temperature: -5,
},
"forest": {
layers: [
[0.95, "grass"],
[0.50, "dirt"],
[0.05, "rock"],
[0, "basalt"],
],
decor: [ // [element, chance, distance from top]
["sapling", 0.075],
["bird", 0.025, 10],
],
baseHeight: 0.25, baseHeight: 0.25,
}, },
"jungle": { "jungle": {
layers: [ layers: [
[0.85, "sapling", 0.1], [0.95, "grass"],
[0.85, "grass"],
[0.50, "mud"], [0.50, "mud"],
[0.05, "gravel"], [0.05, "gravel"],
[0, "basalt"], [0, "basalt"],
], ],
decor: [
["sapling", 0.075],
["bamboo_plant", 0.05],
["frog", 0.05, 10],
["bird", 0.05, 5, ["#ff0000","#00ff00","#00ffff","#0000ff"]],
],
baseHeight: 0.25, baseHeight: 0.25,
}, },
"taiga": {
layers: [
[0.95, "mud"],
[0.50, "dirt"],
[0.05, "rock"],
[0, "basalt"],
],
decor: [
["pinecone", 0.075],
["snow_cloud", 0.75]
],
baseHeight: 0.25,
temperature: -5,
},
"ocean": { "ocean": {
layers: [ layers: [
[0.9, "fish", 0.1],
[0.9, "snail", 0.01],
[0.9, "algae", 0.4],
[0.25, "water"], [0.25, "water"],
[0.1, "clay", 0.1], [0.1, "clay", 0.1],
[0.1, "gravel", 0.2], [0.1, "gravel", 0.2],
@ -9083,6 +9408,11 @@
[0.03, "gravel", 0.5], [0.03, "gravel", 0.5],
[0.03, "rock"], [0.03, "rock"],
[0, "basalt"], [0, "basalt"],
],
decor: [
["fish", 0.1, 10],
["snail", 0.01, 10],
["algae", 0.4, 10],
] ]
}, },
"rock": { "rock": {
@ -9097,6 +9427,9 @@
[0.2, "basalt", 0.5], [0.2, "basalt", 0.5],
[0, "magma"] [0, "magma"]
], ],
decor: [
["pyrocumulus", 0.75]
],
baseHeight: 0.4, baseHeight: 0.4,
temperature: 950 temperature: 950
}, },
@ -9191,6 +9524,28 @@
} }
} }
} }
// decor
if (worldtype.decor) {
for (var i = 0; i < worldtype.decor.length; i++) {
var decor = worldtype.decor[i];
var element = decor[0];
var chance = decor[1];
for (var x = 1; x < width; x++) {
var y = decor[2] || 5;
// add or subtract worldtype.decorVariance from y
y += Math.round(Math.random()*(worldtype.decorVariance||2) - (worldtype.decorVariance||2)/2);
if (Math.random() < chance && isEmpty(x,y)) {
createPixel(element,x,y);
if (worldtype.temperature) {
pixelMap[x][y].temp = worldtype.temperature;
}
if (decor[3]) {
pixelMap[x][y].color = pixelColorPick(pixelMap[x][y],decor[3])
}
}
}
}
}
} }
randomEvents = { randomEvents = {
@ -9250,9 +9605,9 @@
} }
} }
randomEventChoices = { randomEventChoices = {
"falling_pixel": ["fireball","fallout","seeds",["bomb","cold_bomb","cluster_bomb"],"human","gold_coin","feather","glitter","homunculus","egg","frozen_frog","sapling","smoke_grenade"], "falling_pixel": ["fireball","fallout","seeds",["bomb","cold_bomb","cluster_bomb"],"human","gold_coin","feather","glitter","homunculus","egg","frozen_frog","sapling","smoke_grenade","party_popper"],
"element_circle": ["carbon_dioxide","primordial_soup","fly","steam","oxygen","dye","yolk","sugar","bee","firefly","tadpole","flash","foam"], "element_circle": ["carbon_dioxide","primordial_soup","fly","steam","oxygen","sugar","bee","firefly","tadpole","flash","foam"],
"explosion": ["fire","cold_fire","methane","electric","light","laser","radiation","plasma","liquid_nitrogen","liquid_helium","liquid_neon","acid_gas","fw_ember","malware",["stench","plague"],["firework","fire","fire"],"bubble"], "explosion": ["fire","cold_fire","methane","electric","light","laser","radiation","plasma","liquid_nitrogen","liquid_helium","liquid_neon","acid_gas","fw_ember","malware",["stench","plague"],["firework","fire","fire"],"bubble","confetti","balloon","dye"],
} }
function doRandomEvents() { function doRandomEvents() {
var chance = settings.events; var chance = settings.events;
@ -9861,7 +10216,7 @@ for (var k = 0; k < b0.split(" AND ").length; k++) {
newelem.colorObject = colorObjectList; newelem.colorObject = colorObjectList;
var multiplier = 1.1; var multiplier = 1.1;
if (autoInfo.type === "high") { if (autoInfo.type === "high") {
elements[element].stateHigh = newname; if (!elements[element].stateHigh) {elements[element].stateHigh = newname;}
newelem.temp = elements[element].tempHigh; newelem.temp = elements[element].tempHigh;
newelem.tempLow = elements[element].tempHigh+(autoInfo.tempDiff || 0); newelem.tempLow = elements[element].tempHigh+(autoInfo.tempDiff || 0);
newelem.stateLow = element; newelem.stateLow = element;
@ -9869,7 +10224,7 @@ for (var k = 0; k < b0.split(" AND ").length; k++) {
if (elements[element].density) { newelem.density = Math.round(elements[element].density * 0.9 * 10) / 10; } if (elements[element].density) { newelem.density = Math.round(elements[element].density * 0.9 * 10) / 10; }
} }
else if (autoInfo.type === "low") { else if (autoInfo.type === "low") {
elements[element].stateLow = newname; if (!elements[element].stateLow) {elements[element].stateLow = newname;}
newelem.temp = elements[element].tempLow; newelem.temp = elements[element].tempLow;
newelem.tempHigh = elements[element].tempLow+(autoInfo.tempDiff || 0); newelem.tempHigh = elements[element].tempLow+(autoInfo.tempDiff || 0);
newelem.stateHigh = element; newelem.stateHigh = element;
@ -9883,7 +10238,7 @@ for (var k = 0; k < b0.split(" AND ").length; k++) {
newelem.viscosity = elements[element].viscosity || autoInfo.viscosity; newelem.viscosity = elements[element].viscosity || autoInfo.viscosity;
} }
// Change by *multiplier // Change by *multiplier
if (elements[element].conduct) { newelem.conductivity = Math.round(elements[element].conduct * multiplier * 10) / 10; } if (elements[element].conduct) { newelem.conduct = Math.round(elements[element].conduct * multiplier * 10) / 10; }
if (elements[element].burn) { newelem.burn = Math.round(elements[element].burn * multiplier * 10) / 10; } if (elements[element].burn) { newelem.burn = Math.round(elements[element].burn * multiplier * 10) / 10; }
if (elements[element].burnTime) { newelem.burnTime = Math.round(elements[element].burnTime * multiplier * 10) / 10; } if (elements[element].burnTime) { newelem.burnTime = Math.round(elements[element].burnTime * multiplier * 10) / 10; }
if (elements[element].burnInto) { newelem.burnInto = elements[element].burnInto; } if (elements[element].burnInto) { newelem.burnInto = elements[element].burnInto; }
@ -9908,7 +10263,7 @@ for (var k = 0; k < b0.split(" AND ").length; k++) {
} }
// Loop through each element. If it has a tempHigh, but not a stateHigh, create a new molten element // Loop through each element. If it has a tempHigh, but not a stateHigh, create a new molten element
for (element in elements) { for (element in elements) {
if (elements[element].tempHigh!==undefined && elements[element].stateHigh===undefined) { if (elements[element].tempHigh!==undefined && (elements[element].stateHigh===undefined||elements[element].forceAutoGen)) {
var newname = elements[element].stateHighName; var newname = elements[element].stateHighName;
if ((elements[element].state==="solid" || !elements[element].state)) { // Melting if ((elements[element].state==="solid" || !elements[element].state)) { // Melting
if (!newname) { newname = "molten_"+element } if (!newname) { newname = "molten_"+element }
@ -9924,7 +10279,7 @@ for (var k = 0; k < b0.split(" AND ").length; k++) {
autoGen(newname,element,"evaporate"); autoGen(newname,element,"evaporate");
} }
} }
if (elements[element].tempLow!==undefined && elements[element].stateLow===undefined) { if (elements[element].tempLow!==undefined && (elements[element].stateLow===undefined||elements[element].forceAutoGen)) {
var newname = elements[element].stateLowName; var newname = elements[element].stateLowName;
if (elements[element].state==="liquid") { // Freezing if (elements[element].state==="liquid") { // Freezing
if (!newname) { if (!newname) {
@ -10448,6 +10803,11 @@ for (var k = 0; k < b0.split(" AND ").length; k++) {
categoryList = []; categoryList = [];
for (var element in elements) { for (var element in elements) {
elementCount++; elementCount++;
if (settings.cheerful && elements[element].nocheer) {
elements[element].hidden = true;
hiddenCount++;
continue;
}
var category = elements[element].category; var category = elements[element].category;
if (category==null) {category="other"} if (category==null) {category="other"}
if (categoryList.indexOf(category) === -1) { if (categoryList.indexOf(category) === -1) {
@ -10610,6 +10970,14 @@ for (var k = 0; k < b0.split(" AND ").length; k++) {
<option value="0.25">Overdrive (DANGEROUS)</option> <option value="0.25">Overdrive (DANGEROUS)</option>
</select> </select>
</span> </span>
<span setting="cheerful" class="setting-span">
Cheerful Mode <span style="text-decoration:dotted underline; font-style:italic; cursor:help" title="If you're going through a bad time, enable this to hide these elements from the menu:
Cancer, Landmine, Grenade, Smoke Grenade">?</span> <select onchange="setSetting('cheerful',parseInt(this.value));this.nextElementSibling.innerText='Refresh.'">
<option value="0" selected>Disabled</option>
<option value="1">Enabled</option>
</select>
<a onclick="window.location.reload();" style="font-style:italic;cursor:pointer"></a>
</span>
<span class="setting-span"> <span class="setting-span">
<button onclick="if(confirm('This action will reset all discovered elements and refresh the page.')){settings.unlocked={};saveSettings();location.reload()}" class="settingsButton">Reset Discovered</button> <button onclick="if(confirm('This action will reset all discovered elements and refresh the page.')){settings.unlocked={};saveSettings();location.reload()}" class="settingsButton">Reset Discovered</button>
<button onclick="if(confirm('This action will reset all game data and refresh the page.')){localStorage.removeItem('settings');location.reload()}" class="settingsButton">Reset All</button> <button onclick="if(confirm('This action will reset all game data and refresh the page.')){localStorage.removeItem('settings');location.reload()}" class="settingsButton">Reset All</button>
@ -10622,7 +10990,6 @@ for (var k = 0; k < b0.split(" AND ").length; k++) {
<span onclick="clearAll();" style="font-style:italic;cursor:pointer"></span> <span onclick="clearAll();" style="font-style:italic;cursor:pointer"></span>
</span> </span>
</div> </div>
<br><br><br><br>
</div> </div>
</div> </div>
</div> </div>
@ -10639,6 +11006,7 @@ for (var k = 0; k < b0.split(" AND ").length; k++) {
<p>Sandboxels has many applications in education. It can give students an understanding of emerging phenomena in many fields, such as biology, chemistry, ecology, geology, and even virology. There are countless aspects to discover.</p> <p>Sandboxels has many applications in education. It can give students an understanding of emerging phenomena in many fields, such as biology, chemistry, ecology, geology, and even virology. There are countless aspects to discover.</p>
<p>We have a thriving community on <a href="https://discord.gg/ejUc6YPQuS" target="_blank">Discord</a>! There you can post feedback or share your creations.</p> <p>We have a thriving community on <a href="https://discord.gg/ejUc6YPQuS" target="_blank">Discord</a>! There you can post feedback or share your creations.</p>
<p>If you'd like to support us, consider donating on <a href="https://www.paypal.com/donate/?hosted_button_id=GCX4VHQ7SZWTN" target="_blank">PayPal</a> or <a href="https://cash.app/$emojiartist" target="_blank" title="$emojiartist">CashApp</a>.</p> <p>If you'd like to support us, consider donating on <a href="https://www.paypal.com/donate/?hosted_button_id=GCX4VHQ7SZWTN" target="_blank">PayPal</a> or <a href="https://cash.app/$emojiartist" target="_blank" title="$emojiartist">CashApp</a>.</p>
<p>Thanks to our supporters: Serioustar the Beholder</p>
<p>This game is developed by R74n. Check out <a href="https://r74n.com" target="_blank">our other projects</a>!</p> <p>This game is developed by R74n. Check out <a href="https://r74n.com" target="_blank">our other projects</a>!</p>
<!-- Ad ^_^ --> <!-- Ad ^_^ -->
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8485284630785740" <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8485284630785740"

85
mods/classic_textures.js Normal file
View File

@ -0,0 +1,85 @@
elements.dirt.color = [
"#9e6b4b",
"#9e6b4b",
"#9e6b4b",
"#9e6b4b",
"#9e6b4b",
"#9e6b4b",
"#9e6b4b",
"#9e6b4b",
"#9e6b4b",
"#9e6b4b",
"#9e6b4b",
"#9e6b4b",
"#9e6b4b",
"#9e6b4b",
"#a88c7b"
];
elements.rotten_meat.color = [
"#9ab865",
"#b8b165",
"#b89765"
];
elements.ant.color = "#4a0903";
elements.worm.color = "#402208";
elements.fly.color = "#303012";
elements.firefly.color = [
"#310D09",
"#310D09",
"#d9d950",
"#310D09",
"#310D09"
];
elements.human.color = [
"#f5eac6",
"#d4c594",
"#a89160",
"#7a5733",
"#523018",
"#361e0e"
];
elements.body.color = [
"#049699",
"#638A61"
];
elements.head.color = [
"#f5eac6",
"#d4c594",
"#a89160",
"#7a6433",
"#524018"
];
elements.slug.color = [
"#997e12",
"#403314",
"#997e12",
"#403314",
"#997e12",
"#403314",
"#997e12",
"#403314",
"#997e12",
"#403314",
"#997e12",
"#403314",
"#124a44"
];
elements.light.color = "#ffffa8";
elements.wheat.color = "#c9bc81";
elements.permafrost.color = [
"#557d65",
"#557d79"
];
elements.root.color = "#7B6F6B";
elements.sap.color = [
"#B66B18",
"#C84805",
"#CF6719",
"#E49B3A"
];
elements.electric.color = "#dddd00";
elements.epsom_salt.color = [
"#f2f2f2",
"#e0e0e0"
];
elements.flash.color = "#ffffa8"