From f2d2ec023345183dc4c06ac0523cc59dc9dd5a2e Mon Sep 17 00:00:00 2001
From: guzzo86 <126430018+guzzo86@users.noreply.github.com>
Date: Tue, 30 Apr 2024 01:06:44 -0400
Subject: [PATCH 01/38] Update mod-list.html
---
mod-list.html | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/mod-list.html b/mod-list.html
index fed60b74..f454de11 100644
--- a/mod-list.html
+++ b/mod-list.html
@@ -225,18 +225,19 @@
| Food & Cooking |
| aChefsDream.js | Adds more foods, animals, tools and many other cooking related items. Updates can be found in this YouTube Playlist | SquareScreamYT |
| aChefsDream_beta.js | Beta testing for aChefsDream. The code can be found on GitHub | SquareScreamYT |
-| bananas.js | Adds bananas and banana plants | Alice |
+| bananas.js | Adds bananas and banana plants | Alice |
'
+| CherrySoda.js | Adds materials to make Cherry soda. Benzaldehyde + seltzer = Cherrysoda. | guzzo86 |
| community_desserts.js | Adds various desserts from community suggestions | Tisquares |
+| GrapeSoda.js | Adds materials to make Grape soda. Methylanthranilate + seltzer = Grapesoda. | guzzo86 |
| greenitemsandmore.js | Adds various green things, including apples and more food | zonneschijn7 |
| ketchup_mod.js | Adds a bunch of ketchup related stuff, plus a few other condiments | Nubo318 (main dev), Devi, Alice (contributors) |
| lemonade.js | Adds lemons and lemonade | personman / baconthemyth |
| morefoodsmod.js | Adds more foods | Clide4 |
| pizzasstuff.js | New animals, foods, and plants | _ilikepizza_ |
+| potato_chips.js | Potato chips. | guzzo86 |
| sbstuff.js | Adds many foods | stefanblox |
| soups.js | Adds seasoning and soup | pixelegend4 |
| weAllScreamFor.js | Adds ice cream toppings | rottenEgghead |
-| CherrySoda.js | Adds materials to make Cherry soda. Benzaldehyde + seltzer = Cherrysoda. | guzzo86 |
-| GrapeSoda.js | Adds materials to make Grape soda. Methylanthranilate + seltzer = Grapesoda. | guzzo86 |
| Life & Nature |
| advanced_colonies.js | Adds davlers, creatures with complex colonies | DaviStudios |
From 63c011b3916932a23b87599c878e48c01c2f0289 Mon Sep 17 00:00:00 2001
From: guzzo86 <126430018+guzzo86@users.noreply.github.com>
Date: Tue, 30 Apr 2024 01:08:05 -0400
Subject: [PATCH 02/38] Create potato_chips.js
---
mods/potato_chips.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mods/potato_chips.js b/mods/potato_chips.js
index e0de48f1..816ad59b 100644
--- a/mods/potato_chips.js
+++ b/mods/potato_chips.js
@@ -4,7 +4,7 @@ elements.potato_chip = {
density: 1350,
color: ["#F7DD93", "#D8A44B"],
category: "food",
- desc: "Potato chip. Turns potato next to it into potato chip if temp is >= 104.",
+ desc: "Potato chip. Turns potato next to it into potato chip if temp is >= 104 - 180.",
tick: function(pixel) {
if(pixelTicks - pixel.start >= 15) {
From 4af97a7201f158edaf92c8f5146cf7c2099f39cd Mon Sep 17 00:00:00 2001
From: guzzo86 <126430018+guzzo86@users.noreply.github.com>
Date: Tue, 30 Apr 2024 01:14:55 -0400
Subject: [PATCH 03/38] Update CherrySoda.js
---
mods/CherrySoda.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mods/CherrySoda.js b/mods/CherrySoda.js
index 98475765..2561b7e7 100644
--- a/mods/CherrySoda.js
+++ b/mods/CherrySoda.js
@@ -65,7 +65,7 @@ elements.cherrysoda_gas = {
temp: 169,
}
elements.cherrysoda_ice = {
- color: "BF4F9C",
+ color: "#BF4F9C",
behavior: behaviors.wALL,
category: "solids",
state: "solid",
From 329b7f61f8de86724869b065dd988394db88fc39 Mon Sep 17 00:00:00 2001
From: guzzo86 <126430018+guzzo86@users.noreply.github.com>
Date: Tue, 30 Apr 2024 16:52:44 -0400
Subject: [PATCH 04/38] Update GrapeSoda.js
---
mods/GrapeSoda.js | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/mods/GrapeSoda.js b/mods/GrapeSoda.js
index 5716aeac..1d67b1db 100644
--- a/mods/GrapeSoda.js
+++ b/mods/GrapeSoda.js
@@ -45,7 +45,6 @@ elements.anthranilicacid = {
tempLow: -98,
burn: 100,
burnTime: 100,
- burnInto: "carbondioxide"
}
elements.methanolice = {
@@ -68,6 +67,8 @@ elements.anthranilicacid = {
stateLow: "methanol",
tempLow: 64,
temp: 84,
+ burn: 100,
+ burnTime: 100,
}
elements.methylanthranilate = {
color: "#FFFBBA",
From 403ebbb15cfbdc24ee1092b5f2819f5890458b62 Mon Sep 17 00:00:00 2001
From: guzzo86 <126430018+guzzo86@users.noreply.github.com>
Date: Tue, 30 Apr 2024 18:16:36 -0400
Subject: [PATCH 05/38] Create customtemptools.js
---
mods/customtemptools.js | 50 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 50 insertions(+)
create mode 100644 mods/customtemptools.js
diff --git a/mods/customtemptools.js b/mods/customtemptools.js
new file mode 100644
index 00000000..00dbcb8f
--- /dev/null
+++ b/mods/customtemptools.js
@@ -0,0 +1,50 @@
+var ct = 100
+
+elements.customtemp = {
+ color: ["#FF0000", "#FF6600", "#FFCC00", "#FFFF00", "#CCFF00", "#66FF00", "#00FF00", "#00FF66", "#00FFCC", "#00FFFF"],
+ onSelect: function() {
+ var answer4 = parseInt(prompt("Please input the desired temperature to reach.",(ct||undefined)));
+ if (!answer4) { return }
+ ct = answer4;
+ if (isNaN(answer4)) {
+ ct = 100
+ }
+ },
+ tool: function(pixel) {
+ pixel.temp = ct,
+ pixelTempCheck(pixel)
+ },
+ category: "tools",
+};
+elements.customheat = {
+ color: ["#FF0000", "#FFFFFF", "#FF0000"],
+ onSelect: function() {
+ var answer4 = parseInt(prompt("Please input the desired temperature increase per tick. (In celsius)",(ct|undefined)));
+ if (!answer4) { return }
+ ct = answer4;
+ if (isNaN(answer4)) {
+ ct = 100
+ }
+ },
+ tool: function(pixel) {
+ pixel.temp = pixel.temp + ct,
+ pixelTempCheck(pixel)
+ },
+ category: "tools",
+};
+elements.customcool = {
+ color: ["#0000FF", "#FFFFFF", "#0000FF"],
+ onSelect: function() {
+ var answer4 = parseInt(prompt("Please input the desired temperature decrease per tick. (In celsius)",(cc|undefined)));
+ if (!answer4) { return }
+ ct = answer4;
+ if (isNaN(answer4)) {
+ ct = 100
+ }
+ },
+ tool: function(pixel) {
+ pixel.temp = pixel.temp - ct,
+ pixelTempCheck(pixel)
+ },
+ category: "tools",
+};
From 6b6290401d3ae69dc2f03b4c0dc657f0c20f0b83 Mon Sep 17 00:00:00 2001
From: guzzo86 <126430018+guzzo86@users.noreply.github.com>
Date: Tue, 30 Apr 2024 18:18:15 -0400
Subject: [PATCH 06/38] Update mod-list.html
---
mod-list.html | 1 +
1 file changed, 1 insertion(+)
diff --git a/mod-list.html b/mod-list.html
index f454de11..41780ac0 100644
--- a/mod-list.html
+++ b/mod-list.html
@@ -127,6 +127,7 @@
| color_tools.js | Adds tools that manipulate colors | Alice |
| controllable_pixel_test.js | Adds a pixel that can be controlled with the keyboard keys. Read the commit description for more info. [PC ONLY] | Alice |
| cpt_alt.js | Adds a more destructive variant of the controllable pixel | Alice |
+| customtemptools.js | Adds custom input temp tools. | guzzo86 |
| debugRework.js | Revamps the Debug tool | Fioushemastor |
| delete_all_of_element.js | Adds a tool that deletes every pixel of the element(s) the user clicks on | Alice |
| descriptions.js | Adds descriptions to the info page and tooltips of elements | mollthecoder |
From 5b381748f7724891162a18555236d0840f2b0c97 Mon Sep 17 00:00:00 2001
From: guzzo86 <126430018+guzzo86@users.noreply.github.com>
Date: Tue, 30 Apr 2024 18:25:44 -0400
Subject: [PATCH 07/38] Update customtemptools.js
---
mods/customtemptools.js | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/mods/customtemptools.js b/mods/customtemptools.js
index 00dbcb8f..62c8b239 100644
--- a/mods/customtemptools.js
+++ b/mods/customtemptools.js
@@ -19,7 +19,7 @@ elements.customtemp = {
elements.customheat = {
color: ["#FF0000", "#FFFFFF", "#FF0000"],
onSelect: function() {
- var answer4 = parseInt(prompt("Please input the desired temperature increase per tick. (In celsius)",(ct|undefined)));
+ var answer4 = parseInt(prompt("Please input the desired temperature increase per tick. (In celsius)",(ct||undefined)));
if (!answer4) { return }
ct = answer4;
if (isNaN(answer4)) {
@@ -35,7 +35,7 @@ elements.customheat = {
elements.customcool = {
color: ["#0000FF", "#FFFFFF", "#0000FF"],
onSelect: function() {
- var answer4 = parseInt(prompt("Please input the desired temperature decrease per tick. (In celsius)",(cc|undefined)));
+ var answer4 = parseInt(prompt("Please input the desired temperature decrease per tick. (In celsius)",(ct||undefined)));
if (!answer4) { return }
ct = answer4;
if (isNaN(answer4)) {
From 165053097161e67de3d8f10adce0ddeacc4e0bfb Mon Sep 17 00:00:00 2001
From: guzzo86 <126430018+guzzo86@users.noreply.github.com>
Date: Tue, 30 Apr 2024 18:28:17 -0400
Subject: [PATCH 08/38] Update potato_chips.js
---
mods/potato_chips.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mods/potato_chips.js b/mods/potato_chips.js
index 816ad59b..c1beeb75 100644
--- a/mods/potato_chips.js
+++ b/mods/potato_chips.js
@@ -7,7 +7,7 @@ elements.potato_chip = {
desc: "Potato chip. Turns potato next to it into potato chip if temp is >= 104 - 180.",
tick: function(pixel) {
- if(pixelTicks - pixel.start >= 15) {
+ if(pixelTicks - pixel.start >= 10) {
if (!isEmpty(pixel.x, pixel.y - 1, true)) {
if (pixel.temp >= 104 && pixelMap[pixel.x][pixel.y - 1].element === "potato") {
changePixel(pixelMap[pixel.x][pixel.y - 1], "potato_chip");
From efe36412dce9862360c2b184f752ab0ea500b8f3 Mon Sep 17 00:00:00 2001
From: guzzo86 <126430018+guzzo86@users.noreply.github.com>
Date: Thu, 2 May 2024 21:45:40 -0400
Subject: [PATCH 09/38] Update mod-list.html
---
mod-list.html | 1 +
1 file changed, 1 insertion(+)
diff --git a/mod-list.html b/mod-list.html
index 41780ac0..c6a76044 100644
--- a/mod-list.html
+++ b/mod-list.html
@@ -199,6 +199,7 @@
| fine_tuned_cloner.js | Adds a cloner that can spawn at different rates and prevent unwated cloning | BatteRaquette58 |
| flipflop.js | Toggleable switches; Explanation | Flix |
| gameOfLife.js | Conway's Game of Life on a screen | ggod |
+| fuel_generators.js | Adds diesel and gasoline powered generators | guzzo86, nousernamefound/td> |
| logicgates.js | Adds predictable electricity and logic gates | nousernamefound |
| note_block.js | Adds musical Note Blocks | Alice |
| nousersthings.js | Destroyable machines, pipe variants, filters, and more | nousernamefound |
From 6c89141f7b2d580ee91a79c065b77316fc41bc80 Mon Sep 17 00:00:00 2001
From: guzzo86 <126430018+guzzo86@users.noreply.github.com>
Date: Fri, 3 May 2024 07:31:58 -0400
Subject: [PATCH 10/38] Update mod-list.html
---
mod-list.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mod-list.html b/mod-list.html
index c6a76044..81b7e719 100644
--- a/mod-list.html
+++ b/mod-list.html
@@ -199,7 +199,7 @@
| fine_tuned_cloner.js | Adds a cloner that can spawn at different rates and prevent unwated cloning | BatteRaquette58 |
| flipflop.js | Toggleable switches; Explanation | Flix |
| gameOfLife.js | Conway's Game of Life on a screen | ggod |
-| fuel_generators.js | Adds diesel and gasoline powered generators | guzzo86, nousernamefound/td> |
+| fuel_generators.js | Adds diesel and gasoline powered generators | guzzo86 |
| logicgates.js | Adds predictable electricity and logic gates | nousernamefound |
| note_block.js | Adds musical Note Blocks | Alice |
| nousersthings.js | Destroyable machines, pipe variants, filters, and more | nousernamefound |
From 1f5a8d1c008e5c18df3d9c87972169e998a23f39 Mon Sep 17 00:00:00 2001
From: DoobieRalsei <163950752+DoobieRalsei@users.noreply.github.com>
Date: Fri, 3 May 2024 13:56:38 -0700
Subject: [PATCH 11/38] Updates scp.js
---
mods/scp.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mods/scp.js b/mods/scp.js
index a6eb71dc..4792e6f4 100644
--- a/mods/scp.js
+++ b/mods/scp.js
@@ -428,7 +428,7 @@ elements.plague_doctor = {
createPixel("doc_head", pixel.x, pixel.y-1);
pixelMap[pixel.x][pixel.y-1].color = pixel.color;
pixel.element = "doc_body";
- pixelMap[pixel.x][pixel.y].color = ["#11111f","#242424"];
+ pixel.color = pixelColorPick(pixel)
}
else {
deletePixel(pixel.x, pixel.y);
From f4b3b5d26cfb4ca450b5760607bea04d58e8a1d8 Mon Sep 17 00:00:00 2001
From: CarbonMonoxida <164758530+CarbonMonoxida@users.noreply.github.com>
Date: Sat, 4 May 2024 19:26:37 +0700
Subject: [PATCH 12/38] Update mod-list.html
change aScientistsWish main Programmer from CPU into Sobble
---
mod-list.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mod-list.html b/mod-list.html
index fed60b74..93a4b128 100644
--- a/mod-list.html
+++ b/mod-list.html
@@ -156,7 +156,7 @@
| Science & Chemistry |
| alcohol.js | Adds methanol, (iso-)propanol, and butanol | Alice |
| alkahest.js | Adds the alkahest, a liquid which dissolves anything | Alice |
-| aScientistsWish.js | Adds things that related to science, especially radiation | Carbon Monoxide, CPU |
+| aScientistsWish.js | Adds things that related to science, especially radiation | Carbon Monoxide, Sobble |
| bettermetalscrap.js | Allows metal scrap to be melted back into its original material | nousernamefound |
| bigger_star_spawners.js | Adds spawners for larger stars | Alice |
| bioooze_and_pyrogens.js | Adds Bio-Ooze from Frackin’ Universe and several heat-producing materials from various games’ mods | Alice |
From b38b85ead8fcdd1e3b12e1506d9cae0a61293494 Mon Sep 17 00:00:00 2001
From: ludus530 <163735402+ludus530@users.noreply.github.com>
Date: Sun, 5 May 2024 09:35:22 +0200
Subject: [PATCH 13/38] cash_n_more.js
adds cash and paper
---
mods/cash_n_more.js | 37 +++++++++++++++++++++++++++++++++++++
1 file changed, 37 insertions(+)
create mode 100644 mods/cash_n_more.js
diff --git a/mods/cash_n_more.js b/mods/cash_n_more.js
new file mode 100644
index 00000000..ffe5dd21
--- /dev/null
+++ b/mods/cash_n_more.js
@@ -0,0 +1,37 @@
+elements.cash = {
+ color: "#00e600",
+ behavior: behaviors.POWDER,
+ category: "powders",
+};
+
+elements.paper = {
+ color: "#ffffff",
+ behavior: behaviors.SOLID,
+ category: "solids",
+};
+
+elements.shredded_paper = {
+ color: "#ffffff",
+ behavior: behaviors.POWDER,
+ category: "powders",
+};
+
+elements.shredded_cash = {
+ color: "#004d00",
+ behavior: behaviors.POWDER,
+ category: "powders",
+};
+
+elements.shredder = {
+ color: "#08b508",
+ behavior: behaviors.SOLID,
+ tool: function(pixel) {
+ if (pixel.element == "cash") {
+ pixel.element = "shredded_cash"
+ },
+ if (pixel.element == "paper") {
+ pixel.element = "shredded_money"
+ }
+ },
+ category: "tools",
+};
From a3adf44dbe36fb6b4e3a1b744f5f5407d27a776d Mon Sep 17 00:00:00 2001
From: ludus530 <163735402+ludus530@users.noreply.github.com>
Date: Sun, 5 May 2024 12:57:30 +0200
Subject: [PATCH 14/38] cash_n_more.js
added sponges
---
mods/cash_n_more.js | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/mods/cash_n_more.js b/mods/cash_n_more.js
index ffe5dd21..e267a8f7 100644
--- a/mods/cash_n_more.js
+++ b/mods/cash_n_more.js
@@ -4,6 +4,27 @@ elements.cash = {
category: "powders",
};
+delete elements.paper;
+delete elements.sponge;
+
+elements.sponge = {
+ color: "#ffff1a",
+ behavior: behaviors.SOLID,
+ category: "solids",
+ tool: function(pixel) {
+ if (pixel.element == "water") {
+ pixel.element = "wet_sponge"
+ }
+ },
+};
+
+elements.wet_sponge = {
+ color: "#cccc00",
+ behavior: behaviors.SOLID,
+ category: "solids",
+};
+
+
elements.paper = {
color: "#ffffff",
behavior: behaviors.SOLID,
From e3709bfc09c439423dfd2a823084a76fdaf450a3 Mon Sep 17 00:00:00 2001
From: GGod <46885632+GGodPL@users.noreply.github.com>
Date: Sun, 5 May 2024 22:05:28 +0200
Subject: [PATCH 15/38] Create colorLED.js
---
mods/colorLED.js | 38 ++++++++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+)
create mode 100644 mods/colorLED.js
diff --git a/mods/colorLED.js b/mods/colorLED.js
new file mode 100644
index 00000000..ec3a4622
--- /dev/null
+++ b/mods/colorLED.js
@@ -0,0 +1,38 @@
+elements.led = {
+ behavior: behaviors.WALL,
+ reactions: {
+ "light": {"charge1":1},
+ "liquid_light": {"charge1":1},
+ },
+ color: "#666666",
+ colorOn: "#ffffff",
+ category: "machines",
+ tempHigh: 1500,
+ stateHigh: ["molten_glass","molten_glass","molten_glass","molten_gallium"],
+ conduct: 1,
+ breakInto: "glass_shard",
+ tick: (pixel) => {
+ if (pixel.start == pixelTicks) {
+ pixel.normalColor = pixel.color;
+ pixel.chargeColor = `rgb(${pixel.color.replace(/[rgb\(\)]/g, "").split(",").map(a => parseInt(a.trim()) + 120).join(", ")})`;
+ }
+ if (pixel.color != pixel.normalColor && !pixel.charge && !pixel.chargeCD) {
+ pixel.normalColor = pixel.color;
+ pixel.chargeColor = `rgb(${pixel.color.replace(/[rgb\(\)]/g, "").split(",").map(a => parseInt(a.trim()) + 120).join(", ")})`;
+ }
+ if (pixel.charge) {
+ pixel.color = pixel.chargeColor;
+ } else {
+ pixel.color = pixel.normalColor;
+ }
+ }
+}
+
+pixelColorPick = (function() {
+ const oldPixelColorPick = pixelColorPick;
+
+ return function(pixel, customColor = null) {
+ if (pixel.element == "led" && pixel.color && !customColor) return pixel.color;
+ return oldPixelColorPick.apply(this, arguments);
+ }
+})()
\ No newline at end of file
From 10f3ba326b2499005b23bbe5326396319daccf9c Mon Sep 17 00:00:00 2001
From: guzzo86 <126430018+guzzo86@users.noreply.github.com>
Date: Sun, 5 May 2024 19:31:58 -0400
Subject: [PATCH 16/38] Create colored_lightbulbs.js
---
mods/colored_lightbulbs.js | 44 ++++++++++++++++++++++++++++++++++++++
1 file changed, 44 insertions(+)
create mode 100644 mods/colored_lightbulbs.js
diff --git a/mods/colored_lightbulbs.js b/mods/colored_lightbulbs.js
new file mode 100644
index 00000000..84f8ad85
--- /dev/null
+++ b/mods/colored_lightbulbs.js
@@ -0,0 +1,44 @@
+elements.colored_light_bulb = {
+ color: "#666666",
+ colorOn: "#ffffff",
+ behavior: behaviors.WALL,
+ category: "machines",
+ tempHigh: 1500,
+ stateHigh: ["molten_glass","molten_glass","molten_copper"],
+ conduct: 1,
+ breakInto: "glass_shard",
+ tick: function(pixel) {
+ if (pixel.start == pixelTicks) {
+ pixel.normalColor = pixel.color;
+ pixel.chargeColor = `rgb(${pixel.color.replace(/[rgb\(\)]/g, "").split(",").map(a => parseInt(a.trim()) + 150).join(", ")})`;
+ }
+ if (pixel.color != pixel.normalColor && !pixel.charge && !pixel.chargeCD) {
+ pixel.normalColor = pixel.color;
+ pixel.chargeColor = `rgb(${pixel.color.replace(/[rgb\(\)]/g, "").split(",").map(a => parseInt(a.trim()) + 150).join(", ")})`;
+ }
+ if (pixel.charge) {
+ pixel.color = pixel.chargeColor;
+ } else {
+ pixel.color = pixel.normalColor;
+ }
+ if (pixel.charge > 0) {
+ for (let i = 0; i < adjacentCoords.length; i++){
+ let coord = adjacentCoords[i]
+ let x = coord[0]+pixel.x
+ let y = coord[1]+pixel.y
+ if (isEmpty(x, y)){
+ //do crap to the pixel
+ createPixel("light", x, y,),
+ pixelMap[x][y].color = pixel.chargeColor
+ }
+ }
+ }}
+}
+pixelColorPick = (function() {
+ const oldPixelColorPick = pixelColorPick;
+
+ return function(pixel, customColor = null) {
+ if (pixel.element == "colored_light_bulb" && pixel.color && !customColor) return pixel.color;
+ return oldPixelColorPick.apply(this, arguments);
+ }
+})()
From ac25c2051d4dfac3641459fb1732d67e259c4a75 Mon Sep 17 00:00:00 2001
From: slweeb <91897291+slweeb@users.noreply.github.com>
Date: Sun, 5 May 2024 19:33:22 -0400
Subject: [PATCH 17/38] fixed inconsistency
---
mod-list.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mod-list.html b/mod-list.html
index 93a4b128..a06fed4d 100644
--- a/mod-list.html
+++ b/mod-list.html
@@ -156,7 +156,7 @@
| Science & Chemistry |
| alcohol.js | Adds methanol, (iso-)propanol, and butanol | Alice |
| alkahest.js | Adds the alkahest, a liquid which dissolves anything | Alice |
-| aScientistsWish.js | Adds things that related to science, especially radiation | Carbon Monoxide, Sobble |
+| aScientistsWish.js | Adds things that related to science, especially radiation | Carbon Monoxide, salmonfishy |
| bettermetalscrap.js | Allows metal scrap to be melted back into its original material | nousernamefound |
| bigger_star_spawners.js | Adds spawners for larger stars | Alice |
| bioooze_and_pyrogens.js | Adds Bio-Ooze from Frackin’ Universe and several heat-producing materials from various games’ mods | Alice |
From d6796c7ea6d1562d4228b40c14869221ae533bcd Mon Sep 17 00:00:00 2001
From: guzzo86 <126430018+guzzo86@users.noreply.github.com>
Date: Sun, 5 May 2024 19:33:38 -0400
Subject: [PATCH 18/38] Update mod-list.html
---
mod-list.html | 1 +
1 file changed, 1 insertion(+)
diff --git a/mod-list.html b/mod-list.html
index 81b7e719..e273ce68 100644
--- a/mod-list.html
+++ b/mod-list.html
@@ -203,6 +203,7 @@
| logicgates.js | Adds predictable electricity and logic gates | nousernamefound |
| note_block.js | Adds musical Note Blocks | Alice |
| nousersthings.js | Destroyable machines, pipe variants, filters, and more | nousernamefound |
+| colored_lightbulbs.js | Adds a light bulb that can be painted. | guzzo86, ggod |
| portal.js | Adds portals that can teleport pixels | Alice |
| pullers.js | Adds pixels that pull pixels towards them | voidapex11 |
| pushers.js | Adds pixels that push elements away from them | Alice |
From 32f8ac5d896bc4722248f212df5810123d943d1d Mon Sep 17 00:00:00 2001
From: slweeb <91897291+slweeb@users.noreply.github.com>
Date: Sun, 5 May 2024 19:39:20 -0400
Subject: [PATCH 19/38] Update mod-list.html
---
mod-list.html | 4 ----
1 file changed, 4 deletions(-)
diff --git a/mod-list.html b/mod-list.html
index 07d08604..fe276e5f 100644
--- a/mod-list.html
+++ b/mod-list.html
@@ -127,7 +127,6 @@
| color_tools.js | Adds tools that manipulate colors | Alice |
| controllable_pixel_test.js | Adds a pixel that can be controlled with the keyboard keys. Read the commit description for more info. [PC ONLY] | Alice |
| cpt_alt.js | Adds a more destructive variant of the controllable pixel | Alice |
-| customtemptools.js | Adds custom input temp tools. | guzzo86 |
| debugRework.js | Revamps the Debug tool | Fioushemastor |
| delete_all_of_element.js | Adds a tool that deletes every pixel of the element(s) the user clicks on | Alice |
| descriptions.js | Adds descriptions to the info page and tooltips of elements | mollthecoder |
@@ -199,11 +198,9 @@
| fine_tuned_cloner.js | Adds a cloner that can spawn at different rates and prevent unwated cloning | BatteRaquette58 |
| flipflop.js | Toggleable switches; Explanation | Flix |
| gameOfLife.js | Conway's Game of Life on a screen | ggod |
-| fuel_generators.js | Adds diesel and gasoline powered generators | guzzo86 |
| logicgates.js | Adds predictable electricity and logic gates | nousernamefound |
| note_block.js | Adds musical Note Blocks | Alice |
| nousersthings.js | Destroyable machines, pipe variants, filters, and more | nousernamefound |
-| colored_lightbulbs.js | Adds a light bulb that can be painted. | guzzo86, ggod |
| portal.js | Adds portals that can teleport pixels | Alice |
| pullers.js | Adds pixels that pull pixels towards them | voidapex11 |
| pushers.js | Adds pixels that push elements away from them | Alice |
@@ -231,7 +228,6 @@
| bananas.js | Adds bananas and banana plants | Alice |
'
| CherrySoda.js | Adds materials to make Cherry soda. Benzaldehyde + seltzer = Cherrysoda. | guzzo86 |
| community_desserts.js | Adds various desserts from community suggestions | Tisquares |
-| GrapeSoda.js | Adds materials to make Grape soda. Methylanthranilate + seltzer = Grapesoda. | guzzo86 |
| greenitemsandmore.js | Adds various green things, including apples and more food | zonneschijn7 |
| ketchup_mod.js | Adds a bunch of ketchup related stuff, plus a few other condiments | Nubo318 (main dev), Devi, Alice (contributors) |
| lemonade.js | Adds lemons and lemonade | personman / baconthemyth |
From e846c8e9b202678b3679aa9953654b5f6210bb3d Mon Sep 17 00:00:00 2001
From: DoobieRalsei <163950752+DoobieRalsei@users.noreply.github.com>
Date: Mon, 6 May 2024 10:42:02 -0700
Subject: [PATCH 20/38] 008 can infect meat
Gave SCP 008 ability to infect meat.
---
mods/scp.js | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 69 insertions(+), 1 deletion(-)
diff --git a/mods/scp.js b/mods/scp.js
index 4792e6f4..6dbaa773 100644
--- a/mods/scp.js
+++ b/mods/scp.js
@@ -6,6 +6,14 @@ window.addEventListener("load", () => {
document.getElementById("elementButton-mask_body")?.remove()
})
+window.addEventListener("load", () => {
+ document.getElementById("elementButton-008_meat")?.remove()
+})
+
+window.addEventListener("load", () => {
+ document.getElementById("elementButton-frozen_008_meat")?.remove()
+})
+
window.addEventListener("load", () => {
document.getElementById("elementButton-zombie")?.remove()
})
@@ -57,6 +65,9 @@ elements.SCP_008 = {
reactions: {
"head": { elem1:null, elem2:"z_head" , chance:0.5 },
"body": { elem1:null, elem2:"z_body" , chance:0.5 },
+ "meat": { elem1:null, elem2:"008_meat" , chance:0.4 },
+ "rotten_meat": { elem1:null, elem2:"008_meat" , chance:0.5 },
+ "frozen_meat": { elem1:null, elem2:"frozen_008_meat" , chance:0.3 },
"frog": { elem2:"SCP_008" , chance:0.5 },
"ant": { elem2:"SCP_008" , chance:0.5 },
"bee": { elem2:"SCP_008" , chance:0.5 },
@@ -66,7 +77,7 @@ elements.SCP_008 = {
"liquid_chlorine": { elem1: [null,null,null,null,"anomalous_essence"] , chance:0.01 },
"light": { elem1: [null,null,null,null,"anomalous_essence"] , chance:0.01 },
},
- tempHigh: 1000,
+ tempHigh: 750,
stateHigh: [null,null,null,null,"anomalous_essence"],
tempLow: -100,
stateLow: "frozen_008",
@@ -85,6 +96,9 @@ elements.frozen_008 = {
reactions: {
"head": { elem1:null, elem2:"z_head" , chance:0.4 },
"body": { elem1:null, elem2:"z_body" , chance:0.4 },
+ "meat": { elem1:null, elem2:"frozen_008_meat" , chance:0.4 },
+ "rotten_meat": { elem1:null, elem2:"frozen_008_meat" , chance:0.5 },
+ "frozen_meat": { elem1:null, elem2:"frozen_008_meat" , chance:0.4 },
"chlorine": { elem1: [null,null,null,null,"anomalous_essence"] , chance:0.01 },
"liquid_chlorine": { elem1: [null,null,null,null,"anomalous_essence"] , chance:0.01 },
"light": { elem1: [null,null,null,null,"anomalous_essence"] , chance:0.01 },
@@ -97,6 +111,60 @@ elements.frozen_008 = {
density: 95,
},
+elements.008_meat = {
+ color: ["#b8b165","#b89765"],
+ behavior: [
+ "XX|CR:plague,stench,stench,SCP_008,fly%0.25 AND CH:rotten_meat,meat>008_meat%1|XX",
+ "SP%99 AND CH:rotten_meat,meat>008_meat%1|XX|SP%99 AND CH:rotten_meat,meat>008_meat%1",
+ "XX|M1 AND CH:rotten_meat,meat>008_meat%1|XX",
+ ],
+ reactions: {
+ "water": { elem2:"dirty_water" },
+ "salt_water": { elem2:"dirty_water" },
+ "sugar_water": { elem2:"dirty_water" },
+ "dirty_water": { elem2:"broth", tempMin:70, color2:"#d7db69" },
+ "seltzer": { elem2:"dirty_water" },
+ "fly": { elem1: [null,null,"SCP_008"] , elem2: ["dead_bug","dead_bug","SCP_008"] , chance:0.2},
+ },
+ tempHigh: 300,
+ stateHigh: ["SCP_008","ash","ammonia"],
+ tempLow: -20,
+ stateLow: "frozen_008_meat",
+ category:"scp",
+ hidden: true,
+ burn:12,
+ burnTime:200,
+ burnInto:["SCP_008","ash","ammonia"],
+ state: "solid",
+ density: 1005,
+ conduct: 0.1,
+ isFood: true
+},
+
+elements.frozen_008_meat = {
+ color: "#242424",
+ behavior: [
+ "XX|CH:rotten_meat,frozen_meat>frozen_008_meat%1|XX",
+ "SP%99 AND CH:rotten_meat,frozen_meat>frozen_008_meat%1|XX|SP%99 AND CH:rotten_meat,frozen_meat>frozen_008_meat%1",
+ "XX|M1 AND CH:rotten_meat,frozen_meat>frozen_008_meat%1|XX",
+ ],
+ reactions: {
+ "water": { elem2:"dirty_water" },
+ "salt_water": { elem1:"008_meat",elem2:"dirty_water" , chance:0.5 },
+ "sugar_water": { elem2:"dirty_water" },
+ "seltzer": { elem2:"dirty_water" },
+ "fly": { elem2: ["dead_bug","dead_bug","SCP_008"] , chance:0.2},
+ },
+ temp: -20,
+ tempHigh: 10,
+ stateHigh: "008_meat",
+ category:"scp",
+ hidden: true,
+ state: "solid",
+ density: 1005,
+ conduct: 0.05,
+},
+
elements.possessive_mask = {
color: ["#f7ead0","#faf9f6","#e9e6db"],
category: "scp",
From 7f001bbf6c503ef7118994ddbd635c40429add91 Mon Sep 17 00:00:00 2001
From: DoobieRalsei <163950752+DoobieRalsei@users.noreply.github.com>
Date: Mon, 6 May 2024 11:54:58 -0700
Subject: [PATCH 21/38] Made Anomalous Essence rarer
---
mods/scp.js | 33 +++++++++++----------------------
1 file changed, 11 insertions(+), 22 deletions(-)
diff --git a/mods/scp.js b/mods/scp.js
index 6dbaa773..d8f44eab 100644
--- a/mods/scp.js
+++ b/mods/scp.js
@@ -1,43 +1,33 @@
window.addEventListener("load", () => {
document.getElementById("elementButton-mask_head")?.remove()
})
-
window.addEventListener("load", () => {
document.getElementById("elementButton-mask_body")?.remove()
})
-
window.addEventListener("load", () => {
document.getElementById("elementButton-008_meat")?.remove()
})
-
window.addEventListener("load", () => {
document.getElementById("elementButton-frozen_008_meat")?.remove()
})
-
window.addEventListener("load", () => {
document.getElementById("elementButton-zombie")?.remove()
})
-
window.addEventListener("load", () => {
document.getElementById("elementButton-z_head")?.remove()
})
-
window.addEventListener("load", () => {
document.getElementById("elementButton-z_body")?.remove()
})
-
window.addEventListener("load", () => {
document.getElementById("elementButton-REDACTED")?.remove()
})
-
window.addEventListener("load", () => {
document.getElementById("elementButton-hyper_tickle_monster")?.remove()
})
-
window.addEventListener("load", () => {
document.getElementById("elementButton-calm_682")?.remove()
})
-
window.addEventListener("load", () => {
document.getElementById("elementButton-mad_682")?.remove()
})
@@ -73,12 +63,12 @@ elements.SCP_008 = {
"bee": { elem2:"SCP_008" , chance:0.5 },
"fish": { elem2:"SCP_008" , chance:0.5 },
"firefly": { elem2:"SCP_008" , chance:0.5 },
- "chlorine": { elem1: [null,null,null,null,"anomalous_essence"] , chance:0.01 },
- "liquid_chlorine": { elem1: [null,null,null,null,"anomalous_essence"] , chance:0.01 },
- "light": { elem1: [null,null,null,null,"anomalous_essence"] , chance:0.01 },
+ "chlorine": { elem1: [null,null,null,null,null,null,null,null,"anomalous_essence"] , chance:0.01 },
+ "liquid_chlorine": { elem1: [null,null,null,null,null,null,null,null,"anomalous_essence"] , chance:0.01 },
+ "light": { elem1: [null,null,null,null,null,null,null,null,"anomalous_essence"] , chance:0.01 },
},
tempHigh: 750,
- stateHigh: [null,null,null,null,"anomalous_essence"],
+ stateHigh: [null,null,null,null,null,null,null,null,"anomalous_essence"],
tempLow: -100,
stateLow: "frozen_008",
category: "scp",
@@ -99,9 +89,9 @@ elements.frozen_008 = {
"meat": { elem1:null, elem2:"frozen_008_meat" , chance:0.4 },
"rotten_meat": { elem1:null, elem2:"frozen_008_meat" , chance:0.5 },
"frozen_meat": { elem1:null, elem2:"frozen_008_meat" , chance:0.4 },
- "chlorine": { elem1: [null,null,null,null,"anomalous_essence"] , chance:0.01 },
- "liquid_chlorine": { elem1: [null,null,null,null,"anomalous_essence"] , chance:0.01 },
- "light": { elem1: [null,null,null,null,"anomalous_essence"] , chance:0.01 },
+ "chlorine": { elem1: [null,null,null,null,null,null,null,null,"anomalous_essence"] , chance:0.01 },
+ "liquid_chlorine": { elem1: [null,null,null,null,null,null,null,null,"anomalous_essence"] , chance:0.01 },
+ "light": { elem1: [null,null,null,null,null,null,null,null,"anomalous_essence"] , chance:0.01 },
},
temp: -50,
tempHigh: 0,
@@ -444,7 +434,7 @@ elements.black_acid = {
tempLow: -58.88,
burn: 30,
burnTime: 10,
- burnInto: ["fire","fire","fire","fire","fire","fire","fire","fire","ash","ash","anomalous_essence"],
+ burnInto: ["fire","fire","fire","fire","fire","fire","fire","fire","ash","ash","fire","fire","fire","fire","ash","ash","anomalous_essence"],
fireColor: "#111111",
state: "liquid",
density: 1105,
@@ -462,7 +452,7 @@ elements.SCP_055 = {
category: "scp",
state: "solid",
tempHigh: 55055055055,
- stateHigh: ["metal_scrap","smoke","smoke","anomalous_essence"],
+ stateHigh: ["metal_scrap","metal_scrap","smoke","smoke","smoke","smoke","smoke","smoke","smoke",null,"anomalous_essence"],
},
elements.REDACTED = {
@@ -888,7 +878,7 @@ elements.shy_head = {
hidden: true,
color: ["#f7ead0","#faf9f6","#e9e6db"],
category: "scp",
- breakInto: ["bone","bone","blood","bone","bone","blood","anomalous_essence"],
+ breakInto: ["bone","bone","blood","bone","bone","blood","bone","bone","blood","bone","bone","blood","anomalous_essence"],
properties: {
dead: false
},
@@ -943,7 +933,6 @@ elements.shy_head = {
"z_body": { elem2: ["infection","infection","rotten_meat","bone",null] },
"rat": { elem2: ["infection","rotten_meat",null]},
"frog": { elem2: ["slime",null] },
- "cell": { elem2: ["dna","water",null] },
"cancer": { elem2: ["dna","dirty_water",null], },
"blood": { elem2: null, chance:0.2 },
"bone": { elem2: null, chance:0.2 },
@@ -958,7 +947,7 @@ elements.shy_body = {
hidden: true,
color: ["#f7ead0","#faf9f6","#e9e6db"],
category: "scp",
- breakInto: ["bone","bone","blood","bone","bone","blood","anomalous_essence"],
+ breakInto: ["bone","bone","blood","bone","bone","blood","bone","bone","blood","bone","bone","blood","anomalous_essence"],
properties: {
dead: false,
dir: 1,
From 1c1ab275de400356ae46e5395a8090af18dd9e30 Mon Sep 17 00:00:00 2001
From: DoobieRalsei <163950752+DoobieRalsei@users.noreply.github.com>
Date: Mon, 6 May 2024 12:25:23 -0700
Subject: [PATCH 22/38] Rudimentary 096 tracking
---
mods/scp.js | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/mods/scp.js b/mods/scp.js
index d8f44eab..4b801da5 100644
--- a/mods/scp.js
+++ b/mods/scp.js
@@ -912,7 +912,20 @@ elements.shy_head = {
pixel.dead = pixelTicks;
}
}
- }
+ }
+ if (!isEmpty(pixel.x+2, pixel.y, true) && pixelMap[pixel.x+2][pixel.y].element == "head") {
+ var target = pixelMap[pixel.x+2][pixel.y];
+ if (target.dead) { // If target is dead, ignore
+ var target = null;
+ }
+ else { body.panic += 0.1; }
+ }
+ else { var target = null }
+ if (target.dead) { // If target is dead, ignore
+ var target = null;
+ body.panic -= 0.1;
+ }
+
// homeostasis
if (pixel.temp > 37) { pixel.temp -= 1; }
else if (pixel.temp < 37) { pixel.temp += 1; }
From e3a80c4081d032acfc5590c6232902dd1e4d6225 Mon Sep 17 00:00:00 2001
From: DoobieRalsei <163950752+DoobieRalsei@users.noreply.github.com>
Date: Mon, 6 May 2024 18:09:06 -0700
Subject: [PATCH 23/38] scp.js improved
---
mods/scp.js | 38 +++++++++++++++++++-------------------
1 file changed, 19 insertions(+), 19 deletions(-)
diff --git a/mods/scp.js b/mods/scp.js
index 4b801da5..0b0273ff 100644
--- a/mods/scp.js
+++ b/mods/scp.js
@@ -5,10 +5,10 @@ window.addEventListener("load", () => {
document.getElementById("elementButton-mask_body")?.remove()
})
window.addEventListener("load", () => {
- document.getElementById("elementButton-008_meat")?.remove()
+ document.getElementById("elementButton-infected_meat")?.remove()
})
window.addEventListener("load", () => {
- document.getElementById("elementButton-frozen_008_meat")?.remove()
+ document.getElementById("elementButton-frozen_infected_meat")?.remove()
})
window.addEventListener("load", () => {
document.getElementById("elementButton-zombie")?.remove()
@@ -55,9 +55,9 @@ elements.SCP_008 = {
reactions: {
"head": { elem1:null, elem2:"z_head" , chance:0.5 },
"body": { elem1:null, elem2:"z_body" , chance:0.5 },
- "meat": { elem1:null, elem2:"008_meat" , chance:0.4 },
- "rotten_meat": { elem1:null, elem2:"008_meat" , chance:0.5 },
- "frozen_meat": { elem1:null, elem2:"frozen_008_meat" , chance:0.3 },
+ "meat": { elem1:null, elem2:"infected_meat" , chance:0.4 },
+ "rotten_meat": { elem1:null, elem2:"infected_meat" , chance:0.5 },
+ "frozen_meat": { elem1:null, elem2:"frozen_infected_meat" , chance:0.3 },
"frog": { elem2:"SCP_008" , chance:0.5 },
"ant": { elem2:"SCP_008" , chance:0.5 },
"bee": { elem2:"SCP_008" , chance:0.5 },
@@ -86,9 +86,9 @@ elements.frozen_008 = {
reactions: {
"head": { elem1:null, elem2:"z_head" , chance:0.4 },
"body": { elem1:null, elem2:"z_body" , chance:0.4 },
- "meat": { elem1:null, elem2:"frozen_008_meat" , chance:0.4 },
- "rotten_meat": { elem1:null, elem2:"frozen_008_meat" , chance:0.5 },
- "frozen_meat": { elem1:null, elem2:"frozen_008_meat" , chance:0.4 },
+ "meat": { elem1:null, elem2:"frozen_infected_meat" , chance:0.4 },
+ "rotten_meat": { elem1:null, elem2:"frozen_infected_meat" , chance:0.5 },
+ "frozen_meat": { elem1:null, elem2:"frozen_infected_meat" , chance:0.4 },
"chlorine": { elem1: [null,null,null,null,null,null,null,null,"anomalous_essence"] , chance:0.01 },
"liquid_chlorine": { elem1: [null,null,null,null,null,null,null,null,"anomalous_essence"] , chance:0.01 },
"light": { elem1: [null,null,null,null,null,null,null,null,"anomalous_essence"] , chance:0.01 },
@@ -101,12 +101,12 @@ elements.frozen_008 = {
density: 95,
},
-elements.008_meat = {
+elements.infected_meat = {
color: ["#b8b165","#b89765"],
behavior: [
- "XX|CR:plague,stench,stench,SCP_008,fly%0.25 AND CH:rotten_meat,meat>008_meat%1|XX",
- "SP%99 AND CH:rotten_meat,meat>008_meat%1|XX|SP%99 AND CH:rotten_meat,meat>008_meat%1",
- "XX|M1 AND CH:rotten_meat,meat>008_meat%1|XX",
+ "XX|CR:plague,stench,stench,SCP_008,fly%0.25 AND CH:rotten_meat,meat>infected_meat%1|XX",
+ "SP%99 AND CH:rotten_meat,meat>infected_meat%1|XX|SP%99 AND CH:rotten_meat,meat>infected_meat%1",
+ "XX|M1 AND CH:rotten_meat,meat>infected_meat%1|XX",
],
reactions: {
"water": { elem2:"dirty_water" },
@@ -119,7 +119,7 @@ elements.008_meat = {
tempHigh: 300,
stateHigh: ["SCP_008","ash","ammonia"],
tempLow: -20,
- stateLow: "frozen_008_meat",
+ stateLow: "frozen_infected_meat",
category:"scp",
hidden: true,
burn:12,
@@ -131,23 +131,23 @@ elements.008_meat = {
isFood: true
},
-elements.frozen_008_meat = {
+elements.frozen_infected_meat = {
color: "#242424",
behavior: [
- "XX|CH:rotten_meat,frozen_meat>frozen_008_meat%1|XX",
- "SP%99 AND CH:rotten_meat,frozen_meat>frozen_008_meat%1|XX|SP%99 AND CH:rotten_meat,frozen_meat>frozen_008_meat%1",
- "XX|M1 AND CH:rotten_meat,frozen_meat>frozen_008_meat%1|XX",
+ "XX|CH:rotten_meat,frozen_meat>frozen_infected_meat%1|XX",
+ "SP%99 AND CH:rotten_meat,frozen_meat>frozen_infected_meat%1|XX|SP%99 AND CH:rotten_meat,frozen_meat>frozen_infected_meat%1",
+ "XX|M1 AND CH:rotten_meat,frozen_meat>frozen_infected_meat%1|XX",
],
reactions: {
"water": { elem2:"dirty_water" },
- "salt_water": { elem1:"008_meat",elem2:"dirty_water" , chance:0.5 },
+ "salt_water": { elem1:"infected_meat",elem2:"dirty_water" , chance:0.5 },
"sugar_water": { elem2:"dirty_water" },
"seltzer": { elem2:"dirty_water" },
"fly": { elem2: ["dead_bug","dead_bug","SCP_008"] , chance:0.2},
},
temp: -20,
tempHigh: 10,
- stateHigh: "008_meat",
+ stateHigh: "infected_meat",
category:"scp",
hidden: true,
state: "solid",
From 924e139e0619fdb7b792f219526afd894bcbb21a Mon Sep 17 00:00:00 2001
From: DoobieRalsei <163950752+DoobieRalsei@users.noreply.github.com>
Date: Tue, 7 May 2024 09:13:12 -0700
Subject: [PATCH 24/38] =?UTF-8?q?More=20Spanish/Mas=20Espa=C3=B1ol?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Updated the Spanish translation list to have many more translations.
Añadi muchos mas traducciones a la lista de Español.
---
lang/es.json | 240 +++++++++++++++++++++++++--------------------------
1 file changed, 120 insertions(+), 120 deletions(-)
diff --git a/lang/es.json b/lang/es.json
index 31123ab2..5d54b999 100644
--- a/lang/es.json
+++ b/lang/es.json
@@ -153,7 +153,7 @@
"ammonia":"amoníaco",
"liquid_ammonia":"liquido_de_amoníaco",
"carbon_dioxide":"dióxido_de_carbono",
-"oil":"aceite ",
+"oil":"aceite",
"lamp_oil":"aceite_de_lampara",
"propane":"propano",
"methane":"metano",
@@ -198,7 +198,7 @@
"slow_cloner":"clonador_lento",
"clone_powder":"polvo_de_clone",
"floating_cloner":"clonador_flotante",
-"virus":"virus ",
+"virus":"virus",
"ice_nine":"hielo_nueve",
"strange_matter":"asunto_extraño",
"permafrost":"permafrost",
@@ -241,7 +241,7 @@
"bronze":"bronce",
"sterling":"libra_esterliina",
"gallium":"galio",
-"molten_gallium":"galion_fundido",
+"molten_gallium":"galio_fundido",
"gallium_gas":"gas_galio",
"rose_gold":"oro_rosa",
"purple_gold":"oro_purpura",
@@ -277,7 +277,7 @@
"rotten_cheese":"queso_podrido",
"chocolate":"chocolate",
"grape":"uva",
-"vinegar":"vinagre ",
+"vinegar":"vinagre",
"herb":"hierba",
"lettuce":"lechuga",
"pickle":"pepinillo",
@@ -406,121 +406,121 @@
"neutron":"neutrón",
"proton":"protón ",
"electric":"electrico",
-"uranium":"",
-"molten_uranium":"",
-"diamond":"",
-"gold_coin":"",
-"rust":"",
-"oxidized_copper":"",
-"alga":"",
-"metal_scrap":"",
-"glass_shard":"",
-"rad_shard":"",
-"brick_rubble":"",
-"baked_clay":"",
-"clay_shard":"",
-"porcelain_shard":"",
-"feather":"",
-"confetti":"",
-"glitter":"",
-"bead":"",
-"color_sand":"",
-"borax":"",
-"epsom_salt":"",
-"potassium_salt":"",
-"sodium_acetate":"",
-"lightning":"",
-"bless":"",
-"god_ray":"",
-"heat_ray":"",
-"explosion":"",
-"n_explosion":"",
-"supernova":"",
-"pop":"",
-"cook":"",
-"incinerate":"",
-"room_temp":"",
-"positron":"",
-"tnt":"",
-"c4":"",
-"grenade":"",
-"dynamite":"",
-"gunpowder":"",
-"ember":"",
-"firework":"",
-"fw_ember":"",
-"nuke":"",
-"h_bomb":"",
-"dirty_bomb":"",
-"emp_bomb":"",
-"nitro":"",
-"greek_fire":"",
-"fireball":"",
-"rocket":"",
-"cold_bomb":"",
-"hot_bomb":"",
-"antimatter_bomb":"",
-"party_popper":"",
-"flashbang":"",
-"flash":"",
-"smoke_grenade":"",
-"landmine":"",
-"armageddon":"",
-"tesla_coil":"",
-"light_bulb":"",
-"shocker":"",
-"pressure_plate":"",
-"primordial_soup":"",
-"molten_slag":"",
-"molten_dirt":"",
-"debug":"reydeporvida",
-"prop":"",
-"salt_ice":"",
-"sugar_ice":"",
-"seltzer_ice":"",
-"dirty_ice":"",
-"pool_ice":"",
-"blood_ice":"",
-"antibody_ice":"",
-"infection_ice":"",
-"unknown":"",
-"slime_ice":"",
-"antiice":"",
-"ammonia_ice":"",
-"liquid_propane":"",
-"methane_ice":"",
-"molten_brick":"",
-"acid_ice":"",
-"soda_ice":"",
-"molten_steel":"",
-"molten_brass":"",
-"molten_bronze":"",
-"molten_sterling":"",
-"molten_rose_gold":"",
-"molten_purple_gold":"",
-"molten_blue_gold":"",
-"molten_electrum":"",
-"molten_pyrite":"",
-"broth_ice":"",
-"frozen_vinegar":"",
-"sauce_ice":"",
-"alcohol_ice":"",
-"bleach_ice":"",
-"chlorine_ice":"",
-"frozen_ink":"",
-"tea_ice":"",
-"coffee_ice":"",
-"hydrogen_ice":"",
-"oxygen_ice":"",
-"molten_amalgam":"",
-"neon_ice":"",
-"cyanide_ice":"",
-"molten_copper_sulfate":"",
-"molten_alga":"",
-"molten_metal_scrap":"",
-"molten_borax":"",
-"molten_epsom_salt":"",
-"molten_potassium_salt":"",
+"uranium":"uranio",
+"molten_uranium":"uranio_fundido",
+"diamond":"diamante",
+"gold_coin":"moneda_de_oro",
+"rust":"óxido",
+"oxidized_copper":"cobre_oxidado",
+"alga":"aluminio_galio",
+"metal_scrap":"chatarra",
+"glass_shard":"fragmento_de_vidrio",
+"rad_shard":"fragmento_de_vidrio_rad",
+"brick_rubble":"escombros_de_ladrillo",
+"baked_clay":"arcilla_horneado",
+"clay_shard":"fragmento_de_arcilla",
+"porcelain_shard":"fragmento_de_porcelina",
+"feather":"pluma",
+"confetti":"confetti",
+"glitter":"brillo",
+"bead":"cuenta",
+"color_sand":"arena_de_color",
+"borax":"bórax",
+"epsom_salt":"sal_de_epsom",
+"potassium_salt":"sal_de_potassio",
+"sodium_acetate":"acetato_sodio",
+"lightning":"relampago",
+"bless":"bendecir",
+"god_ray":"rayo_de_dios",
+"heat_ray":"rayo_de_calor",
+"explosion":"explosión",
+"n_explosion":"explosión_n",
+"supernova":"supernova",
+"pop":"estallido",
+"cook":"cocinar",
+"incinerate":"incinerar",
+"room_temp":"temp_ambiente",
+"positron":"positrón",
+"tnt":"tnt",
+"c4":"c4",
+"grenade":"grenada",
+"dynamite":"dinamita",
+"gunpowder":"polvóra",
+"ember":"ascua",
+"firework":"fuego_artificiale",
+"fw_ember":"ascua_fa",
+"nuke":"bomba_nuclear",
+"h_bomb":"bomba_h",
+"dirty_bomb":"bomba_sucio",
+"emp_bomb":"bomba_de_iem",
+"nitro":"nitróglicerina",
+"greek_fire":"fuego_griego",
+"fireball":"bola_de_fuego",
+"rocket":"cohete",
+"cold_bomb":"bomba_de_frio",
+"hot_bomb":"bomba_de_calor",
+"antimatter_bomb":"bomba_antimaterio",
+"party_popper":"aguafiestas",
+"flashbang":"bomba_de_destello",
+"flash":"destello",
+"smoke_grenade":"granada_de_humo",
+"landmine":"mina",
+"armageddon":"armagedón",
+"tesla_coil":"bobina_de_tesla",
+"light_bulb":"foco",
+"shocker":"choquedor",
+"pressure_plate":"placa_de_presión",
+"primordial_soup":"sopa_primordial",
+"molten_slag":"escoria_fundido",
+"molten_dirt":"tierra_fundido",
+"debug":"depurar",
+"prop":"prop",
+"salt_ice":"hielo_de_sal",
+"sugar_ice":"hielo_de_azúcar",
+"seltzer_ice":"hielo_carbonado",
+"dirty_ice":"hielo_sucio",
+"pool_ice":"hielo_clorado",
+"blood_ice":"sangre_congelado",
+"antibody_ice":"anticuerpo_congelado",
+"infection_ice":"infección_congelado",
+"unknown":"desconocido",
+"slime_ice":"limo_congelado",
+"antiice":"antihielo",
+"ammonia_ice":"hielo_de_ammonia",
+"liquid_propane":"propano_líquido",
+"methane_ice":"hielo_methano",
+"molten_brick":"ladrillo_fundido",
+"acid_ice":"acido_congelado",
+"soda_ice":"soda_congelado",
+"molten_steel":"acero_fundido",
+"molten_brass":"latón_fundido",
+"molten_bronze":"bronce_fundido",
+"molten_sterling":"esterlina_fundido",
+"molten_rose_gold":"oro_rosa_fundido",
+"molten_purple_gold":"oro_purpula_fundido",
+"molten_blue_gold":"oro_azúl_fundido",
+"molten_electrum":"electro_fundido",
+"molten_pyrite":"pirita_fundido",
+"broth_ice":"caldo_congelado",
+"frozen_vinegar":"vinagre_congelado",
+"sauce_ice":"salsa_congelado",
+"alcohol_ice":"alcohol_congelado",
+"bleach_ice":"lejía_congelado",
+"chlorine_ice":"cloro_congelado",
+"frozen_ink":"tinta_congelado",
+"tea_ice":"té_congelado",
+"coffee_ice":"café_congelado",
+"hydrogen_ice":"hidrógeno_congelado",
+"oxygen_ice":"oxígeno_congelado",
+"molten_amalgam":"amalgama_fundido",
+"neon_ice":"neón_congelado",
+"cyanide_ice":"ciaruno_congelado",
+"molten_copper_sulfate":"cobre_sulfató_fundido",
+"molten_alga":"aluminio_galio_fundido",
+"molten_metal_scrap":"chatarra_fundido",
+"molten_borax":"bórax_fundido",
+"molten_epsom_salt":"sal_de_epsom_fundido",
+"molten_potassium_salt":"sal_de_potassio_fundido",
"molten_sodium_acetate":"",
"frozen_nitro":"",
"cured_meat": "",
@@ -540,4 +540,4 @@
"blaster": "",
"propane_ice": "",
"molten_caustic_potash": ""
-}
\ No newline at end of file
+}
From 1d09c5e0edf16b28ba0fa1999f0e692f1a40b0a1 Mon Sep 17 00:00:00 2001
From: DoobieRalsei <163950752+DoobieRalsei@users.noreply.github.com>
Date: Tue, 7 May 2024 11:46:54 -0700
Subject: [PATCH 25/38] Removed buggy 096 code
---
mods/scp.js | 13 -------------
1 file changed, 13 deletions(-)
diff --git a/mods/scp.js b/mods/scp.js
index 0b0273ff..0345e2ba 100644
--- a/mods/scp.js
+++ b/mods/scp.js
@@ -913,19 +913,6 @@ elements.shy_head = {
}
}
}
- if (!isEmpty(pixel.x+2, pixel.y, true) && pixelMap[pixel.x+2][pixel.y].element == "head") {
- var target = pixelMap[pixel.x+2][pixel.y];
- if (target.dead) { // If target is dead, ignore
- var target = null;
- }
- else { body.panic += 0.1; }
- }
- else { var target = null }
- if (target.dead) { // If target is dead, ignore
- var target = null;
- body.panic -= 0.1;
- }
-
// homeostasis
if (pixel.temp > 37) { pixel.temp -= 1; }
else if (pixel.temp < 37) { pixel.temp += 1; }
From b1299bd1faa7c0e511ca05414107e3e011b11867 Mon Sep 17 00:00:00 2001
From: DoobieRalsei <163950752+DoobieRalsei@users.noreply.github.com>
Date: Tue, 7 May 2024 11:51:36 -0700
Subject: [PATCH 26/38] Improved 682
---
mods/scp.js | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/mods/scp.js b/mods/scp.js
index 0345e2ba..9fff32a7 100644
--- a/mods/scp.js
+++ b/mods/scp.js
@@ -1061,7 +1061,7 @@ elements.SCP_682 = {
color: ["#424242","#75816B","#4D6B53"],
behavior: [
"M2%0.5|M2%0.3|M2%0.5",
- "M1%10|XX|M1%10",
+ "M2%10|XX|M2%10",
"XX|M1|XX",
],
category: "scp",
@@ -1124,7 +1124,7 @@ elements.mad_682 = {
color: ["#424242","#75816B","#4D6B53"],
behavior: [
"M2%0.5|M2%0.3|M2%0.5",
- "M1%10 AND CH:concrete>dust AND DL:dust|CH:SCP_682%0.3|M1%10 AND CH:concrete>dust AND DL:dust",
+ "M2%10|CH:SCP_682%0.3|M2%10",
"XX|M1|XX",
],
category: "scp",
@@ -1150,8 +1150,8 @@ elements.mad_682 = {
"lead": { elem2 : ["metal_scrap","metal_scrap","radiation"] , chance:0.3 },
"glass": { elem2 : "glass_shard" },
"wood": { elem2 : "sawdust" },
- "concrete": { elem2 : "dust" , chance:0.1 },
- "dust": { elem2 : null , chance:0.1 },
+ "concrete": { elem2 : "dust" , chance:10 },
+ "dust": { elem2 : null , chance:10 },
},
hidden: true,
state: "solid",
From f806e2b5169c2312ad663187da5dd03ca00a3cad Mon Sep 17 00:00:00 2001
From: NecroticPhantom <167430021+NecroticPhantom@users.noreply.github.com>
Date: Wed, 8 May 2024 11:05:22 +0100
Subject: [PATCH 27/38] added drills.js
---
mods/drills.js | 609 +++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 609 insertions(+)
create mode 100644 mods/drills.js
diff --git a/mods/drills.js b/mods/drills.js
new file mode 100644
index 00000000..9cc21fdc
--- /dev/null
+++ b/mods/drills.js
@@ -0,0 +1,609 @@
+/* Made by: Necrotic_Phantom
+ With help from: voidapex11 */
+
+// For change log: "+" = addition, "-" = removal and "~" = change. L, R, U, D corresponds to LEFT, RIGHT, UP and DOWN
+// "committed" means posted current version on github. It is a courtesy and important, especially if you're working on another person's mod at the same time as them, so you don't disrupt each other's work
+
+/*
+===CHANGE LOG===
+ Version: 1.0.0
+@Necrotic_Phantom & @voidapex11
++ steel drill L, R, U & D
++ steel drill missile L, R, U & D
++ diamond drill L, R, U & D
++ diamond drill missile L, R, U & D
++ void drill L, R, U & D
++ void drill missile L, R, U & D
++ drills.js info (drills_info) element to 'mods' category
+~ changed all element colors from gray to individual colors
+~ fixed steel/diamond/void drill missile L, R, U & D drilling errors
+~ fixed steel/diamond/void drill R & steel/diamond/void drill missile R crashing upon border collision
+~ made steel/diamond/void drill missile L, R, U & D explode upon border contact
+~ committed
+*/
+
+/* Future Plans (in approx order):
+~ find error/fix all types of drill_RIGHT crashing game a few seconds after hitting border
++ reverse steel drill L, R, U & D
++ reverse diamond drill L, R, U & D
++ reverse void drill L, R, U & D
++ random steel drill
++ random steel drill missile
++ random reverse steel drill
++ random diamond drill
++ random diamond drill missile
++ random reverse diamond drill
++ random void drill
++ random void drill missile
++ random reverse void drill
++ programmable steel drill
++ programmable steel drill missile
++ programmable reverse steel drill
++ programmable diamond drill
++ programmable diamond drill missile
++ programmable reverse diamond drill
++ programmable void drill
++ programmable void drill missile
++ programmable reverse void drill
++ seeking steel drill
++ seeking steel drill missile
++ seeking reverse steel drill
++ seeking diamond drill
++ seeking diamond drill missile
++ seeking reverse diamond drill
++ seeking void drill
++ seeking void drill missile
++ seeking reverse void drill
++ ricochet drills??? */
+
+drills_mod_desc_Colour = "#000000"
+steel_drill_Colour = "#71797e"
+steel_drill_missile_Colour = ["#71797e", "#ff0000"];
+diamond_drill_Colour = "#03fcec"
+diamond_drill_missile_Colour = ["#03fcec", "#ff0000"];
+void_drill_Colour = "#262626"
+void_drill_missile_Colour = ["#262626", "#ff0000"];
+
+
+
+elements.drills_info = {
+ color: drills_mod_desc_Colour,
+ name: "drills.js_info",
+ category: "Mods",
+ behavior: behaviors.SELFDELETE,
+ maxSize: 1,
+ tool: function(pixel) {},
+ onSelect: function(pixel) {
+ let info1stMod = "The drills.js mod adds different kinds of drills to a new 'drills' category.\n\nMod made by: Necrotic_Phantom. \n With help from: voidapex11."
+ alert(info1stMod)
+ return
+ },
+};
+
+
+
+steel_drill_function = function(pixel, dif_x, dif_y) {
+ dif_x = dif_x-pixel.x
+ dif_y = dif_y-pixel.y
+ if (!outOfBounds(pixel.x+dif_x,pixel.y+dif_y)) {
+ pxl = pixelMap[pixel.x+dif_x][pixel.y+dif_y]
+ if (!isEmpty(pixel.x+dif_x,pixel.y+dif_y)) {
+ if (elements[pxl.element].hardness <= 0.8) {
+ delete pixelMap[pixel.x+dif_x][pixel.y+dif_y];
+ }
+ };
+ tryMove(pixel,pixel.x+dif_x,pixel.y+dif_y);
+ };
+ doDefaults(pixel);
+}
+
+elements.steel_drill_LEFT = {
+ color: steel_drill_Colour,
+ tick: function(pixel) {
+ steel_drill_function(pixel,pixel.x-1,pixel.y);
+ },
+ category: "Drills",
+ breakInto: ["metal_scrap", "steel", "iron", "tin"],
+ tempHigh: 10000,
+ stateHigh: ["molten_steel", "molten_iron", "molten_tin"],
+ density: 10000,
+ hardness: 0.8,
+ conduct: 1,
+ state: "solid",
+}
+
+elements.steel_drill_RIGHT = {
+ color: steel_drill_Colour,
+ tick: function(pixel) {
+ steel_drill_function(pixel,pixel.x+1,pixel.y);
+ },
+ category: "Drills",
+ breakInto: ["metal_scrap", "steel", "iron", "tin"],
+ tempHigh: 10000,
+ stateHigh: ["molten_aluminum", "molten_steel", "molten_iron", "molten_tin"],
+ density: 10000,
+ hardness: 0.8,
+ conduct: 1,
+ state: "solid",
+}
+
+elements.steel_drill_UP = {
+ color: steel_drill_Colour,
+ tick: function(pixel) {
+ steel_drill_function(pixel,pixel.x,pixel.y-1);
+ },
+ category: "Drills",
+ breakInto: ["metal_scrap", "steel", "iron", "tin"],
+ tempHigh: 10000,
+ stateHigh: ["molten_aluminum", "molten_steel", "molten_iron", "molten_tin"],
+ density: 10000,
+ hardness: 0.8,
+ conduct: 1,
+ state: "solid",
+}
+
+elements.steel_drill_DOWN = {
+ color: steel_drill_Colour,
+ tick: function(pixel) {
+ steel_drill_function(pixel,pixel.x,pixel.y+1);
+ },
+ category: "Drills",
+ breakInto: ["metal_scrap", "steel", "iron", "tin"],
+ tempHigh: 10000,
+ stateHigh: ["molten_aluminum", "molten_steel", "molten_iron", "molten_tin"],
+ density: 10000,
+ hardness: 0.8,
+ conduct: 1,
+ state: "solid",
+}
+
+
+
+steel_drill_missile_function = function(pixel, dif_x, dif_y) {
+ dif_x = dif_x-pixel.x
+ dif_y = dif_y-pixel.y
+ if (pixel.die <= 0) {
+ deletePixel(pixel.x, pixel.y)
+ explodeAt(pixel.x, pixel.y, 15);
+ return true
+ };
+ if (!outOfBounds(pixel.x+dif_x,pixel.y+dif_y)) {
+ pxl = pixelMap[pixel.x+dif_x][pixel.y+dif_y]
+ if (!isEmpty(pixel.x+dif_x,pixel.y+dif_y)) {
+ pixel.primed = true
+ if (elements[pxl.element].hardness <= 0.8) {
+ delete pixelMap[pixel.x+dif_x][pixel.y+dif_y];
+ }
+ }
+ else if (pixel.primed) {
+ pixel.die--
+ return true
+ };
+ tryMove(pixel,pixel.x+dif_x,pixel.y+dif_y);
+ }
+ else if (outOfBounds(pixel.x+dif_x, pixel.y+dif_y)) {
+ deletePixel(pixel.x, pixel.y)
+ explodeAt(pixel.x, pixel.y, 15);
+ };
+ doDefaults(pixel);
+}
+
+elements.steel_drill_missile_LEFT = {
+ color: steel_drill_missile_Colour,
+ properties: {
+ die: 5,
+ primed: false,
+ },
+ tick: function(pixel) {
+ steel_drill_missile_function(pixel,pixel.x-1,pixel.y);
+ },
+ category: "Drills",
+ density: 10000,
+ hardness: 0.8,
+ conduct: 1,
+ state: "solid",
+ maxSize: 1,
+}
+
+elements.steel_drill_missile_RIGHT = {
+ color: steel_drill_missile_Colour,
+ properties: {
+ die: 5,
+ primed: false,
+ },
+ tick: function(pixel) {
+ steel_drill_missile_function(pixel,pixel.x+1,pixel.y);
+ },
+ category: "Drills",
+ density: 10000,
+ hardness: 0.8,
+ conduct: 1,
+ state: "solid",
+ maxSize: 1,
+}
+
+elements.steel_drill_missile_UP = {
+ color: steel_drill_missile_Colour,
+ properties: {
+ die: 5,
+ primed: false,
+ },
+ tick: function(pixel) {
+ steel_drill_missile_function(pixel,pixel.x,pixel.y-1);
+ },
+ category: "Drills",
+ density: 10000,
+ hardness: 0.8,
+ conduct: 1,
+ state: "solid",
+ maxSize: 1,
+}
+
+elements.steel_drill_missile_DOWN = {
+ color: steel_drill_missile_Colour,
+ properties: {
+ die: 5,
+ primed: false,
+ },
+ tick: function(pixel) {
+ steel_drill_missile_function(pixel,pixel.x,pixel.y+1);
+ },
+ category: "Drills",
+ density: 10000,
+ hardness: 0.8,
+ conduct: 1,
+ state: "solid",
+ maxSize: 1,
+}
+
+
+
+diamond_drill_function = function(pixel, dif_x, dif_y) {
+ dif_x = dif_x-pixel.x
+ dif_y = dif_y-pixel.y
+ if (!outOfBounds(pixel.x+dif_x,pixel.y+dif_y)) {
+ pxl = pixelMap[pixel.x+dif_x][pixel.y+dif_y]
+ if (!isEmpty(pixel.x+dif_x,pixel.y+dif_y)) {
+ if (elements[pxl.element].hardness <= 0.99) {
+ delete pixelMap[pixel.x+dif_x][pixel.y+dif_y];
+ }
+ };
+ tryMove(pixel,pixel.x+dif_x,pixel.y+dif_y);
+ };
+ doDefaults(pixel);
+}
+
+elements.diamond_drill_LEFT = {
+ color: diamond_drill_Colour,
+ tick: function(pixel) {
+ diamond_drill_function(pixel,pixel.x-1,pixel.y);
+ },
+ category: "Drills",
+ breakInto: ["metal_scrap", "diamond", "iron", "tin"],
+ tempHigh: 10000,
+ stateHigh: ["molten_aluminum", "carbon_dioxide", "molten_iron", "molten_tin"],
+ density: 10000,
+ hardness: 0.99,
+ conduct: 1,
+ state: "solid",
+}
+
+elements.diamond_drill_RIGHT = {
+ color: diamond_drill_Colour,
+ tick: function(pixel) {
+ diamond_drill_function(pixel,pixel.x+1,pixel.y);
+ },
+ category: "Drills",
+ breakInto: ["metal_scrap", "diamond", "iron", "tin"],
+ tempHigh: 10000,
+ stateHigh: ["molten_aluminum", "carbon_dioxide", "molten_iron", "molten_tin"],
+ density: 10000,
+ hardness: 0.99,
+ conduct: 1,
+ state: "solid",
+}
+
+elements.diamond_drill_UP = {
+ color: diamond_drill_Colour,
+ tick: function(pixel) {
+ diamond_drill_function(pixel,pixel.x,pixel.y-1);
+ },
+ category: "Drills",
+ breakInto: ["metal_scrap", "diamond", "iron", "tin"],
+ tempHigh: 10000,
+ stateHigh: ["molten_aluminum", "carbon_dioxide", "molten_iron", "molten_tin"],
+ density: 10000,
+ hardness: 0.99,
+ conduct: 1,
+ state: "solid",
+}
+
+elements.diamond_drill_DOWN = {
+ color: diamond_drill_Colour,
+ tick: function(pixel) {
+ diamond_drill_function(pixel,pixel.x,pixel.y+1);
+ },
+ category: "Drills",
+ breakInto: ["metal_scrap", "diamond", "iron", "tin"],
+ tempHigh: 10000,
+ stateHigh: ["molten_aluminum", "carbon_dioxide", "molten_iron", "molten_tin"],
+ density: 10000,
+ hardness: 0.99,
+ conduct: 1,
+ state: "solid",
+}
+
+
+
+diamond_drill_missile_function = function(pixel, dif_x, dif_y) {
+ dif_x = dif_x-pixel.x
+ dif_y = dif_y-pixel.y
+ if (pixel.die <= 0) {
+ deletePixel(pixel.x, pixel.y)
+ explodeAt(pixel.x, pixel.y, 15);
+ return true
+ };
+ if (!outOfBounds(pixel.x+dif_x,pixel.y+dif_y)) {
+ pxl = pixelMap[pixel.x+dif_x][pixel.y+dif_y]
+ if (!isEmpty(pixel.x+dif_x,pixel.y+dif_y)) {
+ pixel.primed = true
+ if (elements[pxl.element].hardness <= 0.99) {
+ delete pixelMap[pixel.x+dif_x][pixel.y+dif_y];
+ }
+ }
+ else if (pixel.primed) {
+ pixel.die--
+ return true
+ };
+ tryMove(pixel,pixel.x+dif_x,pixel.y+dif_y);
+ }
+ else if (outOfBounds(pixel.x+dif_x, pixel.y+dif_y)) {
+ deletePixel(pixel.x, pixel.y)
+ explodeAt(pixel.x, pixel.y, 15);
+ };
+ doDefaults(pixel);
+}
+
+elements.diamond_drill_missile_LEFT = {
+ color: diamond_drill_missile_Colour,
+ properties: {
+ die: 5,
+ primed: false,
+ },
+ tick: function(pixel) {
+ diamond_drill_missile_function(pixel,pixel.x-1,pixel.y);
+ },
+ category: "Drills",
+ density: 10000,
+ hardness: 0.99,
+ conduct: 1,
+ state: "solid",
+ maxSize: 1,
+}
+
+elements.diamond_drill_missile_RIGHT = {
+ color: diamond_drill_missile_Colour,
+ properties: {
+ die: 5,
+ primed: false,
+ },
+ tick: function(pixel) {
+ diamond_drill_missile_function(pixel,pixel.x+1,pixel.y);
+ },
+ category: "Drills",
+ density: 10000,
+ hardness: 0.99,
+ conduct: 1,
+ state: "solid",
+ maxSize: 1,
+}
+
+elements.diamond_drill_missile_UP = {
+ color: diamond_drill_missile_Colour,
+ properties: {
+ die: 5,
+ primed: false,
+ },
+ tick: function(pixel) {
+ diamond_drill_missile_function(pixel,pixel.x,pixel.y-1);
+ },
+ category: "Drills",
+ density: 10000,
+ hardness: 0.99,
+ conduct: 1,
+ state: "solid",
+ maxSize: 1,
+}
+
+elements.diamond_drill_missile_DOWN = {
+ color: diamond_drill_missile_Colour,
+ properties: {
+ die: 5,
+ primed: false,
+ },
+ tick: function(pixel) {
+ diamond_drill_missile_function(pixel,pixel.x,pixel.y+1);
+ },
+ category: "Drills",
+ density: 10000,
+ hardness: 0.99,
+ conduct: 1,
+ state: "solid",
+ maxSize: 1,
+}
+
+
+
+void_drill_function = function(pixel, dif_x, dif_y) {
+ dif_x = dif_x-pixel.x
+ dif_y = dif_y-pixel.y
+ if (!outOfBounds(pixel.x+dif_x,pixel.y+dif_y)) {
+ pxl = pixelMap[pixel.x+dif_x][pixel.y+dif_y]
+ if (!isEmpty(pixel.x+dif_x,pixel.y+dif_y)) {
+ if (elements[pxl.element].hardness <= 1) {
+ delete pixelMap[pixel.x+dif_x][pixel.y+dif_y];
+ }
+ };
+ tryMove(pixel,pixel.x+dif_x,pixel.y+dif_y);
+ };
+ doDefaults(pixel);
+}
+
+elements.void_drill_LEFT = {
+ color: void_drill_Colour,
+ tick: function(pixel) {
+ void_drill_function(pixel,pixel.x-1,pixel.y);
+ },
+ category: "Drills",
+ breakInto: ["metal_scrap", "void", "iron", "tin"],
+ tempHigh: 10000,
+ stateHigh: ["molten_aluminum", "void", "molten_iron", "molten_tin"],
+ density: 10000,
+ hardness: 1,
+ conduct: 1,
+ state: "solid",
+}
+
+elements.void_drill_RIGHT = {
+ color: void_drill_Colour,
+ tick: function(pixel) {
+ void_drill_function(pixel,pixel.x+1,pixel.y);
+ },
+ category: "Drills",
+ breakInto: ["metal_scrap", "void", "iron", "tin"],
+ tempHigh: 10000,
+ stateHigh: ["molten_aluminum", "void", "molten_iron", "molten_tin"],
+ density: 10000,
+ hardness: 1,
+ conduct: 1,
+ state: "solid",
+}
+
+elements.void_drill_UP = {
+ color: void_drill_Colour,
+ tick: function(pixel) {
+ void_drill_function(pixel,pixel.x,pixel.y-1);
+ },
+ category: "Drills",
+ breakInto: ["metal_scrap", "void", "iron", "tin"],
+ tempHigh: 10000,
+ stateHigh: ["molten_aluminum", "void", "molten_iron", "molten_tin"],
+ density: 10000,
+ hardness: 1,
+ conduct: 1,
+ state: "solid",
+}
+
+elements.void_drill_DOWN = {
+ color: void_drill_Colour,
+ tick: function(pixel) {
+ void_drill_function(pixel,pixel.x,pixel.y+1);
+ },
+ category: "Drills",
+ breakInto: ["metal_scrap", "void", "iron", "tin"],
+ tempHigh: 10000,
+ stateHigh: ["molten_aluminum", "void", "molten_iron", "molten_tin"],
+ density: 10000,
+ hardness: 1,
+ conduct: 1,
+ state: "solid",
+}
+
+
+
+void_drill_missile_function = function(pixel, dif_x, dif_y) {
+ dif_x = dif_x-pixel.x
+ dif_y = dif_y-pixel.y
+ if (pixel.die <= 0) {
+ deletePixel(pixel.x, pixel.y)
+ explodeAt(pixel.x, pixel.y, 15);
+ return true
+ };
+ if (!outOfBounds(pixel.x+dif_x,pixel.y+dif_y)) {
+ pxl = pixelMap[pixel.x+dif_x][pixel.y+dif_y]
+ if (!isEmpty(pixel.x+dif_x,pixel.y+dif_y)) {
+ pixel.primed = true
+ if (elements[pxl.element].hardness <= 1) {
+ delete pixelMap[pixel.x+dif_x][pixel.y+dif_y];
+ }
+ }
+ else if (pixel.primed) {
+ pixel.die--
+ return true
+ };
+ tryMove(pixel,pixel.x+dif_x,pixel.y+dif_y);
+ }
+ else if (outOfBounds(pixel.x+dif_x, pixel.y+dif_y)) {
+ deletePixel(pixel.x, pixel.y)
+ explodeAt(pixel.x, pixel.y, 15);
+ };
+ doDefaults(pixel);
+}
+
+elements.void_drill_missile_LEFT = {
+ color: void_drill_missile_Colour,
+ properties: {
+ die: 5,
+ primed: false,
+ },
+ tick: function(pixel) {
+ void_drill_missile_function(pixel,pixel.x-1,pixel.y);
+ },
+ category: "Drills",
+ density: 10000,
+ hardness: 1,
+ conduct: 1,
+ state: "solid",
+ maxSize: 1,
+}
+
+elements.void_drill_missile_RIGHT = {
+ color: void_drill_missile_Colour,
+ properties: {
+ die: 5,
+ primed: false,
+ },
+ tick: function(pixel) {
+ void_drill_missile_function(pixel,pixel.x+1,pixel.y);
+ },
+ category: "Drills",
+ density: 10000,
+ hardness: 1,
+ conduct: 1,
+ state: "solid",
+ maxSize: 1,
+}
+
+elements.void_drill_missile_UP = {
+ color: void_drill_missile_Colour,
+ properties: {
+ die: 5,
+ primed: false,
+ },
+ tick: function(pixel) {
+ void_drill_missile_function(pixel,pixel.x,pixel.y-1);
+ },
+ category: "Drills",
+ density: 10000,
+ hardness: 1,
+ conduct: 1,
+ state: "solid",
+ maxSize: 1,
+}
+
+elements.void_drill_missile_DOWN = {
+ color: void_drill_missile_Colour,
+ properties: {
+ die: 5,
+ primed: false,
+ },
+ tick: function(pixel) {
+ void_drill_missile_function(pixel,pixel.x,pixel.y+1);
+ },
+ category: "Drills",
+ density: 10000,
+ hardness: 1,
+ conduct: 1,
+ state: "solid",
+ maxSize: 1,
+}
\ No newline at end of file
From 7a98c75f36ad1e18914065cc769c8d91d45230df Mon Sep 17 00:00:00 2001
From: DoobieRalsei <163950752+DoobieRalsei@users.noreply.github.com>
Date: Wed, 8 May 2024 13:27:25 -0700
Subject: [PATCH 28/38] 008 can infect skin
---
mods/scp.js | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 68 insertions(+), 2 deletions(-)
diff --git a/mods/scp.js b/mods/scp.js
index 9fff32a7..db998d13 100644
--- a/mods/scp.js
+++ b/mods/scp.js
@@ -4,6 +4,9 @@ window.addEventListener("load", () => {
window.addEventListener("load", () => {
document.getElementById("elementButton-mask_body")?.remove()
})
+window.addEventListener("load", () => {
+ document.getElementById("elementButton-infected_skin")?.remove()
+})
window.addEventListener("load", () => {
document.getElementById("elementButton-infected_meat")?.remove()
})
@@ -100,11 +103,73 @@ elements.frozen_008 = {
state: "solid",
density: 95,
},
-
+
+elements.infected_skin = {
+ color: ["#11111f","#75816B","#4D6B53"],
+ singleColor: true,
+ behavior: [
+ "XX|CR:stench,stench,stench,SCP_008,fly%0.15 AND CH:skin,meat>infected_skin,infected_meat%1|XX",
+ "CH:skin,meat>infected_skin,infected_meat%1|XX|CH:skin,meat>infected_skin,infected_meat%1",
+ "XX|CH:skin,meat>infected_skin,infected_meat%1|XX",
+ ],
+ tick: function(pixel) {
+ if (pixel.temp > 40 && Math.random() < 0.003) {
+ for (var i = 0; i < adjacentCoords.length; i++) {
+ var coords = adjacentCoords[i];
+ var x = pixel.x + coords[0];
+ var y = pixel.y + coords[1];
+ if (isEmpty(x,y)) {
+ pixel.temp -= 20;
+ createPixel("infection",x,y)
+ break;
+ }
+ }
+ }
+ if (pixel.temp < 36 && Math.random() < 0.1) {
+ pixel.temp += 1;
+ }
+ doDefaults(pixel);
+ },
+ reactions: {
+ "cell": { chance:0.01, func:function(pixel1,pixel2){
+ changePixel(pixel2,"infected_skin");
+ pixel2.color = pixelColorPick(pixel2,RGBToHex(pixel1.color.match(/\d+/g)))
+ if (pixel1.origColor) { pixel2.origColor = pixel1.origColor }
+ } },
+ "acid": { elem1:"infection" },
+ "soap": { elem1:null, elem2:null, chance:0.005 },
+ "light": { stain1:"#825043" },
+ "poison": { stain1:"#cc564b" },
+ "poison_gas": { stain1:"#cc564b" },
+ "infection": { stain1:"#cc564b" },
+ "pollen": { stain1:"#cc564b" },
+ "dust": { stain1:"#cc564b" },
+ "flea": { stain1:"#cc564b" },
+ "mushroom_spore": { stain1:"#cc564b" },
+ "mushroom_stalk": { stain1:"#cc564b" },
+ "chlorine": { stain1:"#cc564b" },
+ "quicklime": { stain1:"#cc564b" },
+ },
+ category:"solids",
+ breakInto: [null,null,"SCP_008","infection","dust"],
+ temp: 37,
+ tempHigh: 200,
+ stateHigh: ["cooked_meat","cooked_meat","cooked_meat","SCP_008"],
+ tempLow: -18,
+ stateLow: "frozen_008_meat",
+ burn:5,
+ burnTime:400,
+ burnInto: ["cooked_meat","cooked_meat","SCP_008"],
+ state: "solid",
+ density: 1010,
+ conduct: 0.04,
+ movable: false,
+},
+
elements.infected_meat = {
color: ["#b8b165","#b89765"],
behavior: [
- "XX|CR:plague,stench,stench,SCP_008,fly%0.25 AND CH:rotten_meat,meat>infected_meat%1|XX",
+ "XX|CR:stench,stench,stench,SCP_008,fly%0.25 AND CH:rotten_meat,meat>infected_meat%1|XX",
"SP%99 AND CH:rotten_meat,meat>infected_meat%1|XX|SP%99 AND CH:rotten_meat,meat>infected_meat%1",
"XX|M1 AND CH:rotten_meat,meat>infected_meat%1|XX",
],
@@ -466,6 +531,7 @@ elements.REDACTED = {
],
category: "scp",
state: "solid",
+ movable: false,
},
elements.plague_doctor = {
From eb5a985e5fd092afaa0c5fb04c5272d6e52fd208 Mon Sep 17 00:00:00 2001
From: Tisquares <129683151+Tisquares@users.noreply.github.com>
Date: Wed, 8 May 2024 16:36:35 -0500
Subject: [PATCH 29/38] Version 2.0 of Community Desserts
Added more items, changed/optimized some code, added new functions
---
mods/community_desserts.js | 739 +++++++++++++++++++++++++++++++++----
1 file changed, 672 insertions(+), 67 deletions(-)
diff --git a/mods/community_desserts.js b/mods/community_desserts.js
index b4ae1e81..d4e4e0c0 100644
--- a/mods/community_desserts.js
+++ b/mods/community_desserts.js
@@ -5,37 +5,50 @@
*
* Got questions? Contact tisqbisque on Discord!
*
- * This version: 1.1
+ * This version: 2.0
*/
+// Other mods can add to this list [:
+eListAdd("FRUITS",["apple","banana","blackberry","blueberry","grape","kiwi","mango","orange","peach","plum","pomegranate","rambutan","strawberry"]);
+function fruitLength() {
+ return eLists.FRUITS.length;
+}
// Dulce de leche items
elements.dulce_de_leche = {
alias: "manjar",
- color: ["#c56600","#f7a204","#ca6400","#893604"],
+ color: ["#c56600", "#f7a204", "#ca6400", "#893604"],
category: "Community",
state: "liquid",
behavior: behaviors.LIQUID,
reactions: {
- "cream_cheese": { elem1:"dulce_de_leche", elem2:null, color1:["#DFAB73","#fbcc75","#e2aa73","#be9075"], oneway:true }, // for recipe accuracy :3
+ "cream_cheese": { elem1: "dulce_de_leche", elem2: null, color1: ["#DFAB73", "#fbcc75", "#e2aa73", "#be9075"], oneway: true }, // for recipe accuracy :3
},
tempLow: -20,
stateLow: "candy",
tempHigh: 250,
- stateHigh: ["fragrance","smoke","smoke"],
+ stateHigh: ["fragrance", "smoke", "smoke"],
viscosity: 500,
stain: 0.02,
density: 1284.93,
hidden: true,
isFood: true,
- desc: "Added in the first version of the mod.\nMade by heating Sweetened Condensed Milk at 175°C+.\nFrom undexconocidox_26419.\n"
+ desc: "Added in version 1.0 of Community Desserts.\nMade by heating Sweetened Condensed Milk at 175°C+.\nFrom undexconocidox_26419.\n"
}
elements.sweetened_condensed_milk = {
- color: ["#ffe9ba","#fbd396","#fde2a9"],
+ alias: "sweet_milk",
+ color: ["#ffe9ba", "#fbd396", "#fde2a9"],
category: "Community",
state: "liquid",
behavior: behaviors.LIQUID,
+ onMix: function(cmilk, jamcheck) {
+ if(shiftDown && elements[jamcheck.element].id === elements.jam.id && Math.random() < 0.06) {
+ changePixel(cmilk,"mousse");
+ pixelMap[cmilk.x][cmilk.y].color = shiftColor(rgbToHex(jamcheck.color),"#272727","add");
+ deletePixel(jamcheck.x,jamcheck.y);
+ }
+ },
tempLow: 0,
- stateLow: ["ice_cream","sugar"],
+ stateLow: ["ice_cream", "sugar"],
tempHigh: 175,
stateHigh: "dulce_de_leche",
viscosity: 5,
@@ -43,29 +56,29 @@ elements.sweetened_condensed_milk = {
density: 1050.83,
hidden: true,
isFood: true,
- desc: "Added in the first version of the mod.\nMade by mixing Milk and Sugar at 85°C+.\n",
+ desc: "Added in version 1.0 of Community Desserts.\nMade by mixing Milk and Sugar at 85°C+.\n",
}
// Chocotorta items
elements.cream_cheese = {
- color: ["#ebe9ea","#e4dfdd","#eeeeee"],
+ color: ["#ebe9ea", "#e4dfdd", "#eeeeee"],
category: "Community",
state: "solid",
behavior: behaviors.STURDYPOWDER,
//reactions: {
- // For future use
+ // For future use
//},
tempHigh: 65,
stateHigh: "melted_cheese",
- stateHighColor: ["#fbffff","#f6f6f6"],
+ stateHighColor: ["#fbffff", "#f6f6f6"],
hardness: 0.01,
density: 980.61,
hidden: true,
isFood: true,
- desc: "Added in the first version of the mod.\nMade by mixing Acid with Milk or Cream.\n",
+ desc: "Added in version 1.0 of Community Desserts.\nMade by mixing Acid with Milk or Cream at 90°C-.\n",
}
elements.cocoa_bean = {
- color: ["#e16f51","#e28e67","#e18550","#84574d"],
+ color: ["#e16f51", "#e28e67", "#e18550", "#84574d"],
category: "Community",
state: "solid",
behavior: behaviors.POWDER,
@@ -78,17 +91,17 @@ elements.cocoa_bean = {
stateLow: "frozen_plant",
// not hidden by default
// not food don't eat it
- desc: "Added in the first version of the mod.\n",
+ desc: "Added in version 1.0 of Community Desserts.\n",
}
elements.cocoa_powder = {
- color: ["#855344","#6d4c41","#40271d"],
+ color: ["#855344", "#6d4c41", "#40271d"],
category: "Community",
state: "solid",
behavior: behaviors.POWDER,
- onMix: function(powder, doughcheck) {
+ onMix: function (powder, doughcheck) {
if (elements[doughcheck.element].id == elements.dough.id && shiftDown && Math.random() < 0.25) {
- deletePixel(powder.x,powder.y);
- changePixel(doughcheck,"chocolate_biscuit_dough");
+ deletePixel(powder.x, powder.y);
+ changePixel(doughcheck, "chocolate_biscuit_dough");
}
},
density: 363.5,
@@ -96,7 +109,7 @@ elements.cocoa_powder = {
stateHigh: "smoke",
hidden: true,
isFood: true,
- desc: "Added in the first version of the mod.\nMade by Smashing Cocoa Bean.\n",
+ desc: "Added in version 1.0 of Community Desserts.\nMade by Smashing Cocoa Bean.\n",
}
elements.chocolate_biscuit_dough = {
color: "#623727",
@@ -111,7 +124,7 @@ elements.chocolate_biscuit_dough = {
density: 526.9,
isFood: true,
hidden: true,
- desc: "Added in the first version of the mod.\nMade by hard mixing Cocoa Powder with Dough.\n",
+ desc: "Added in version 1.0 of Community Desserts.\nMade by hard mixing Cocoa Powder with Dough.\n",
}
elements.chocolate_biscuit = {
color: "#864B36",
@@ -119,34 +132,34 @@ elements.chocolate_biscuit = {
state: "solid",
behavior: behaviors.STURDYPOWDER,
breakInto: "crumb",
- breakIntoColor: ["#af8264","#b28461","#aa7852","#a8744b"],
+ breakIntoColor: ["#af8264", "#b28461", "#aa7852", "#a8744b"],
tempHigh: 232.2,
- stateHigh: ["smoke","smoke","smoke","ash"],
+ stateHigh: ["smoke", "smoke", "smoke", "ash"],
density: 233.96,
isFood: true,
hidden: true,
- desc: "Added in the first version of the mod.\nMade by cooking Choco Biscuit Dough at 94°C+.\nCan be layered with other items to make chocotorta, from undexconocidox_26419.\n",
+ desc: "Added in version 1.0 of Community Desserts.\nMade by cooking Choco Biscuit Dough at 94°C+.\nCan be layered with other items to make chocotorta, from undexconocidox_26419.\n",
}
// Haupia items
elements.coconut = {
- color: ["#793b1e","#995c31","#5f3015"],
+ color: ["#793b1e", "#995c31", "#5f3015"],
category: "Community",
state: "solid",
behavior: behaviors.POWDER,
- breakInto: ["coconut_milk","tinder"],
+ breakInto: ["coconut_milk", "tinder"],
tempHigh: 225,
- stateHigh: ["steam","ash","smoke"],
+ stateHigh: ["steam", "ash", "smoke"],
density: 822,
- desc: "Added in the first version of the mod.\n",
+ desc: "Added in version 1.0 of Community Desserts.\n",
}
elements.coconut_milk = {
- color: ["#f3f3f3","#e4ddcb","#f8f8f8"],
+ color: ["#f3f3f3", "#e4ddcb", "#f8f8f8"],
category: "Community",
state: "liquid",
behavior: behaviors.LIQUID,
reactions: {
- "sugar": { elem1:null, elem2:"haupia_mix", tempMin:90 },
+ "sugar": { elem1: null, elem2: "haupia_mix", tempMin: 90 },
},
tempHigh: 102,
stateHigh: "steam",
@@ -156,10 +169,10 @@ elements.coconut_milk = {
density: 1031.33,
hidden: true,
isFood: true,
- desc: "Added in the first version of the mod.\nMade by smashing Coconut.\n",
+ desc: "Added in version 1.0 of Community Desserts.\nMade by smashing Coconut.\n",
}
elements.haupia_mix = {
- color: ["#f3f3f3","#e4ddcb","#f8f8f8"],
+ color: ["#f3f3f3", "#e4ddcb", "#f8f8f8"],
category: "Community",
state: "liquid",
behavior: behaviors.LIQUID,
@@ -170,55 +183,647 @@ elements.haupia_mix = {
viscosity: 2.3,
density: 1242.67,
hidden: true,
- desc: "Added in the first version of the mod.\nMade by mixing Coconut Milk and Sugar at 90°C+.\n",
+ desc: "Added in version 1.0 of Community Desserts.\nMade by mixing Coconut Milk and Sugar at 90°C+.\n",
}
elements.haupia = {
- color: ["#ffffff","#f8f8f8","#f7f9f8"],
+ color: ["#ffffff", "#f8f8f8", "#f7f9f8"],
category: "Community",
state: "solid",
behavior: behaviors.SUPPORT,
tempHigh: 105,
- stateHigh: ["steam","fragrance"],
+ stateHigh: ["steam", "fragrance"],
density: 1300,
hidden: true,
isFood: true,
- desc: "Added in the first version of the mod.\nMade by cooling Haupia Mix at 3°C-.\nFrom tisqbisque.\n"
+ desc: "Added in version 1.0 of Community Desserts.\nMade by cooling Haupia Mix at 3°C-.\nFrom tisqbisque.\n"
+}
+
+// Pie crust items
+elements.pie_crust_batter = {
+ alias: "pie_batter",
+ color: ["#efdbae", "#ffe6ab", "#eacb88"],
+ category: "Community",
+ state: "solid",
+ behavior: behaviors.STURDYPOWDER,
+ tempHigh: 180,
+ stateHigh: "pie_crust",
+ density: 233.96,
+ isFood: true,
+ hidden: true,
+ desc: "Added in version 2.0 of Community Desserts.\nMade by mixing Dough and Butter.\n",
+}
+elements.pie_crust = {
+ color: ["#c18d45", "#b07f3c", "#d0a352", "#b27f3a"],
+ category: "Community",
+ state: "solid",
+ behavior: behaviors.STURDYPOWDER,
+ breakInto: "crumb",
+ breakIntoColor: ["#af8264", "#b28461", "#aa7852", "#a8744b"],
+ tempHigh: 232.2,
+ stateHigh: ["smoke", "smoke", "smoke", "ash"],
+ density: 233.96,
+ isFood: true,
+ hidden: true,
+ desc: "Added in version 2.0 of Community Desserts.\nMade by cooking Pie Crust Batter at 180°C+.\n",
+}
+
+// Jam and fruit items
+elements.jam = {
+ color: ["#e14a4a","#f64040","#e72225"],
+ category: "Community",
+ state: "liquid",
+ behavior: behaviors.LIQUID,
+ tick: function (pixel) {
+ var madeJelly = false;
+ // Check left, right, up, down from jam pixel..
+ if(pixel.temp >= 95) {
+ if(Math.random() < 0.05 && pixel.x-1 !== 0) {
+ if (!isEmpty(pixel.x-1,pixel.y) && pixelMap[pixel.x-1][pixel.y].element === "water") {
+ changePixel(pixelMap[pixel.x-1][pixel.y],"jelly");
+ pixelMap[pixel.x-1][pixel.y].color = shiftColor(rgbToHex(pixel.color),"#272727","sub");
+ madeJelly = true;
+ };
+ };
+ if(Math.random() < 0.05 && pixel.x+1 !== width) {
+ if (!isEmpty(pixel.x+1,pixel.y) && pixelMap[pixel.x+1][pixel.y].element === "water") {
+ changePixel(pixelMap[pixel.x+1][pixel.y],"jelly");
+ pixelMap[pixel.x+1][pixel.y].color = shiftColor(rgbToHex(pixel.color),"#272727","sub");
+ madeJelly = true;
+ };
+ };
+ if(Math.random() < 0.05 && pixel.y-1 !== 0) {
+ if (!isEmpty(pixel.x,pixel.y-1) && pixelMap[pixel.x][pixel.y-1].element === "water") {
+ changePixel(pixelMap[pixel.x][pixel.y-1],"jelly");
+ pixelMap[pixel.x][pixel.y-1].color = shiftColor(rgbToHex(pixel.color),"#272727","sub");
+ madeJelly = true;
+ };
+ };
+ if(Math.random() < 0.05 && pixel.y+1 !== height) {
+ if (!isEmpty(pixel.x,pixel.y+1) && pixelMap[pixel.x][pixel.y+1].element === "water") {
+ changePixel(pixelMap[pixel.x][pixel.y+1],"jelly");
+ pixelMap[pixel.x][pixel.y+1].color = shiftColor(rgbToHex(pixel.color),"#272727","sub");
+ madeJelly = true;
+ };
+ };
+ if(madeJelly) {
+ deletePixel(pixel.x,pixel.y);
+ }
+ }
+ },
+ tempHigh: 160,
+ stateHigh: ["smoke", "smoke", "sugar"],
+ tempLow: -5,
+ stateLowName: "frozen_jam",
+ stateLowColorMultiplier: 1.1,
+ viscosity: 200000,
+ stain: 0.3,
+ density: 1333.5,
+ isFood: true,
+ hidden: true,
+ desc: "Added in version 2.0 of Community Desserts.\nMade by smashing a fruit.\n",
+}
+elements.frozen_jam = {
+ stateHighColorMultiplier: 0.91,
+}
+elements.fruit_seed = { // similar to pinecone
+ color: ["#5c3333","#472727","#311b1b"],
+ tick: function(pixel) {
+ if (!tryMove(pixel,pixel.x,pixel.y+1) && pixelTicks-pixel.start > 50) {
+ if (pixel.h === undefined) { // set to even number between 8 and 26
+ pixel.h = Math.floor(Math.random()*9)*2+8;
+ pixel.lh = pixel.h;
+ }
+ 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 && (eLists.SOIL.indexOf(dirtPixel.element) !== -1 || dirtPixel.element === "grass")) {
+ changePixel(dirtPixel,"root");
+ }
+ }
+ if (isEmpty(pixel.x,pixel.y-1) && tryMove(pixel,pixel.x,pixel.y-1)) {
+ createPixel("wood",pixel.x,pixel.y+1);
+ pixel.h --;
+ }
+ }
+ else if (pixel.h === 0) {
+ changePixel(pixel,"fruit_tree");
+ pixelMap[pixel.x][pixel.y].h = pixel.lh;
+ }
+ }
+ doDefaults(pixel);
+ },
+ tempHigh: 500,
+ stateHigh: "wood",
+ burn: 5,
+ burnTime: 100,
+ category: "Community",
+ state: "solid",
+ density: 1500,
+ cooldown: defaultCooldown,
+ seed: true,
+ desc: "Added in version 2.0 of Community Desserts.\nGrows into Fruit Tree.\n"
+}
+elements.fruit_tree = { // like sapling
+ color: ["#007a00","#0a910a","#036903"],
+ tick: function (pixel) {
+ if (pixel.h > 0 && pixelTicks % (50+pixel.h) === 0) {
+ // extend to the left and right, giving the next h-1
+ // The taller the tree, the longer the umbrella
+ if (isEmpty(pixel.x-1,pixel.y)) {
+ createPixel("fruit_tree",pixel.x-1,pixel.y);
+ pixelMap[pixel.x-1][pixel.y].h = pixel.h-2;
+ }
+ if (isEmpty(pixel.x+1,pixel.y)) {
+ createPixel("fruit_tree",pixel.x+1,pixel.y);
+ pixelMap[pixel.x+1][pixel.y].h = pixel.h-2;
+ }
+ if (isEmpty(pixel.x,pixel.y-1)) {
+ createPixel("fruit_tree",pixel.x,pixel.y-1);
+ }
+ }
+ else if(isEmpty(pixel.x,pixel.y+1) && Math.random() < 0.0005 ) {
+ createPixel(eLists.FRUITS[Math.floor(Math.random()*fruitLength())],pixel.x,pixel.y+1);
+ }
+ 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: "Community",
+ tempHigh: 100,
+ stateHigh: "dead_plant",
+ burn:45,
+ burnTime:75,
+ burnInto: ["dead_plant","dead_plant","dead_plant","dead_plant","fruit_seed"],
+ breakInto: ["dead_plant","dead_plant","dead_plant","dirt","sap"],
+ state: "solid",
+ density: 1050,
+ seed: "fruit_seed",
+ hidden: true,
+ movable: false,
+ desc: "Added in version 2.0 of Community Desserts.\nMay drop a random fruit. Current # of fruits: " + (fruitLength()-1) +".\n",
+}
+elements.apple = {
+ color: ["#c6de70","#efdc5c","#c75833","#bd3838"],
+ category: "Community",
+ state: "solid",
+ behavior: behaviors.POWDER,
+ reactions: {
+ "rock": { elem1:"juice", chance:0.1, color1:"#f5cb40" },
+ "concrete": { elem1:"juice", chance:0.1, color1:"#f5cb40" },
+ "basalt": { elem1:"juice", chance:0.1, color1:"#f5cb40" },
+ "limestone": { elem1:"juice", chance:0.1, color1:"#f5cb40" },
+ "tuff": { elem1:"juice", chance:0.1, color1:"#f5cb40" },
+ "acid": { elem1:"juice", color1:"#f5cb40" },
+ "acid_gas": { elem1:"juice", color1:"#f5cb40" },
+ },
+ breakInto: "jam",
+ breakIntoColor: ["#ddae16","#fdcd53","#fed75e","#e9b429"],
+ tempHigh: 256,
+ stateHigh: ["steam", "sugar"],
+ density: 460.72,
+ isFood: true,
+ hidden: true,
+ desc: "Added in version 2.0 of Community Desserts.\n"
+}
+elements.banana = {
+ color: ["#f8e662","#ffe312","#fee402","#fed601"],
+ category: "Community",
+ state: "solid",
+ behavior: behaviors.POWDER,
+ reactions: {
+ "rock": { elem1:"juice", chance:0.1, color1:"#fae7b5" },
+ "concrete": { elem1:"juice", chance:0.1, color1:"#fae7b5" },
+ "basalt": { elem1:"juice", chance:0.1, color1:"#fae7b5" },
+ "limestone": { elem1:"juice", chance:0.1, color1:"#fae7b5" },
+ "tuff": { elem1:"juice", chance:0.1, color1:"#fae7b5" },
+ "acid": { elem1:"juice", color1:"#fae7b5" },
+ "acid_gas": { elem1:"juice", color1:"#fae7b5" },
+ },
+ breakInto: "jam",
+ breakIntoColor: ["#d6aa46","#e3b544","#cda23a","#e3c869"],
+ tempHigh: 256,
+ stateHigh: ["steam", "sugar"],
+ density: 634.01,
+ isFood: true,
+ hidden: true,
+ desc: "Added in version 2.0 of Community Desserts.\n"
+}
+elements.blackberry = {
+ color: ["#5c2f3e","#281c2a","#02060f","#19252c"],
+ category: "Community",
+ state: "solid",
+ behavior: behaviors.POWDER,
+ reactions: {
+ "rock": { elem1:"juice", chance:0.1, color1:"#7b1e57" },
+ "concrete": { elem1:"juice", chance:0.1, color1:"#7b1e57" },
+ "basalt": { elem1:"juice", chance:0.1, color1:"#7b1e57" },
+ "limestone": { elem1:"juice", chance:0.1, color1:"#7b1e57" },
+ "tuff": { elem1:"juice", chance:0.1, color1:"#7b1e57" },
+ "acid": { elem1:"juice", color1:"#7b1e57" },
+ "acid_gas": { elem1:"juice", color1:"#7b1e57" },
+ },
+ breakInto: "jam",
+ breakIntoColor: ["#481317","#50030d","#250b0c","#62020d"],
+ tempHigh: 256,
+ stateHigh: ["steam", "sugar"],
+ density: 608.65,
+ isFood: true,
+ hidden: true,
+ desc: "Added in version 2.0 of Community Desserts.\n"
+}
+elements.blueberry = {
+ color: ["#385f9e","#386891","#4874b5","#4b8ee3"],
+ category: "Community",
+ state: "solid",
+ behavior: behaviors.POWDER,
+ reactions: {
+ "rock": { elem1:"juice", chance:0.1, color1:"#933487" },
+ "concrete": { elem1:"juice", chance:0.1, color1:"#933487" },
+ "basalt": { elem1:"juice", chance:0.1, color1:"#933487" },
+ "limestone": { elem1:"juice", chance:0.1, color1:"#933487" },
+ "tuff": { elem1:"juice", chance:0.1, color1:"#933487" },
+ "acid": { elem1:"juice", color1:"#933487" },
+ "acid_gas": { elem1:"juice", color1:"#933487" },
+ },
+ breakInto: "jam",
+ breakIntoColor: ["#48132c","#6f3a56","#13030d","#351123"],
+ tempHigh: 256,
+ stateHigh: ["steam", "sugar"],
+ density: 625.56,
+ isFood: true,
+ hidden: true,
+ desc: "Added in version 2.0 of Community Desserts.\n"
+}
+elements.kiwi = {
+ color: ["#be8456","#cb8a3e","#bc7742","#975e25"],
+ category: "Community",
+ state: "solid",
+ behavior: behaviors.POWDER,
+ reactions: {
+ "rock": { elem1:"juice", chance:0.1, color1:"#eef299" },
+ "concrete": { elem1:"juice", chance:0.1, color1:"#eef299" },
+ "basalt": { elem1:"juice", chance:0.1, color1:"#eef299" },
+ "limestone": { elem1:"juice", chance:0.1, color1:"#eef299" },
+ "tuff": { elem1:"juice", chance:0.1, color1:"#eef299" },
+ "acid": { elem1:"juice", color1:"#eef299" },
+ "acid_gas": { elem1:"juice", color1:"#eef299" },
+ },
+ breakInto: "jam",
+ breakIntoColor: ["#beb43c","#b7ac41","#8d7614","#755e11"],
+ tempHigh: 256,
+ stateHigh: ["steam", "sugar"],
+ density: 748.14,
+ isFood: true,
+ hidden: true,
+ desc: "Added in version 2.0 of Community Desserts.\n"
+}
+elements.mango = {
+ color: ["#ff1f25","#f97231","#fdeb1d","#85b624"],
+ category: "Community",
+ state: "solid",
+ behavior: behaviors.POWDER,
+ reactions: {
+ "rock": { elem1:"juice", chance:0.1, color1:"#ffbf34" },
+ "concrete": { elem1:"juice", chance:0.1, color1:"#ffbf34" },
+ "basalt": { elem1:"juice", chance:0.1, color1:"#ffbf34" },
+ "limestone": { elem1:"juice", chance:0.1, color1:"#ffbf34" },
+ "tuff": { elem1:"juice", chance:0.1, color1:"#ffbf34" },
+ "acid": { elem1:"juice", color1:"#ffbf34" },
+ "acid_gas": { elem1:"juice", color1:"#ffbf34" },
+ },
+ breakInto: "jam",
+ breakIntoColor: ["#ef9d00","#fdb005","#fed803","#fbdd00"],
+ tempHigh: 256,
+ stateHigh: ["steam", "sugar"],
+ density: 697.41,
+ isFood: true,
+ hidden: true,
+ desc: "Added in version 2.0 of Community Desserts.\n"
+}
+elements.orange = {
+ color: ["#ffa500","#ff951d","#ffb20a","#f68310"],
+ category: "Community",
+ state: "solid",
+ behavior: behaviors.POWDER,
+ reactions: {
+ "rock": { elem1:"juice", chance:0.1, color1:"#f7ca05" },
+ "concrete": { elem1:"juice", chance:0.1, color1:"#f7ca05" },
+ "basalt": { elem1:"juice", chance:0.1, color1:"#f7ca05" },
+ "limestone": { elem1:"juice", chance:0.1, color1:"#f7ca05" },
+ "tuff": { elem1:"juice", chance:0.1, color1:"#f7ca05" },
+ "acid": { elem1:"juice", color1:"#f7ca05" },
+ "acid_gas": { elem1:"juice", color1:"#f7ca05" },
+ },
+ breakInto: "jam",
+ breakIntoColor: ["#edb848","#f6b23e","#e59e12","#eca528"],
+ tempHigh: 256,
+ stateHigh: ["steam", "sugar"],
+ density: 435, // these oranges have peels so they float [:
+ isFood: true,
+ hidden: true,
+ desc: "Added in version 2.0 of Community Desserts.\n"
+}
+elements.peach = {
+ color: ["#ffc612","#f78a00","#d43d22","#a41622"],
+ category: "Community",
+ state: "solid",
+ behavior: behaviors.POWDER,
+ reactions: {
+ "rock": { elem1:"juice", chance:0.1, color1:"#ffc663" },
+ "concrete": { elem1:"juice", chance:0.1, color1:"#ffc663" },
+ "basalt": { elem1:"juice", chance:0.1, color1:"#ffc663" },
+ "limestone": { elem1:"juice", chance:0.1, color1:"#ffc663" },
+ "tuff": { elem1:"juice", chance:0.1, color1:"#ffc663" },
+ "acid": { elem1:"juice", color1:"#ffc663" },
+ "acid_gas": { elem1:"juice", color1:"#ffc663" },
+ },
+ breakInto: "jam",
+ breakIntoColor: ["#f59400","#f29e04","#e9a230","#eead37"],
+ tempHigh: 256,
+ stateHigh: ["steam", "sugar"],
+ density: 650.92,
+ isFood: true,
+ hidden: true,
+ desc: "Added in version 2.0 of Community Desserts.\n"
+}
+elements.plum = {
+ color: ["#952444","#5a2346","#3e2141","#450a1a"],
+ category: "Community",
+ state: "solid",
+ behavior: behaviors.POWDER,
+ reactions: {
+ "rock": { elem1:"juice", chance:0.1, color1:"#a10013" },
+ "concrete": { elem1:"juice", chance:0.1, color1:"#a10013" },
+ "basalt": { elem1:"juice", chance:0.1, color1:"#a10013" },
+ "limestone": { elem1:"juice", chance:0.1, color1:"#a10013" },
+ "tuff": { elem1:"juice", chance:0.1, color1:"#a10013" },
+ "acid": { elem1:"juice", color1:"#a10013" },
+ "acid_gas": { elem1:"juice", color1:"#a10013" },
+ },
+ breakInto: "jam",
+ breakIntoColor: ["#a9050c","#55081a","#781123","#4f1e2f"],
+ tempHigh: 256,
+ stateHigh: ["steam", "sugar"],
+ density: 697.41,
+ isFood: true,
+ hidden: true,
+ desc: "Added in version 2.0 of Community Desserts.\n"
+}
+elements.pomegranate = {
+ color: ["#fd4127","#be2216","#aa1519","#330104"],
+ category: "Community",
+ state: "solid",
+ behavior: behaviors.POWDER,
+ reactions: {
+ "rock": { elem1:"juice", chance:0.1, color1:"#c9002c" },
+ "concrete": { elem1:"juice", chance:0.1, color1:"#c9002c" },
+ "basalt": { elem1:"juice", chance:0.1, color1:"#c9002c" },
+ "limestone": { elem1:"juice", chance:0.1, color1:"#c9002c" },
+ "tuff": { elem1:"juice", chance:0.1, color1:"#c9002c" },
+ "acid": { elem1:"juice", color1:"#c9002c" },
+ "acid_gas": { elem1:"juice", color1:"#c9002c" },
+ },
+ breakInto: "jam",
+ breakIntoColor: ["#4b0000","#6b0900","#a3000e","#c80402"],
+ tempHigh: 256,
+ stateHigh: ["steam", "sugar"],
+ density: 1150,
+ isFood: true,
+ hidden: true,
+ desc: "Added in version 2.0 of Community Desserts.\n"
+}
+elements.rambutan = {
+ color: ["#9a1408","#eb2814","#9bf05f","#f6ffff"],
+ category: "Community",
+ state: "solid",
+ behavior: behaviors.POWDER,
+ reactions: {
+ "rock": { elem1:"juice", chance:0.1, color1:"#eae6dd" },
+ "concrete": { elem1:"juice", chance:0.1, color1:"#eae6dd" },
+ "basalt": { elem1:"juice", chance:0.1, color1:"#eae6dd" },
+ "limestone": { elem1:"juice", chance:0.1, color1:"#eae6dd" },
+ "tuff": { elem1:"juice", chance:0.1, color1:"#eae6dd" },
+ "acid": { elem1:"juice", color1:"#eae6dd" },
+ "acid_gas": { elem1:"juice", color1:"#eae6dd" },
+ },
+ breakInto: "jam",
+ breakIntoColor: ["#60271a","#773119","#841e01","#953810"],
+ tempHigh: 256,
+ stateHigh: ["steam", "sugar"],
+ density: 281,
+ isFood: true,
+ hidden: true,
+ desc: "Added in version 2.0 of Community Desserts.\n"
+}
+elements.strawberry = {
+ color: ["#c53415","#ea1720","#f1232d","#ea7e72"],
+ category: "Community",
+ state: "solid",
+ behavior: behaviors.POWDER,
+ reactions: {
+ "rock": { elem1:"juice", chance:0.1, color1:"#f53c28" },
+ "concrete": { elem1:"juice", chance:0.1, color1:"#f53c28" },
+ "basalt": { elem1:"juice", chance:0.1, color1:"#f53c28" },
+ "limestone": { elem1:"juice", chance:0.1, color1:"#f53c28" },
+ "tuff": { elem1:"juice", chance:0.1, color1:"#f53c28" },
+ "acid": { elem1:"juice", color1:"#f53c28" },
+ "acid_gas": { elem1:"juice", color1:"#f53c28" },
+ },
+ breakInto: "jam",
+ // Jam is strawberry-colored by default akschully
+ tempHigh: 256,
+ stateHigh: ["steam", "sugar"],
+ density: 642.47,
+ isFood: true,
+ hidden: true,
+ desc: "Added in version 2.0 of Community Desserts.\n"
+}
+
+// Vanilla items
+elements.vanilla_bean = {
+ alias: "vanilla",
+ color: ["#362C1D","#6f4a3b","#764735","#593b30"],
+ category: "Community",
+ state: "solid",
+ behavior: behaviors.POWDER,
+ reactions: {
+ "rock": { elem1:"vanilla_extract", chance:0.1 },
+ "concrete": { elem1:"vanilla_extract", chance:0.1 },
+ "basalt": { elem1:"vanilla_extract", chance:0.1 },
+ "limestone": { elem1:"vanilla_extract", chance:0.1 },
+ "tuff": { elem1:"vanilla_extract", chance:0.1 },
+ "acid": { elem1:"vanilla_extract" },
+ "acid_gas": { elem1:"vanilla_extract", },
+ },
+ breakInto: "vanilla_extract",
+ tempHigh: 315,
+ stateHigh: ["steam","ash"],
+ density: 1100,
+ desc: "Added in version 2.0 of Community Desserts.\n"
+}
+elements.vanilla_extract = {
+ // Will have more application one day
+ color: ["#5e1b00","#321501"],
+ category: "Community",
+ state: "liquid",
+ behavior: behaviors.LIQUID,
+ tempHigh: 285,
+ stateHigh: ["steam", "alcohol_gas"],
+ density: 879.16,
+ viscosity: 5000,
+ stain: 0.45,
+ hidden: true,
+ desc: "Added in version 2.0 of Community Desserts.\nMade by smashing Vanilla Bean.\nFrom lethanaero.\n",
+}
+
+// Mousse items
+elements.mousse = {
+ color: ["#fffdce","#fffee2","#fffff5"],
+ category: "Community",
+ state: "liquid",
+ behavior: behaviors.LIQUID,
+ tempHigh: 286,
+ stateHigh: ["steam", "smoke", "smoke", "sugar"],
+ density: 1707.61,
+ viscosity: 5000000, // is there a limit?
+ hidden: true,
+ desc: "Added in version 2.0 of Community Desserts.\nMade by hard mixing Jam and Sweetened Condensed Milk.\nFrom brickmaster0513.\n",
+}
+
+// Tiramisu items
+elements.egg_ribbons = {
+ color: ["#ffdc5e","#ffe07c"],
+ category: "Community",
+ state: "liquid",
+ behavior: behaviors.LIQUID,
+ tempHigh: 150,
+ stateHigh: ["smoke","hard_yolk"],
+ tempLow: 0,
+ stateLow: ["sugar","hard_yolk"],
+ density: 1227.5,
+ viscosity: 300,
+ hidden: true,
+ desc: "Added in version 2.0 of Community Desserts.\nMade by hard mixing Yolk and Sugar.\n",
+}
+elements.mascarpone = {
+ color: ["#faf9f1","#faf9f7"],
+ category: "Community",
+ state: "liquid",
+ behavior: behaviors.LIQUID,
+ reactions: {
+ "egg_ribbons": { elem1:"tiramisu_cream", elem2:null }
+ },
+ tempHigh: 218,
+ stateHigh: ["smoke","smoke"],
+ density: 946.79,
+ viscosity: 30000,
+ hidden: true,
+ desc: "Added in version 2.0 of Community Desserts.\nMade by mixing Acid with Milk or Cream at 85°C+.\n",
+}
+elements.tiramisu_cream = {
+ color: ["#fff0d1","#fbefd7"],
+ category: "Community",
+ state: "liquid",
+ behavior: behaviors.LIQUID,
+ tempHigh: 218,
+ stateHigh: ["smoke","smoke"],
+ density: 946.79,
+ viscosity: 30000,
+ hidden: true,
+ desc: "Added in version 2.0 of Community Desserts.\nMade by mixing Egg Ribbons with Mascarpone.\nCan be layered with other items to make tiramisu, from tisqbisque.\n",
}
// Adjusting existing elements here
-elements.milk.reactions = {
- "melted_chocolate": { elem1:"chocolate_milk", elem2:null },
- "chocolate": { elem1:"chocolate_milk", elem2:"melted_chocolate", chance:0.05 },
- "coffee_ground": { elem1:"chocolate_milk", 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 },
- "cell": { elem1:"yogurt", chance:0.1 },
- "ash": { elem1:"soap", chance:0.1 },
- "dirt": { elem1: null, elem2: "mud" },
- "sand": { elem1: null, elem2: "wet_sand" },
- "clay_soil": { elem1: null, elem2: "clay" },
- "caramel": { color1:"#C8B39A", elem2:null, chance:0.05 },
- // Start mod items here
- "sugar": { elem1:"sweetened_condensed_milk", elem2:null, chance:0.05, tempMin:85 },
- "acid": { elem1:null, elem2:"cream_cheese", chance:0.8 },
-}
+if (!elements.milk.reactions) { elements.milk.reactions = {} };
+elements.milk.reactions.acid = { elem1: null, elem2: "cream_cheese", chance: 0.8 };
+elements.milk.reactions.sugar = { elem1: "sweetened_condensed_milk", elem2: null, chance: 0.05, tempMin: 85 };
-elements.cream.reactions = {
- "dirt": { elem1: null, elem2: "mud" },
- "sand": { elem1: null, elem2: "wet_sand" },
- "clay_soil": { elem1: null, elem2: "clay" },
- "melted_chocolate": { color1:"#664934", elem2:null },
- "chocolate": { color1:"#664934", elem2:"melted_chocolate", chance:0.05 },
- "juice": { elem1:"fruit_milk", elem2:null, chance:0.05 },
- "soda": { elem1:"pilk", elem2:null, chance:0.1 },
- "yolk": { elem1:"#eggnog", elem2:null, chance:0.1 },
- "caramel": { color1:"#C8B39A", chance:0.05 },
- "sugar": { elem2:null, chance:0.005},
- // Start mod items here
- "acid": { elem1:null, elem2:"cream_cheese", chance:0.8 },
+if (!elements.cream.reactions) { elements.cream.reactions = {} };
+elements.cream.reactions.acid = { elem1: "cream_cheese", elem2: null, chance: 0.8, tempMax:90 };
+if (!elements.acid.reactions) { elements.acid.reactions = {} };
+elements.acid.reactions.cream = { elem1: null, elem2: "mascarpone", chance: 0.5, tempMin:85 };
+
+if (!elements.dough.reactions) { elements.dough.reactions = {} };
+elements.dough.reactions.butter = { elem1: "pie_crust_batter", elem2: null, chance: 0.05 };
+
+if(elements.sugar.reactions.grape) { delete elements["sugar"].reactions.grape; }; // I would remove the reactions entirely but I don't want to mess with other mods
+if(elements.caramel.reactions.grape) { delete elements["caramel"].reactions.grape; };
+if(elements.grape.reactions.water) { delete elements["grape"].reactions.water };
+if(elements.grape.reactions.sugar_water) { delete elements["grape"].reactions.sugar_water };
+if (!elements.grape.hidden) { elements.grape.hidden = true };
+elements.grape.breakInto = "jam";
+
+if (!elements.jelly.desc) { elements.jelly.desc = "Changed in version 2.0 of Community Desserts.\nMade by mixing Jam and Water at temperatures 95°C+.\n" };
+if (!elements.jelly.hidden) { elements.jelly.hidden = true };
+elements.jelly.viscosity = 150000;
+elements.jelly.stain = 0.25;
+
+elements.yolk.onMix = function(pixel,sugarcheck) {
+ if (elements[sugarcheck.element].id == elements.sugar.id && shiftDown && Math.random() < 0.35) {
+ deletePixel(sugarcheck.x, sugarcheck.y);
+ changePixel(pixel, "egg_ribbons");
+ }
}
// Mod items first
-elements.acid.ignore = ["cream_cheese","cream","milk",
- "glass","rad_glass","glass_shard","rad_shard","stained_glass","baked_clay","acid_gas","neutral_acid","acid_cloud","water","salt_water","sugar_water","dirty_water","copper","gold","porcelain","plastic","bead","microplastic","molten_plastic","pool_water","chlorine","hydrogen","gold_coin","silver","nickel","calcium","bone"];
\ No newline at end of file
+elements.acid.ignore = ["cream_cheese", "cream", "milk", "mascarpone",
+ "glass", "rad_glass", "glass_shard", "rad_shard", "stained_glass", "baked_clay", "acid_gas", "neutral_acid", "acid_cloud", "water", "salt_water", "sugar_water", "dirty_water", "copper", "gold", "porcelain", "plastic", "bead", "microplastic", "molten_plastic", "pool_water", "chlorine", "hydrogen", "gold_coin", "silver", "nickel", "calcium", "bone"];
+
+// For new colors
+function shiftColor(base, change, direction) {
+ const colorRegEx = /^\#?[A-Fa-f0-9]{6}$/;
+
+ // Missing parameter(s)
+ if (!base || !change) {
+ console.log("Parameter absent!");
+ return '#000000';
+ }
+ // Invalid parameter(s)
+ if (!base.match(colorRegEx) || !change.match(colorRegEx)) {
+ console.log("Parameter bad!");
+ return '#000000';
+ }
+
+ // Remove any '#'
+ base = base.replace(/\#/g, '');
+ change = change.replace(/\#/g, '');
+
+ // Build new color
+ let newColor = '';
+ for (let i = 0; i < 3; i++) {
+ const basePiece = parseInt(base.substring(i * 2, i * 2 + 2), 16);
+ const changePiece = parseInt(change.substring(i * 2, i * 2 + 2), 16);
+ let newPiece = '';
+
+ if (direction === 'add') { // Adding a lighter color makes it darker. #000000 does effectively nothing! #ffffff makes it fully white!
+ newPiece = (basePiece + changePiece);
+ newPiece = newPiece > 255 ? 255 : newPiece;
+ }
+ if (direction === 'sub') { // Subtracting a darker color makes it closer to original. #000000 does effectively nothing! #ffffff makes it fully black!
+ newPiece = (basePiece - changePiece);
+ newPiece = newPiece < 0 ? 0 : newPiece;
+ }
+
+ newPiece = newPiece.toString(16);
+ newPiece = newPiece.length < 2 ? '0' + newPiece : newPiece;
+ newColor += newPiece;
+ }
+
+ return '#' + newColor;
+}
+
+function rgbToHex(rgbObj) {
+ var values = rgbObj.substring(rgbObj.indexOf('(') + 1, rgbObj.lastIndexOf(')')).split(',');
+ var r = parseInt(values[0]);
+ var g = parseInt(values[1]);
+ var b = parseInt(values[2]);
+ return "#" + componentToHex(r) + componentToHex(g) + componentToHex(b);
+}
+function componentToHex(c) {
+ let hex = c.toString(16);
+ return hex.length == 1 ? "0" + hex : hex;
+}
\ No newline at end of file
From 1d20be9f009e5fa6e50bf2353f680f843fd758ee Mon Sep 17 00:00:00 2001
From: slweeb <91897291+slweeb@users.noreply.github.com>
Date: Thu, 9 May 2024 12:20:35 -0400
Subject: [PATCH 30/38] Update mod-list.html
---
mod-list.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mod-list.html b/mod-list.html
index 45c8f386..1b8ebd46 100644
--- a/mod-list.html
+++ b/mod-list.html
@@ -226,7 +226,7 @@
| Food & Cooking |
| aChefsDream.js | Adds more foods, animals, tools and many other cooking related items. Updates can be found in this YouTube Playlist | SquareScreamYT |
| aChefsDream_beta.js | Beta testing for aChefsDream. The code can be found on GitHub | SquareScreamYT |
-| bananas.js | Adds bananas and banana plants | Alice |
'
+| bananas.js | Adds bananas and banana plants | Alice |
| CherrySoda.js | Adds materials to make Cherry soda. Benzaldehyde + seltzer = Cherrysoda. | guzzo86 |
| community_desserts.js | Adds various desserts from community suggestions | Tisquares |
| greenitemsandmore.js | Adds various green things, including apples and more food | zonneschijn7 |
From 904122e4afadb7de9b27bde6d4ddcc0e802cd489 Mon Sep 17 00:00:00 2001
From: DoobieRalsei <163950752+DoobieRalsei@users.noreply.github.com>
Date: Thu, 9 May 2024 09:26:52 -0700
Subject: [PATCH 31/38] True skin infection
---
mods/scp.js | 19 ++++++++++++++++---
1 file changed, 16 insertions(+), 3 deletions(-)
diff --git a/mods/scp.js b/mods/scp.js
index db998d13..9dd1828b 100644
--- a/mods/scp.js
+++ b/mods/scp.js
@@ -58,6 +58,8 @@ elements.SCP_008 = {
reactions: {
"head": { elem1:null, elem2:"z_head" , chance:0.5 },
"body": { elem1:null, elem2:"z_body" , chance:0.5 },
+ "skin": { elem1:null, elem2: ["infected_skin","infected_skin","infected_meat"] , chance:0.3 },
+ "blood": { elem1:null, elem2:"infection" , chance:0.6 },
"meat": { elem1:null, elem2:"infected_meat" , chance:0.4 },
"rotten_meat": { elem1:null, elem2:"infected_meat" , chance:0.5 },
"frozen_meat": { elem1:null, elem2:"frozen_infected_meat" , chance:0.3 },
@@ -89,6 +91,8 @@ elements.frozen_008 = {
reactions: {
"head": { elem1:null, elem2:"z_head" , chance:0.4 },
"body": { elem1:null, elem2:"z_body" , chance:0.4 },
+ "skin": { elem1:null, elem2:"frozen_infected_meat" , chance:0.4 },
+ "blood": { elem1:null, elem2:"infection" , chance:0.6 },
"meat": { elem1:null, elem2:"frozen_infected_meat" , chance:0.4 },
"rotten_meat": { elem1:null, elem2:"frozen_infected_meat" , chance:0.5 },
"frozen_meat": { elem1:null, elem2:"frozen_infected_meat" , chance:0.4 },
@@ -108,9 +112,9 @@ elements.infected_skin = {
color: ["#11111f","#75816B","#4D6B53"],
singleColor: true,
behavior: [
- "XX|CR:stench,stench,stench,SCP_008,fly%0.15 AND CH:skin,meat>infected_skin,infected_meat%1|XX",
- "CH:skin,meat>infected_skin,infected_meat%1|XX|CH:skin,meat>infected_skin,infected_meat%1",
- "XX|CH:skin,meat>infected_skin,infected_meat%1|XX",
+ "XX|CR:stench,stench,stench,SCP_008,fly%0.05 AND CH:meat>infected_meat%1|XX",
+ "CH:meat>infected_meat%1|XX|CH:meat>infected_meat%1",
+ "XX|CH:meat>infected_meat%1|XX",
],
tick: function(pixel) {
if (pixel.temp > 40 && Math.random() < 0.003) {
@@ -136,6 +140,12 @@ elements.infected_skin = {
pixel2.color = pixelColorPick(pixel2,RGBToHex(pixel1.color.match(/\d+/g)))
if (pixel1.origColor) { pixel2.origColor = pixel1.origColor }
} },
+ "skin": { chance:0.01, func:function(pixel1,pixel2){
+ changePixel(pixel2,"infected_skin");
+ pixel2.color = pixelColorPick(pixel2,RGBToHex(pixel1.color.match(/\d+/g)))
+ if (pixel1.origColor) { pixel2.origColor = pixel1.origColor }
+ } },
+ "blood": { elem2:"infection" , chance:0.6 },
"acid": { elem1:"infection" },
"soap": { elem1:null, elem2:null, chance:0.005 },
"light": { stain1:"#825043" },
@@ -180,6 +190,8 @@ elements.infected_meat = {
"dirty_water": { elem2:"broth", tempMin:70, color2:"#d7db69" },
"seltzer": { elem2:"dirty_water" },
"fly": { elem1: [null,null,"SCP_008"] , elem2: ["dead_bug","dead_bug","SCP_008"] , chance:0.2},
+ "blood": { elem2:"infection" , chance:0.6 },
+ "skin": { elem2:"infected_skin" , chance:0.6 },
},
tempHigh: 300,
stateHigh: ["SCP_008","ash","ammonia"],
@@ -209,6 +221,7 @@ elements.frozen_infected_meat = {
"sugar_water": { elem2:"dirty_water" },
"seltzer": { elem2:"dirty_water" },
"fly": { elem2: ["dead_bug","dead_bug","SCP_008"] , chance:0.2},
+ "blood": { elem2:"infection" , chance:0.6 },
},
temp: -20,
tempHigh: 10,
From 03ea71c39e444ae2d978e0ae3129c7b796dac476 Mon Sep 17 00:00:00 2001
From: Mecoolnotcool <106288499+Mecoolnotcool@users.noreply.github.com>
Date: Thu, 9 May 2024 18:15:54 -0500
Subject: [PATCH 32/38] Add files via upload
---
mods/Natural_disasters.js | 207 ++++++++++++++++++++++++++++++++++++++
1 file changed, 207 insertions(+)
create mode 100644 mods/Natural_disasters.js
diff --git a/mods/Natural_disasters.js b/mods/Natural_disasters.js
new file mode 100644
index 00000000..259efd8e
--- /dev/null
+++ b/mods/Natural_disasters.js
@@ -0,0 +1,207 @@
+//mod made by imilkflamingos
+
+
+function countNeighbors(pixel,target){
+ var targeted = 0;
+ for (var i = 0; i < squareCoords.length; i++) {
+ var coord = squareCoords[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 == target){
+ targeted = targeted + 1
+ }
+ }
+ }
+ return targeted;
+}
+
+//made by Fioushemastor
+function getDistance(x1, y1, x2, y2) {
+ return Math.sqrt(Math.pow(x2 - x1, 2) + Math.pow(y2 - y1, 2));
+ }
+
+ function getNearestPixel( posX,posY, targetElement) {
+ let nearestPixel
+ let minDistance = Infinity
+
+ //the stuff
+ for (let index in pixelMap) {
+ for (let pixel of pixelMap[index]) {
+ if (pixel == undefined) continue;
+ if (pixel.element == targetElement) {
+ let distance = getDistance(pixel.x, pixel.y, posX, posY);
+ if (distance < minDistance) {
+ minDistance = distance;
+ nearestPixel = pixel;
+ }
+ }
+ }
+ }
+ return nearestPixel
+ }
+// Rest made me
+
+function getRandomInt (min, max) {
+ return Math.floor(Math.random() * (max - min + 1)) + min;
+}
+function createEarthQuakeRand() {
+ const chance = Math.random();
+ if ( chance <= 0.005 ) {
+ var randY = getRandomInt(60,85)
+ var randX = getRandomInt(1,163)
+ if(isEmpty(randX,randY)) {
+ createPixel('earthquake',randX,randY)
+ }
+ else {
+ changePixel(pixelMap[randX][randY],'earthquake')
+ }
+ }
+
+}
+function createTsunamiRand(){
+ var randX = getRandomInt(1,163)
+ const ClosestPixel = getNearestPixel(randX,25,'water')
+ if(ClosestPixel) {
+ var neighbors = countNeighbors(ClosestPixel,'water')
+ if (isEmpty(ClosestPixel.x,ClosestPixel.y-1)) {
+ const chance = Math.random();
+ if ( chance <= 0.001 && countNeighbors(ClosestPixel,'water') >= 3) {
+ createPixel('tsunami',ClosestPixel.x,ClosestPixel.y-1)
+ }
+ }
+ }
+
+}
+function createWildFireRand(){
+ var randX = getRandomInt(1,163)
+ const ClosestPixel = getNearestPixel(randX,25,'plant')
+ if(ClosestPixel) {
+ if (!isEmpty(ClosestPixel.x,ClosestPixel.y)) {
+ const chance = Math.random();
+ if ( chance <= 0.0005) {
+ ClosestPixel.burning = true;
+ }
+ }
+ }
+
+}
+function createMetorShower(){
+
+}
+
+function createCloud(pixel, type) {
+ for (let i = 0; i < 70; i++) {
+ if(isEmpty(pixel.x-i,pixel.y) ) {
+ createPixel(type,pixel.x-i,pixel.y, );
+ }
+ if(isEmpty(pixel.x+i,pixel.y) ) {
+ createPixel(type,pixel.x+i,pixel.y, );
+ }
+ if(isEmpty(pixel.x-i,pixel.y-1) ) {
+ createPixel(type,pixel.x-i,pixel.y-1, );
+ }
+ if(isEmpty(pixel.x+i,pixel.y-1) ) {
+ createPixel(type,pixel.x+i,pixel.y-1, );
+ }
+ if(isEmpty(pixel.x-i,pixel.y+1) ) {
+ createPixel(type,pixel.x-i,pixel.y+1, );
+ }
+ if(isEmpty(pixel.x+i,pixel.y+1) ) {
+ createPixel(type,pixel.x+i,pixel.y+1, );
+ }
+ i+1
+}
+}
+
+elements.Test_Element = {
+ hidden: true,
+ color: "#ff0000",
+ conduct: 0.1,
+ category:"test",
+ behavior: behaviors.WALL,
+
+ onSelect: function(pixel){},
+ tick: function(pixel) {
+
+ },
+
+};
+
+elements.Diaster_Spawner = {
+ maxSize : 1,
+ color: ["#8D8D8C", "#666666"],
+ category: "land",
+ behavior: behaviors.WALL,
+ properties : {
+ age: 0,
+
+ },
+ tick : function(pixel) {
+ const num = getRandomInt(1,3)
+ if (num == 1) {
+ createCloud(pixel, 'rain_cloud')
+ } else if(num == 2){
+ createCloud(pixel, 'thunder_cloud')
+ } else {
+ createCloud(pixel, 'tornado_cloud')
+ }
+
+ if(pixel.age > 100) {
+ changePixel(pixel,"cloud");
+ }
+ pixel.age++
+ doDefaults(pixel);
+ },
+
+};
+
+elements.tornado_cloud = {
+ color: ["#8D8D8C", "#666666"],
+ category: "land",
+ state : 'gas',
+ behavior: [
+ "XX|XX|XX",
+ "XX|DL%0.0001|M1%2.5 AND BO",
+ "XX|XX|XX",
+ ],
+ tick : function(pixel) {
+ const chance = Math.random();
+
+ if ( chance <= 0.00001) {
+ if(isEmpty(pixel.x,pixel.y+1)) {
+ changePixel(pixel,"tornado")
+ }
+ }
+
+ },
+ density: 0.4,
+ ignoreAir: true,
+ conduct: 0.03
+};
+
+
+
+function createCloudRand() {
+ const chance = Math.random();
+ var randY = getRandomInt(7,19)
+ if(chance <= 0.001) {
+ if( isEmpty(83,randY)){
+ createPixel('Diaster_Spawner',83,randY)
+ }
+ }
+}
+
+function runEvents(){
+ if(!paused) {
+ createEarthQuakeRand();
+ createTsunamiRand();
+ createCloudRand();
+ createWildFireRand();
+ }
+}
+
+runAfterLoad(function() {
+ RunSimInterval = window.setInterval(runEvents, 75);
+});
From f0a5fa192fccadb5a577e1deed253268b77384ef Mon Sep 17 00:00:00 2001
From: Jayd-Rubies <155784127+Jayd-Rubies@users.noreply.github.com>
Date: Thu, 9 May 2024 21:54:42 -0400
Subject: [PATCH 33/38] Update mod-list.html
---
mod-list.html | 83 ++++++++++++++++++++++++++++++++++++++++++++-------
1 file changed, 72 insertions(+), 11 deletions(-)
diff --git a/mod-list.html b/mod-list.html
index b91092d2..22afd23f 100644
--- a/mod-list.html
+++ b/mod-list.html
@@ -104,21 +104,25 @@
| Official |
| alchemy.js | Start with only 4 elements and unlock more by reacting them together. (Most are not possible) | R74n |
+| classic_explosives.js | Adds back 4 explosives removed in v1.9.3 | R74n |
| classic_textures.js | Use textures from early versions of the game | R74n |
| color_everything.js | Allows every element to have a custom color | R74n |
-| devtests.js | Experimental features from the Sandboxels developer; Currently there is Earthquake in Weapons | R74n |
+| devtests.js | Experimental features from the Sandboxels developer | R74n |
| edible_everything.js | Allows every element to be mixed into Batter and Dough | R74n |
| fools.js | Adds back FOOLS Mode | R74n |
+| fools24.js | Adds back the 2024 Multiversal Update (v5.9.1) | R74n |
| smooth_water.js | Changes water mechanics so that it flows in one direction until it bounces off of something | R74n |
| spring.js | Many nature elements, like sakura trees, butterflies, beehives, and more | R74n |
+| survival.js | With limited resources, you must craft, sell, and buy to progress | R74n |
| velocity.js | Beta for explosion velocity, and later wind, which may come to the base game in the future | R74n |
| Tools & Settings |
-| adjustablepixelsize.js | Allows you to set the pixelSize with a URL parameter | Alice |
-| betaworldgen.js | adds a more advanced world generation to the game | Alex |
+
+| betaworldgen.js | adds a more advanced world generation to the game | Adora |
| betterModManager.js | Improvements to the Mod Manager | ggod |
| betterSettings.js | Adds additional settings and functionality | ggod |
| betterStats.js | Separate “real” and “set” TPS, meaning you can see what the TPS actually is, instead of only seeing what it’s set to | mollthecoder |
+| buildingreplicator.js | Scans and replicates builds anywhere on the screen, along with some preset submitted builds | nousernamefound |
| change.js | Adds a tool that only replaces existing pixels | Alice |
| color_tools.js | Adds tools that manipulate colors | Alice |
| controllable_pixel_test.js | Adds a pixel that can be controlled with the keyboard keys. Read the commit description for more info. [PC ONLY] | Alice |
@@ -127,11 +131,15 @@
| delete_all_of_element.js | Adds a tool that deletes every pixel of the element(s) the user clicks on | Alice |
| descriptions.js | Adds descriptions to the info page and tooltips of elements | mollthecoder |
| editTools.js | Selections, Copying, Pasting, Cutting, Shapes, and more! | ggod |
+| elementEraser.js | Adds a tool that deletes only desired element | SquareScreamYT |
| elementsManager.js | Create and edit custom elements | ggod |
| evenmoretemptools.js | Adds different temperature-modifying tools (±350/tick, NaN, and Infinity) | Alice |
| extra_element_info.js | Adds descriptions to various vanilla elements. Used to provide the functionality that desc now does before it was added to vanilla | Melecie |
| find.js | Adds a find mode that highlights a chosen element as pulsating red and yellow (read commit description) | Alice |
+| jaydsfunctions.js | Adds extra tools |
| insane_random_events.js | Massively buffs random events | Alice |
+| invertscroll.js | Inverts the scroll wheel for adjusting brush size | SquareScreamYT |
+| mobile_shift.js | Adds a button for shift on mobile | SquareScreamYT |
| moretools.js | Adds more temperature-modifying tools (±10/tick, ±50/tick, and absolute zero tools) | Sightnado |
| move_tools.js | Adds tools that move pixels | Alice |
| noconfirm.js | Removes all confirmation pop ups | mollthecoder |
@@ -142,12 +150,16 @@
| replace_all.js | Adds a way to replace every pixel of an element with another element Read the commit description for usage | Alice |
| replace.js | Adds a tool that replaces every pixel of a specified element with another specified element. (The prompt to specify these is toggled by pressing " or by the button in the element description) | Alice |
| save_loading.js | Adds the ability to save and load scenes from files (See the info page of the element) | Alice |
+| selective_paint.js | Adds a tool to paint only selected elements | SquareScreamYT |
| stripe_paint.js | Adds a tool to paint with stripes | Alice |
+| texturepack.js | Adds tools that let you create and share custom texture packs | nousernamefound |
| the_ground.js | Adds several rock types, worldgen settings, and gemstones | Alice |
| Science & Chemistry |
| alcohol.js | Adds methanol, (iso-)propanol, and butanol | Alice |
| alkahest.js | Adds the alkahest, a liquid which dissolves anything | Alice |
+| aScientistsWish.js | Adds things that related to science, especially radiation | Carbon Monoxide, salmonfishy |
+| bettermetalscrap.js | Allows metal scrap to be melted back into its original material | nousernamefound |
| bigger_star_spawners.js | Adds spawners for larger stars | Alice |
| bioooze_and_pyrogens.js | Adds Bio-Ooze from Frackin’ Universe and several heat-producing materials from various games’ mods | Alice |
| boiling_things.js | Allows for various elements to be vaporized | Alice |
@@ -159,17 +171,22 @@
| Gemstones.js | Adds more gemstones | Schweeny |
| glenn_gases.js | Adds most gases from the Glenn's Gases mod into Sandboxels | Alice |
| grav_mudstones.js | Adds various forms of mudstone with different gravities | Alice |
+| halogen.js | Adds the missing halogens | nousernamefound |
| hidden_ground.js | Hides most rock variants from the_ground.js excluding the base rocks and walls | Melecie |
| iocalfaeus_clones.js | Adds Iorefrius, Iolucius, and Ioradius gas | Alice |
+| jaydstuff.js | Adds various chemicals and compounds | Jayd |
| laetium.js | Adds several fictional elements | Alice |
| liquid_energy.js | Adds liquid versions of the elements in the Energy category | Alice |
| metals.js | Adds several metals | Alice |
| mixture.js | Allows many chemicals to be mixed | lllllllllwith10ls |
-| morechemistry.js | Adds many new chemicals and compounds as well as some new machines | Alex |
+| more_gold.js | Adds Green Gold | pixelegend4 |
+| morechemistry.js | Adds many new chemicals and compounds as well as some new machines | Adora |
| moreliquids.js | Adds various liquids | te-agma-at |
| nellfire.js | Adds a weird transforming flame and several rock types | Alice |
| Neutronium Mod.js | Variety of scientific elements Explosions | StellarX20 |
| neutronium_compressor.js | Adds a compressor (in reference to Minecraft’s Avaritia mod) that compresses 10,000 pixels of an element into a “singularity” | Alice |
+| noblegas.js | Adds the missing noble gases | nousernamefound |
+| radioactive.js | Adds every radioactive elements on the periodic table (WIP) | kaeud |
| random_rocks.js | Randomly generates rocks on game load | Alice |
| roseyiede.js | Adds several variants of a substance called roseyiede | Alice |
| some_tf_liquids.js | Adds various liquids from the Thermal Foundation Minecraft mod | Alice |
@@ -177,89 +194,133 @@
| Machines & Technology |
| clone_liquid.js | Adds a liquid form of cloner | Alice |
+| combustion.js | Adds components necessary for combustion engines | uptzik |
| conveyance.js | Conveyors, operated with and without electricity | Melecie |
+| ExtraMachines.js | Adds sensors, energy resources, materials, and more | Mecoolnotcool |
+| fine_tuned_cloner.js | Adds a cloner that can spawn at different rates and prevent unwated cloning | BatteRaquette58 |
| flipflop.js | Toggleable switches; Explanation | Flix |
| gameOfLife.js | Conway's Game of Life on a screen | ggod |
+| logicgates.js | Adds predictable electricity and logic gates | nousernamefound |
| note_block.js | Adds musical Note Blocks | Alice |
| nousersthings.js | Destroyable machines, pipe variants, filters, and more | nousernamefound |
| portal.js | Adds portals that can teleport pixels | Alice |
+| pullers.js | Adds pixels that pull pixels towards them | voidapex11 |
| pushers.js | Adds pixels that push elements away from them | Alice |
-| spouts.js | Adds spouts for all liquids | Alice |
+| spouts.js | Adds spouts for all liquids | kaeud |
| state_voids.js | Adds several elements that each delete a specific state of matter (and combinations thereof) | Alice |
| switches.js | Adds electrical switches that can be toggled | Alice |
| ticking_temp_stuff.js | Adds more heaters and coolers | Alice |
+| video.js | Adds a video player | ggod |
| waterspout.js | Adds back the old Water Spout | mollthecoder |
+| WhisperingTheory.js | Adds many more variants of heater and cooler | kaeud |
| Weapons |
+| aircrafts.js | Adds aircraft and aircraft part pixels | Jayd |
| icb.js | Adds various levels of nested cluster bombs | Alice |
| life_eater.js | Adds Warhammer 40,000’s Life-Eater Virus and Virus Bombs | Alice |
| liquid_void.js | Adds a liquid variant of Void | Alice |
| more_breaking.js | Allows for breaking more elements in explosions | Alice |
| rays.js | Adds more Ray types | Alice |
+| rays++.js | Adds a couple more rays | uptzik |
+| weapons.js | Adds varieties of different weapons | Jayd |
| Food & Cooking |
+| aChefsDream.js | Adds more foods, animals, tools and many other cooking related items. Updates can be found in this YouTube Playlist | SquareScreamYT |
+| aChefsDream_beta.js | Beta testing for aChefsDream. The code can be found on GitHub | SquareScreamYT |
| bananas.js | Adds bananas and banana plants | Alice |
+| CherrySoda.js | Adds materials to make Cherry soda. Benzaldehyde + seltzer = Cherrysoda. | guzzo86 |
+| community_desserts.js | Adds various desserts from community suggestions | Tisquares |
+| greenitemsandmore.js | Adds various green things, including apples and more food | zonneschijn7 |
| ketchup_mod.js | Adds a bunch of ketchup related stuff, plus a few other condiments | Nubo318 (main dev), Devi, Alice (contributors) |
+| lemonade.js | Adds lemons and lemonade | personman / baconthemyth |
+| morefoodsmod.js | Adds more foods | Clide4 |
| pizzasstuff.js | New animals, foods, and plants | _ilikepizza_ |
-| sbstuff.js | Adds Rice | Stefan Blox |
+| potato_chips.js | Potato chips. | guzzo86 |
+| sbstuff.js | Adds many foods | stefanblox |
+| soups.js | Adds seasoning and soup | pixelegend4 |
+| weAllScreamFor.js | Adds ice cream toppings | rottenEgghead |
| Life & Nature |
+| advanced_colonies.js | Adds davlers, creatures with complex colonies | DaviStudios |
| apioforms_pre.js | An incomplete implementation of elements from the Apioform Game | Alice |
| bacteria_mod.js | Adds content from the Bacterium Mod: (Bacteria, Replacer B., Jammer Block) | Alice |
| bananas.js | Adds bananas and banana plants | Alice |
+| cat.js | Adds cats and cat food | SquareScreamYT |
| cells.js | Adds several experimental edits of the Cell element | Alice |
| crimson.js | Adds elements relating to the Crimson from Terraria | Alice |
+| dogs.js | Adds a simple dog and dog food | hedera-ivy |
| fairy_chain.js | Adds way too many fairies to fey_and_more.js | Alice |
| fantastic_creatures.js | Adds various animals | Melecie |
| fantasy_elements.js | Fantasy creatures and substances | pixelegend4 |
| fey_and_more.js | Adds fairies, magic, and a lot of other things | Melecie |
+| flowers_and_forests.js | adds trees and flowers and things to do with nature | pixelegend4 and SquareScreamYT |
| fwibblen.js | Adds a flying creature that turns nickel into itself, and a second creature that does the same to the first one | Alice |
| human_edit.js | Improvements to humans | Alice |
+| kopalstuff.js | Adds creatures, spirits, DNA, foods, and more | DaviStudios |
+| lost_souls.js | Adds souls and related elements, the mod can also be found on Github | pixelegend4, SquareScreamYT, salmonfishy |
| miscible_psoup_and_birthpool.js | Makes Primordial Soup and Birthpool mix instead of the birthpool settling to the bottom. Will be deprecated upon the release of Magical Menagerie | Alice |
| mobs.js | Adds Creepers, Zombies, and Skeletons | Alice |
| nocancer.js | Removes cancer from the game one tick after it is created | mollthecoder |
| nocancer2.js | Removes cancer from the game altogether. May be incompatible with other mods that spawn cancer | mollthecoder |
+| nograssgrow.js | Prevents Grass from growing | mollthecoder |
+| ocean.js | Adds many Marine life | SquareScreamYT |
| pizzasstuff.js | New animals, foods, and plants | _ilikepizza_ |
+| plants.js | Adds a wide variety of new plants and fruits | Adora |
| primordial_birthpool.js | A cross between Primordial Soup and Birthpool. Requires F&M | Alice |
| spring.js | Many nature elements, like sakura trees, butterflies, beehives, and more | R74n |
| the_ground_og.js | Simplified and more stable version of the_ground.js | Alice |
| the_ground.js | Adds several rock types, worldgen settings, and gemstones | Alice |
| toothpaste.js | Teeth and paste | Alice |
+| volcanic_expansion.js | Adds Obsidian, Pumice, and Andesite rocks | Jayd |
| Fun & Games |
-| allliquids.js | Made all elements liquids | Alex |
+| 10kelements.js | Inserts a customizable amount of randomly generated elements into the game | nousernamefound |
+| all_around_fillers.js | Adds directional Filler variants | idk73248 |
+| allliquids.js | Made all elements liquids | Adora |
| amogus.js | Adds a small amogus structure | Alice |
+| citybuilding.js | Adds seeds that create miniature buildings and other city-related items | SquareScreamYT |
+| collab_mod.js | Created by multiple people, adds random things | mrapple, ilikepizza, stefanblox |
+| Doom Mod (Unreleased) | As seen on TikTok - Not yet available! | ggod |
| elem3.js | Adds all elements and combinations from Elemental 3 [Very Large] | Sophie |
+| fools+.js | improves and makes fools.js EXTREMELY annoying. | SquareScreamYT |
| funny elements 2022-11-15.js | Adds a few curated randomly-generated elements | Alice |
-| funny_liquid_2.js | Adds urine | Alice |
-| funny_liquid_3.js | Adds vomit | Alice |
| funny_solid.js | Adds feces | Alice |
| haseulite.js | Adds Loona-related materials with various properties | Alice |
-| iean.js | Adds lean and its ingredients | Alice |
| lactose_intolerance_and_celiac.js | Makes humans explode on contact with milk, wheat, bread, or toast | Nubo318 |
| lone_urea.js | Adds urea without the rest of the piss mod | Alice |
+| maze.js | Adds a solvable maze generator | ggod |
| memelists.js | Makes it so you must select elements through a list at the bottom of the page. We like lists | mollthecoder |
| minecraft.js | Adds several things from Minecraft | StellarX20 |
| minesweeper.js | A subpar implementation of Minesweeper | Alice |
| musicalfruit.js | Humans get gas from eating Beans | mollthecoder |
| random_elems.js | Curated randomly generated elements | Alice |
| random_liquids.js | Randomly generates liquids on game load | Alice |
+| sbmixup.js | Adds silly elements from a Mix-Up! game | stefanblox |
+
| star_wars.js | Adds various items from Star Wars by Disney | SeaPickle754 |
| sus.js | Adds an Among Us crewmate | Nv7 |
| triggerable_random_powders.js | Adds powders with different abilities, such as heating and cooling | Alice |
| troll.js | Adds various dumb elements that iterate randomly on the entire screen | Alice |
-| star_wars.js | Adds various items from Star Wars by Disney | SeaPickle754 |
+
| WhisperingTheory.js | Adds powder and gas variant of heater and cooler | kaeud |
| Visual Effects |
| acid_and_shapes.js | Weird visual effects. Enable in Settings | Alice |
| heatglow.js | Red glowing effect for hot metals | nousernamefound |
| invisible_dye.js | Adds elements like Dye and Spray Paint that take the color of the background | Alice |
| invisible_wall.js | Adds an element like Wall that takes the color of the background | Alice |
+| moreViews.js | Many new rendering modes | ggod |
+| onecolor.js | Makes all placed pixels single-colored | nousernamefound |
| paint_event.js | Adds a random event that randomly paints a circle | Alice |
| rainbow_tests.js | Adds variants of the rainbow element with different maths | Alice |
| Shroomboxels.js | A variant of acid_and_shapes.js that uses a different trigonometric function | Alice |
+| singleColor.js | Makes all elements pick one color each time they're drawn | stefanblox |
+
+| Compilations |
+| a_mod_by_alice.js | A mod combining most of Alice’s mods, and some other things | Alice |
+| food_mods.js | A mod combining most food mods | stefanblox, moss, Tisquares, SquareScreamYT, Adora, pixelegend4, Alice, Nubo318, Clide4, rottenEgghead |
| Technical Libraries & Tests |
| a_bundle_of_tests.js | Several test functions | Alice |
+| all_stain.js | Makes every element stain solids | stefanblox |
| betterMenuScreens.js | Library for mods to create their own menus | ggod |
| changePixelDebug.js | Makes the changePixel() function abort and log to console when it tries to change to a non-existent element | Alice |
| changeTempReactionParameter.js | Adds the changeTemp property to modded reactions | Alice |
From 3aa3d9e487fbed196472899ef5dea580fcbd9429 Mon Sep 17 00:00:00 2001
From: jakob3797 <167775393+jakob3797@users.noreply.github.com>
Date: Fri, 10 May 2024 10:59:34 -0500
Subject: [PATCH 34/38] Create than updated Lab.js
All working
---
mods/Lab.js | 233 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 233 insertions(+)
create mode 100644 mods/Lab.js
diff --git a/mods/Lab.js b/mods/Lab.js
new file mode 100644
index 00000000..f759f1c4
--- /dev/null
+++ b/mods/Lab.js
@@ -0,0 +1,233 @@
+elements.lab = {
+ color: "#ff0000",
+ behaviorOn: behaviors.WALL,
+ behavior: [
+ "CR:wall|CR:wall|CR:wall|CR:wall|CR:wall|CR:wall|CR:wall|CR:wire|CR:wire|CR:wire|CR:wall|CR:wall|CR:wall|CR:wall|CR:wall|CR:wall|CR:wall|CR:wall|CR:wall|CR:wall|CR:wall|CR:wall|CR:wall|CR:wall",
+ "CR:wall|DL|XX|XX|XX|XX|XX|CR:e_cr|CR:wall|CR:sensor|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|CR:wall",
+ "CR:wall|XX|XX|XX|XX|XX|XX|XX|CR:glass|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|CR:wall",
+ "CR:wall|XX|XX|XX|XX|XX|XX|XX|CR:glass|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|CR:wall",
+ "CR:wall|CR:wall|CR:wall|CR:wall|XX|CR:wall|CR:wall|CR:wall|CR:wall|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|CR:wall",
+ "CR:wall|XX|XX|XX|XX|XX|XX|XX|CR:wall|CR:wall|CR:wall|CR:wire|xx|CR:wall|XX|XX|XX|XX|XX|XX|XX|XX|XX|CR:wall",
+ "CR:wall|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|CR:ecloner|XX|CR:wall|XX|XX|XX|XX|XX|XX|XX|XX|XX|CR:wall",
+ "CR:wall|XX|XX|XX|XX|XX|XX|XX|CR:wall|CR:wall|CR:wall|CR:wire|CR:wall|CR:wall|XX|XX|XX|XX|XX|XX|XX|XX|XX|CR:wall",
+ "CR:wall|XX|XX|XX|XX|XX|XX|XX|CR:glass|XX|XX|CR:sensor|CR:wall|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|CR:wall",
+ "CR:wall|XX|XX|XX|XX|XX|XX|XX|CR:glass|XX|XX|XX|CR:wall|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|CR:wall",
+ "CR:wall|XX|XX|XX|XX|XX|XX|XX|CR:wall|CR:wall|XX|CR:wall|CR:wall|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|CR:wall",
+ "CR:wall|XX|XX|XX|XX|XX|XX|XX|CR:wall|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|CR:wall",
+ "CR:wall|XX|XX|XX|XX|XX|XX|XX|CR:wall|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|CR:wall",
+ "CR:wall|XX|XX|XX|XX|XX|XX|XX|CR:wall|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|CR:wall",
+ "CR:wall|XX|XX|XX|XX|XX|XX|XX|CR:wall|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|CR:wall",
+ "CR:wall|XX|XX|XX|XX|XX|XX|XX|CR:wall|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|CR:wall",
+ "CR:wall|XX|XX|XX|XX|XX|XX|XX|CR:wall|XX|XX|XX|XX|XX|XX|XX|CR:player|XX|XX|XX|XX|XX|XX|CR:wall",
+ "CR:wall|XX|XX|XX|XX|XX|XX|XX|CR:wall|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|CR:wall",
+ "CR:wall|XX|XX|XX|XX|XX|XX|XX|CR:wall|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|CR:wall",
+ "CR:wall|XX|XX|XX|XX|XX|XX|XX|CR:wall|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|CR:wall",
+ "CR:wall|XX|XX|XX|XX|XX|XX|XX|CR:wall|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|CR:wall",
+ "CR:wall|XX|XX|XX|XX|XX|XX|XX|CR:wall|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|CR:wall",
+ "CR:wall|XX|XX|XX|XX|XX|XX|XX|CR:wall|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|CR:wall",
+ "CR:wall|CR:wall|CR:wall|CR:wall|CR:wall|CR:wall|CR:wall|CR:wall|CR:wall|XX|CR:wall|CR:wall|CR:wall|XX|CR:wall|CR:wall|CR:wall|CR:wall|XX|XX|XX|XX|XX|CR:wall",
+ "CR:wall|CR:wire|CR:wall|CR:wire|CR:wall|CR:wire|CR:wall|CR:wire|CR:wall|XX|XX|XX|CR:wall|XX|XX|XX|XX|CR:wall|XX|XX|XX|XX|XX|CR:wall",
+ "CR:wall|CR:wire|CR:wire|CR:wire|CR:wire|CR:wire|CR:wire|CR:wire|CR:wall|XX|XX|XX|CR:wall|XX|XX|XX|XX|CR:wall|XX|XX|XX|XX|XX|CR:wall",
+ "CR:wall|CR:wall|CR:wall|CR:wall|CR:wire|CR:wall|CR:wall|CR:wall|CR:wire|CR:sensor|XX|XX|CR:wall|XX|XX|XX|XX|CR:wall|XX|XX|XX|XX|XX|CR:wall",
+ "CR:wall|CR:wall|CR:wall|CR:wall|CR:wire|CR:wire|CR:wire|CR:wire|CR:wire|CR:wall|CR:wall|CR:wall|CR:wall|CR:wall|CR:wall|CR:wall|CR:wall|CR:wall|CR:wall|CR:wall|CR:wall|CR:wall|CR:wall|CR:wall",
+ ],
+ category: "lab",
+ state: "solid",
+};
+elements.e_cr = {
+ name: "e-cr",
+ color: "#dddd00",
+ behavior: behaviors.WALL,
+ behaviorOn: [
+ "XX|XX|XX",
+ "XX|XX|XX",
+ "XX|CR:human|XX"
+ ],
+ tick: function(pixel) {
+ if (pixel.create) { return }
+ for (var i = 0; i < adjacentCoords.length; i++) {
+ var coords = adjacentCoords[i];
+ var x = pixel.x + coords[0];
+ var y = pixel.y + coords[1];
+ if (!isEmpty(x,y,true)) {
+ pixel.temp = pixelMap[x][y].temp;
+ if (pixelMap[x][y].create) { pixel.create = pixelMap[x][y].create; break }
+ var element = pixelMap[x][y].element;
+ if (element === pixel.element || elements[pixel.element].ignore.indexOf(element) !== -1) { continue }
+ pixel.create = element;
+ break;
+ }
+ }
+ },
+ ignore: ["cloner","slow_cloner","clone_powder","floating_cloner","wire","ewall","wire","sensor","battery"],
+ category:"machines",
+ insulate:true,
+ darkText: true,
+ conduct: 1,
+ hardness: 1,
+ movable: false
+}
+var libraryMod = "mods/code_library.js";
+
+if(enabledMods.includes(libraryMod)) {
+ sussyKey = null;
+ isShift = false;
+ isAlt = false;
+
+ document.addEventListener("keydown", function(modifierDownListener) {
+ // User presses shift
+ if (modifierDownListener.keyCode == 16) {
+ isShift = true;
+ }
+ // User presses alt
+ if (modifierDownListener.keyCode == 18) {
+ isAlt = true;
+ }
+ });
+
+ document.addEventListener("keyup", function(modifierUpListener) {
+ // User releases shift
+ if (modifierUpListener.keyCode == 16) {
+ isShift = false;
+ }
+ // User releases alt
+ if (modifierUpListener.keyCode == 18) {
+ isAlt = false;
+ }
+ });
+
+ document.addEventListener("keyup", function(sussyListener) {
+ switch (sussyListener.keyCode) {
+ case 87:
+ sussyKey = "W";
+ break;
+ case 65:
+ sussyKey = "A";
+ break;
+ case 83:
+ sussyKey = "S";
+ break;
+ case 68:
+ sussyKey = "D";
+ break;
+ case 81:
+ sussyKey = "Q";
+ break;
+ case 88:
+ sussyKey = "X";
+ break;
+ case 90:
+ sussyKey = "Z";
+ break;
+ case 72:
+ sussyKey = "H";
+ break;
+ };
+ });
+
+ function controllablePixelTryCreatePixelNullCheck(element,x,y) {
+ if(!elements[element]) { //catch the null
+ return false;
+ };
+ if(isEmpty(x,y)) {
+ tryCreatePixel(element,x,y);
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+ elements.player = {
+ color: "#FFFFFF",
+ colorOn: "#FFFF00",
+ behavior: behaviors.WALL,
+ state: "solid",
+ density: 2000,
+ maxSize: 1,
+ conduct: 1,
+ hardness: 1,
+ tick: function(pixel) {
+ var xx = pixel.x;
+ var yy = pixel.y;
+ userElement = currentElement;
+ if(userElement === pixel.element) {
+ userElement = null;
+ };
+ if(isShift && !isAlt) {
+ sussyKey === "Z" ? pixel.color = "rgb(255,191,127)" : pixel.color = "rgb(255,127,127)";
+ }
+ if(isAlt && !isShift) {
+ sussyKey === "Z" ? pixel.color = "rgb(191,255,127)" : pixel.color = "rgb(127,255,127)";
+ }
+ if(isAlt && isShift) {
+ sussyKey === "Z" ? pixel.color = "rgb(255,255,0)" : pixel.color = "rgb(255,255,127)";
+ }
+ if(!isAlt && !isShift) {
+ sussyKey === "Z" ? pixel.color = "rgb(255,255,191)" : pixel.color = "rgb(255,255,255)";
+ }
+ if(sussyKey !== null) {
+ switch (sussyKey) {
+ case "W":
+ isAlt ? controllablePixelTryCreatePixelNullCheck(userElement,xx,yy-1) : tryMove(pixel,xx,yy-1);
+ if(!isShift) {
+ sussyKey = null;
+ }
+ break;
+ case "A":
+ isAlt ? controllablePixelTryCreatePixelNullCheck(userElement,xx-1,yy) : tryMove(pixel,xx-1,yy);
+ if(!isShift) {
+ sussyKey = null;
+ }
+ break;
+ case "S":
+ isAlt ? controllablePixelTryCreatePixelNullCheck(userElement,xx,yy+1) : tryMove(pixel,xx,yy+1);
+ if(!isShift) {
+ sussyKey = null;
+ }
+ break;
+ case "D":
+ tryMove(pixel,xx+1,yy);
+ if(!isShift) {
+ sussyKey = null;
+ }
+ break;
+ case "H": //Alt+D is something else in some browsers.
+ if(isAlt) {
+ controllablePixelTryCreatePixelNullCheck(userElement,xx+1,yy);
+ };
+ if(!isShift) {
+ sussyKey = null;
+ }
+ break;
+ case "X":
+ explodeAt(xx,yy,5)
+ if(!isShift) {
+ sussyKey = null;
+ }
+ break;
+ case "Z":
+ if (!pixel.charge && !pixel.chargeCD && !isEmpty(pixel.x,pixel.y,true)) {
+ pixel.charge = 1;
+ }
+ if(!isShift === 0) {
+ sussyKey = null;
+ }
+ break;
+ case "Q": //Use if a key gets stuck
+ sussyKey = null;
+ isShift = null;
+ isAlt = null;
+ break;
+ }
+ }
+ },
+ }
+} else {
+ alert(`The ${libraryMod} mod is required and has been automatically inserted (reload for this to take effect).`)
+ enabledMods.splice(enabledMods.indexOf(modName),0,libraryMod)
+ localStorage.setItem("enabledMods", JSON.stringify(enabledMods));
+};
+
+// i know it looks messy but it works
+
+// if u dont belive me test it but place it in the center of the canvas
From 7dcd4dcae60f418bc8417901a5cd6a04110ee576 Mon Sep 17 00:00:00 2001
From: jakob3797 <167775393+jakob3797@users.noreply.github.com>
Date: Fri, 10 May 2024 11:28:53 -0500
Subject: [PATCH 35/38] Update Quicksand_one.js
Tested working
---
mods/Quicksand_one.js | 597 +++++++++++++++++++++++++++++++++++++++++-
1 file changed, 593 insertions(+), 4 deletions(-)
diff --git a/mods/Quicksand_one.js b/mods/Quicksand_one.js
index 01659cc1..7f601977 100644
--- a/mods/Quicksand_one.js
+++ b/mods/Quicksand_one.js
@@ -59,7 +59,7 @@ elements.mangrove_mud = {
density: 1089,
stain: 0.25
};
-peat_slurry = {
+elements.peat_slurry = {
color: "#556B2F",
behavior: elements.slime.behavior,
viscosity: 10000,
@@ -92,7 +92,7 @@ elements.fen_mud = {
tempLow: 0,
category: "liquids",
state: "liquid",
- density: 1550,
+ density: 1450,
stain: 0.28
};
elements.swamp_sludge = {
@@ -479,7 +479,7 @@ elements.mud = {
density: 1000,
stain: 0.3
};
-elements.quicksand = {
+elements.quicksand_mud = {
color: "#DAA520",
behavior: elements.slime.behavior,
viscosity: 1750,
@@ -505,7 +505,7 @@ elements.sandy_mud = {
};
elements.sticky_quicksand = {
color: "#DAA520",
- behavior:elements.sap.behavior,
+ behavior: elements.sap.behavior,
viscosity: 1700,
tempHigh: 65,
stateHigh: "liquid",
@@ -515,3 +515,592 @@ elements.sticky_quicksand = {
density: 1100,
stain: 0.25
};
+elements.fluff_mud = {
+ color: "#964B00",
+ behavior: elements.slime.behavior,
+ viscosity: 10000,
+ tempHigh: 40,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1300,
+ stain: 0.2
+};
+elements.bog = {
+ color: "#556B2F",
+ behavior: elements.slime.behavior,
+ viscosity: 10000,
+ tempHigh: 45,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1400,
+ stain: 0.25
+};
+elements.mire = {
+ color: "#2E8B57",
+ behavior: elements.slime.behavior,
+ viscosity: 10000,
+ tempHigh: 50,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1500,
+ stain: 0.3
+};
+elements.oobleck = {
+ color: "#008000",
+ behavior: elements.slime.behavior,
+ viscosity: 10000,
+ tempHigh: 25,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1600,
+ stain: 0.15
+};
+elements.spiderwebs = {
+ color: "#D3D3D3",
+ behavior: elements.slime.behavior,
+ viscosity: 10000,
+ tempHigh: 20,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1700,
+ stain: 0.1
+};
+
+elements.silt_quicksand = {
+ color: "#DAA520",
+ behavior: elements.slime.behavior,
+ viscosity: 10000,
+ tempHigh: 68,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1500,
+ stain: 0.15
+};
+elements.syrupy_mud = {
+ color: "#8B4513",
+ behavior: elements.slime.behavior,
+ viscosity: 10000,
+ tempHigh: 65,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1550,
+ stain: 0.2
+};
+elements.quagmire_mud = {
+ color: "#A0522D",
+ behavior: elements.slime.behavior,
+ viscosity: 10000,
+ tempHigh: 60,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1600,
+ stain: 0.25
+};
+elements.bog_quicksand = {
+ color: "#556B2F",
+ behavior: elements.slime.behavior,
+ viscosity: 10000,
+ tempHigh: 62,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1650,
+ stain: 0.2
+};
+elements.sludge_mud = {
+ color: "#2E8B57",
+ behavior: elements.slime.behavior,
+ viscosity: 10000,
+ tempHigh: 58,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1700,
+ stain: 0.3
+};
+elements.squishy_slime = {
+ color: "#FF4500",
+ behavior: elements.slime.behavior,
+ viscosity: 15000,
+ tempHigh: 20,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1600,
+ stain: 0.1
+};
+elements.sparkling_slime = {
+ color: "#FFD700",
+ behavior: elements.slime.behavior,
+ viscosity: 12000,
+ tempHigh: 25,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1650,
+ stain: 0.15
+};
+elements.glittery_slime = {
+ color: "#B0E0E6",
+ behavior: elements.slime.behavior,
+ viscosity: 25000,
+ tempHigh: 10,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1750,
+ stain: 0.25
+};
+elements.swirling_slime = {
+ color: "#9370DB",
+ behavior: elements.slime.behavior,
+ viscosity: 18000,
+ tempHigh: 5,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1800,
+ stain: 0.3
+};
+elements.fizzling_slime = {
+ color: "#00FFFF",
+ behavior: elements.slime.behavior,
+ viscosity: 15000,
+ tempHigh: -5,
+ stateHigh: "liquid",
+ tempLow: -10,
+ category: "liquids",
+ state: "liquid",
+ density: 1900,
+ stain: 0.25
+};
+elements.crackling_slime = {
+ color: "#FF6347",
+ behavior: elements.slime.behavior,
+ viscosity: 20000,
+ tempHigh: -10,
+ stateHigh: "liquid",
+ tempLow: -15,
+ category: "liquids",
+ state: "liquid",
+ density: 1480,
+ stain: 0.3
+};
+elements.glowing_slime = {
+ color: "#7B68EE",
+ behavior: elements.slime.behavior,
+ viscosity: 25000,
+ tempHigh: -15,
+ stateHigh: "liquid",
+ tempLow: -20,
+ category: "liquids",
+ state: "liquid",
+ density: 1395,
+ stain: 0.2
+};
+elements.crunchy_slime = {
+ color: "#00BFFF",
+ behavior: elements.slime.behavior,
+ viscosity: 30000,
+ tempHigh: -20,
+ stateHigh: "liquid",
+ tempLow: -25,
+ category: "liquids",
+ state: "liquid",
+ density: 2050,
+ stain: 0.25
+};
+elements.sizzling_slime = {
+ color: "#FFA07A",
+ behavior: elements.slime.behavior,
+ viscosity: 35000,
+ tempHigh: -25,
+ stateHigh: "liquid",
+ tempLow: -30,
+ category: "liquids",
+ state: "liquid",
+ density: 1463,
+ stain: 0.3
+};
+elements.spider_webbing = {
+ color: "#FFFFFF",
+ behavior: elements.slime.behavior,
+ viscosity: 5000,
+ tempHigh: 25,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1100,
+ stain: 0.05
+};
+elements.webbing_gel = {
+ color: "#FFD700",
+ behavior: elements.slime.behavior,
+ viscosity: 7000,
+ tempHigh: 30,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1200,
+ stain: 0.08
+};
+elements.arachnid_slime = {
+ color: "#00FF00",
+ behavior: elements.slime.behavior,
+ viscosity: 8000,
+ tempHigh: 35,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1250,
+ stain: 0.1
+};
+elements.sticky_silk = {
+ color: "#FFFACD",
+ behavior: elements.slime.behavior,
+ viscosity: 6000,
+ tempHigh: 40,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1300,
+ stain: 0.12
+};
+elements.webbing_solution = {
+ color: "#FFA07A",
+ behavior: elements.slime.behavior,
+ viscosity: 9000,
+ tempHigh: 45,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1350,
+ stain: 0.15
+};
+elements.arachnid_resin = {
+ color: "#FF00FF",
+ behavior: elements.slime.behavior,
+ viscosity: 7500,
+ tempHigh: 50,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1400,
+ stain: 0.18
+};
+elements.spider_snot = {
+ color: "#7FFFD4",
+ behavior: elements.slime.behavior,
+ viscosity: 8500,
+ tempHigh: 55,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1450,
+ stain: 0.2
+};
+elements.arachnid_ooze = {
+ color: "#6495ED",
+ behavior: elements.slime.behavior,
+ viscosity: 9500,
+ tempHigh: 60,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1325,
+ stain: 0.22
+};
+elements.sticky_spider_goo = {
+ color: "#8A2BE2",
+ behavior: elements.slime.behavior,
+ viscosity: 8500,
+ tempHigh: 65,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1350,
+ stain: 0.25
+};
+elements.arachnid_sludge = {
+ color: "#FF4500",
+ behavior: elements.slime.behavior,
+ viscosity: 8000,
+ tempHigh: 70,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1142,
+ stain: 0.28
+};
+elements.spider_secretion = {
+ color: "#FFFF00",
+ behavior: elements.slime.behavior,
+ viscosity: 9000,
+ tempHigh: 75,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1464,
+ stain: 0.3
+};
+elements.arachnid_essence = {
+ color: "#800080",
+ behavior: elements.slime.behavior,
+ viscosity: 8500,
+ tempHigh: 80,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1325,
+ stain: 0.25
+};
+elements.sticky_spider_residue = {
+ color: "#8B4513",
+ behavior: elements.slime.behavior,
+ viscosity: 9500,
+ tempHigh: 85,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1499,
+ stain: 0.28
+};
+elements.arachnid_phlegm = {
+ color: "#32CD32",
+ behavior: elements.slime.behavior,
+ viscosity: 9000,
+ tempHigh: 90,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1345,
+ stain: 0.3
+};
+elements.sticky_spider_slime = {
+ color: "#800000",
+ behavior: elements.slime.behavior,
+ viscosity: 9000,
+ tempHigh: 105,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1431,
+ stain: 0.3
+};
+elements.arachnid_mucus = {
+ color: "#FF1493",
+ behavior: elements.slime.behavior,
+ viscosity: 9500,
+ tempHigh: 110,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 2000,
+ stain: 0.25
+};
+elements.spider_secretion = {
+ color: "#32CD32",
+ behavior: elements.slime.behavior,
+ viscosity: 9000,
+ tempHigh: 115,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 2050,
+ stain: 0.28
+};
+elements.arachnid_excretion = {
+ color: "#FF4500",
+ behavior: elements.slime.behavior,
+ viscosity: 8500,
+ tempHigh: 120,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 2100,
+ stain: 0.3
+};
+elements.sticky_spider_ooze = {
+ color: "#00008B",
+ behavior: elements.slime.behavior,
+ viscosity: 9000,
+ tempHigh: 125,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 2150,
+ stain: 0.25
+};
+elements.arachnid_liquid = {
+ color: "#FFFF00",
+ behavior: elements.slime.behavior,
+ viscosity: 9500,
+ tempHigh: 130,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 2200,
+ stain: 0.28
+};
+elements.swamp_slime = {
+ color: "#32CD32",
+ behavior: elements.slime.behavior,
+ viscosity: 9000,
+ tempHigh: 30,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1450,
+ stain: 0.2
+};
+elements.muddy_swamp_water = {
+ color: "#8B4513",
+ behavior: elements.slime.behavior,
+ viscosity: 9500,
+ tempHigh: 35,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1500,
+ stain: 0.25
+};
+elements.swamp_sludge = {
+ color: "#556B2F",
+ behavior: elements.slime.behavior,
+ viscosity: 10000,
+ tempHigh: 40,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1550,
+ stain: 0.3
+};
+elements.boggy_mud = {
+ color: "#6B8E23",
+ behavior: elements.slime.behavior,
+ viscosity: 10500,
+ tempHigh: 45,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1600,
+ stain: 0.2
+};
+elements.swamp_ooze = {
+ color: "#32CD32",
+ behavior: elements.slime.behavior,
+ viscosity: 11000,
+ tempHigh: 50,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1650,
+ stain: 0.25
+};
+elements.sludgy_swamp_mixture = {
+ color: "#556B2F",
+ behavior: elements.slime.behavior,
+ viscosity: 11500,
+ tempHigh: 55,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1700,
+ stain: 0.3
+};
+elements.marshy_slime = {
+ color: "#8B4513",
+ behavior: elements.slime.behavior,
+ viscosity: 12000,
+ tempHigh: 60,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1750,
+ stain: 0.2
+};
+elements.soggy_bog = {
+ color: "#6B8E23",
+ behavior: elements.slime.behavior,
+ viscosity: 12500,
+ tempHigh: 65,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1800,
+ stain: 0.25
+};
+elements.mossy_swamp_water = {
+ color: "#32CD32",
+ behavior: elements.slime.behavior,
+ viscosity: 13000,
+ tempHigh: 70,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1850,
+ stain: 0.3
+};
+elements.murky_marsh_mixture = {
+ color: "#556B2F",
+ behavior: elements.slime.behavior,
+ viscosity: 13500,
+ tempHigh: 75,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1900,
+ stain: 0.2
+};
From 2117fd84fb7b11945247e0c9fa3c67ca74d34c00 Mon Sep 17 00:00:00 2001
From: DoobieRalsei <163950752+DoobieRalsei@users.noreply.github.com>
Date: Fri, 10 May 2024 12:13:17 -0700
Subject: [PATCH 36/38] =?UTF-8?q?Frozen=20008=20Falls=20better,=20Infected?=
=?UTF-8?q?=20skin=20=E2=80=9Crots=E2=80=9D=20and=20collapses?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
mods/scp.js | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/mods/scp.js b/mods/scp.js
index 9dd1828b..db64a288 100644
--- a/mods/scp.js
+++ b/mods/scp.js
@@ -86,7 +86,7 @@ elements.frozen_008 = {
behavior: [
"XX|XX|XX",
"XX|DL%0.001|X",
- "M2%1.0|M1%1.0|M2%1.0",
+ "XX|M1%1.0|XX",
],
reactions: {
"head": { elem1:null, elem2:"z_head" , chance:0.4 },
@@ -114,7 +114,7 @@ elements.infected_skin = {
behavior: [
"XX|CR:stench,stench,stench,SCP_008,fly%0.05 AND CH:meat>infected_meat%1|XX",
"CH:meat>infected_meat%1|XX|CH:meat>infected_meat%1",
- "XX|CH:meat>infected_meat%1|XX",
+ "M2%1.0|M1%1.0 AND CH:meat>infected_meat%1|M2%1.0",
],
tick: function(pixel) {
if (pixel.temp > 40 && Math.random() < 0.003) {
From 6b2b570f4cbc2c460f3c56f6e9fa91d7f3575da1 Mon Sep 17 00:00:00 2001
From: slweeb <91897291+slweeb@users.noreply.github.com>
Date: Fri, 10 May 2024 15:18:47 -0400
Subject: [PATCH 37/38] fixed issue
---
mod-list.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mod-list.html b/mod-list.html
index 22afd23f..be9438b4 100644
--- a/mod-list.html
+++ b/mod-list.html
@@ -136,7 +136,7 @@
| evenmoretemptools.js | Adds different temperature-modifying tools (±350/tick, NaN, and Infinity) | Alice |
| extra_element_info.js | Adds descriptions to various vanilla elements. Used to provide the functionality that desc now does before it was added to vanilla | Melecie |
| find.js | Adds a find mode that highlights a chosen element as pulsating red and yellow (read commit description) | Alice |
-| jaydsfunctions.js | Adds extra tools |
+| jaydsfunctions.js | Adds extra tools | Jayd |
| insane_random_events.js | Massively buffs random events | Alice |
| invertscroll.js | Inverts the scroll wheel for adjusting brush size | SquareScreamYT |
| mobile_shift.js | Adds a button for shift on mobile | SquareScreamYT |
From 2dfdc8de9ad50fe4cb91ddd47b8217337f7fef60 Mon Sep 17 00:00:00 2001
From: SquareScreamYT <134925668+SquareScreamYT@users.noreply.github.com>
Date: Sat, 11 May 2024 09:17:53 +0800
Subject: [PATCH 38/38] fruitmijk
---
mods/aChefsDream.js | 178 ++++++++++++++++++++++++++++++++++++++++----
1 file changed, 163 insertions(+), 15 deletions(-)
diff --git a/mods/aChefsDream.js b/mods/aChefsDream.js
index 205c30d7..acf75e57 100644
--- a/mods/aChefsDream.js
+++ b/mods/aChefsDream.js
@@ -18,7 +18,37 @@ function getRGB(rgb){
let rgb2 = rgb.replace(")", "").replace("rgb(", "").replace(/,/g, "r").split("r")
return { r: parseInt(rgb2[0]), g: parseInt(rgb2[1]), b: parseInt(rgb2[2]) };
}
-
+function findMostFrequent(arr) {
+ let freqMap = {};
+
+ if (arr) {
+ if (arr.length === 0) {
+ return "water";
+ } else if (arr.length === 1) {
+ return arr[0]
+ } else {
+ arr.forEach(item => {
+ if(!freqMap[item]) {
+ freqMap[item] = 0;
+ }
+ freqMap[item]++;
+ });
+
+ let max = 0;
+ let mostFrequent = [];
+
+ for (let item in freqMap) {
+ if (freqMap[item] > max) {
+ max = freqMap[item];
+ mostFrequent = [item];
+ } else if (freqMap[item] === max) {
+ mostFrequent.push(item);
+ }
+ }
+ return mostFrequent.join(', ');
+ }
+ }
+}
behaviors.STURDYPOWDER2 = [
"XX|XX|XX",
"XX|XX|XX",
@@ -39,25 +69,21 @@ elements.knife = {
//changePixel(pixel, cutInto)
if (shiftDown) {
if (Math.random() < 0.5) {
- changePixel(pixel, cutInto)
- var cutIntoEmit = elements[pixel.element].cutIntoEmit;
- if (!cutIntoEmit) { return };
- if(cutIntoEmit instanceof Array) { cutIntoEmit = cutIntoEmit[Math.floor(Math.random() * cutIntoEmit.length)] };
var thiselement = pixel.element;
- if (elements[thiselement].cutIntoEmit && Math.random() < 0.7 && isEmpty(pixel.x,pixel.y-1)) {
- createPixel(elements[thiselement].cutIntoEmit,pixel.x,pixel.y-1);
+ changePixel(pixel, cutInto)
+ pixelTempCheck(pixel);
+ if (elements[thiselement].cutIntoColor) {
+ pixel.color = pixelColorPick(pixel, elements[thiselement].cutIntoColor);
}
}
}
else if (!shiftDown) {
if (Math.random() < 0.1) {
- changePixel(pixel, cutInto)
- var cutIntoEmit = elements[pixel.element].cutIntoEmit;
- if (!cutIntoEmit) { return };
- if(cutIntoEmit instanceof Array) { cutIntoEmit = cutIntoEmit[Math.floor(Math.random() * cutIntoEmit.length)] };
var thiselement = pixel.element;
- if (elements[thiselement].cutIntoEmit && Math.random() < 0.4 && isEmpty(pixel.x,pixel.y-1)) {
- createPixel(elements[thiselement].cutIntoEmit,pixel.x,pixel.y-1);
+ changePixel(pixel, cutInto)
+ pixelTempCheck(pixel);
+ if (elements[thiselement].cutIntoColor) {
+ pixel.color = pixelColorPick(pixel, elements[thiselement].cutIntoColor);
}
}
}
@@ -422,6 +448,10 @@ elements.soup = {
if (Math.random() < 0.5) { deletePixel(ingredient.x, ingredient.y); }
else {
ingredient.color = pixelColorPick(ingredient, hex);
+ if (!ingredient.elemlist){
+ ingredient.elemlist = [];
+ }
+ ingredient.elemlist.push(soup.elemlist[Math.floor(Math.random() * soup.elemlist.length)])
}
}
}
@@ -439,6 +469,13 @@ elements.soup = {
}
}
},
+ hoverStat: function(soup, ingredient) {
+ if (findMostFrequent(soup.elemlist) == undefined) {
+ return "Ingredients:None"
+ } else {
+ return "Ingredients:"+findMostFrequent(soup.elemlist)
+ }
+ },
}
if (!elements.broth.reactions) elements.broth.reactions = {};
@@ -6586,6 +6623,7 @@ elements.durian = {
cutInto: "cut_durian",
state: "solid",
density: 1050,
+ breakInto: "durian_juice"
}
elements.cut_durian = {
@@ -6601,6 +6639,7 @@ elements.cut_durian = {
hidden: true,
freezeDryInto: "freeze_dried_fruits",
freezeDryIntoColor: "#a19f3b",
+ breakInto: "durian_juice"
}
elements.durian_seed = {
@@ -6649,6 +6688,32 @@ elements.durian_seed = {
"XX|M1|XX",
],
};
+
+elements.durian_juice = {
+ color: "#ebe06e",
+ onMix: function(pixel) {
+ if (shiftDown) {
+ if (Math.random() < 0.2) {
+ changePixel(pixel,"juice")
+ pixel.color = pixelColorPick(pixel,"#ebe06e")
+ }
+ }
+ },
+ behavior: behaviors.LIQUID,
+ category: "liquids",
+ tempHigh: 100,
+ stateHigh: ["steam","sugar"],
+ burn: 70,
+ burnTime: 300,
+ burnInto: ["steam", "smoke"],
+ state: "liquid",
+ density: 825,
+ hidden: true,
+ temp: 30,
+ hidden: true,
+ tempLow: 0,
+};
+eLists.JUICEMIXABLE.push("durian_juice");
elements.egg_white = {
color: "#edece8",
behavior: behaviors.LIQUID,
@@ -7613,6 +7678,7 @@ elements.unripe_rambutan = {
cutInto: "cut_rambutan",
state: "solid",
density: 1050,
+ breakInto: "rambutan_juice"
}
elements.rambutan = {
@@ -7626,7 +7692,7 @@ elements.rambutan = {
state: "solid",
density: 1050,
cutInto: "cut_rambutan",
- hidden: true,
+ breakInto: "rambutan_juice"
}
elements.cut_rambutan = {
@@ -7642,6 +7708,7 @@ elements.cut_rambutan = {
hidden: true,
freezeDryInto: "freeze_dried_fruits",
freezeDryIntoColor: "#a19f3b",
+ breakInto: "rambutan_juice"
}
elements.rambutan_seed = {
@@ -7691,6 +7758,32 @@ elements.rambutan_seed = {
],
};
+elements.rambutan_juice = {
+ color: "#f7f4cb",
+ onMix: function(pixel) {
+ if (shiftDown) {
+ if (Math.random() < 0.2) {
+ changePixel(pixel,"juice")
+ pixel.color = pixelColorPick(pixel,"#f7f4cb")
+ }
+ }
+ },
+ behavior: behaviors.LIQUID,
+ category: "liquids",
+ tempHigh: 100,
+ stateHigh: ["steam","sugar"],
+ burn: 70,
+ burnTime: 300,
+ burnInto: ["steam", "smoke"],
+ state: "liquid",
+ density: 825,
+ hidden: true,
+ temp: 30,
+ hidden: true,
+ tempLow: 0,
+};
+eLists.JUICEMIXABLE.push("rambutan_juice");
+
elements.barbecued_shrimp = {
color:["#bf743b", "#b57026","#8f5e29","#a87b11"],
behavior: behaviors.STURDYPOWDER,
@@ -7829,6 +7922,26 @@ elements.raisin = {
isFood: true
}
+elements.fruit_slush = {
+ color: "#ed93a4",
+ behavior: behaviors.LIQUID,
+ reactions: {
+ "dirt": { elem1: null, elem2: "mud" },
+ "sand": { elem1: null, elem2: "wet_sand" },
+ "uranium": { elem1:"dirty_water", chance:0.25 },
+ },
+ temp: -5,
+ tempHigh: 18,
+ tempLow: -20,
+ stateLow: "juice_ice",
+ stateHigh: "juice",
+ category: "food",
+ state: "liquid",
+ density: 95,
+ viscosity: 100,
+ hidden: true
+}
+
// things to mix: juice, water, seltzer, sugar water, soda, juice, milk, cream,
// juice, milk, chocolate milk, fruit milk, eggnog, nut milk, alcohol, wine, tea,
// tea, coffee, honey, caramel, vanilla essence, peppermint tea, sugar, yogurt,
@@ -7836,9 +7949,9 @@ elements.raisin = {
// juice mixing
for (let juicei = 0; juicei < eLists.JUICEMIXABLE.length; juicei++) {
+ elem = eLists.JUICEMIXABLE[juicei];
// juice with juice
for (let juicej = 0; juicej < eLists.JUICEMIXABLE.length; juicej++) {
- elem = eLists.JUICEMIXABLE[juicei];
elem2 = eLists.JUICEMIXABLE[juicej];
if (elem != elem2) {
if (!elements[elem].reactions) { chance:1, elements[elem].reactions = {} }
@@ -7909,6 +8022,19 @@ for (let juicei = 0; juicei < eLists.JUICEMIXABLE.length; juicei++) {
pixel2.color = `rgb(${parseInt(newrgb.r)},${parseInt(newrgb.g)},${parseInt(newrgb.b)})`;
}}
}
+
+iceelem = elem+"_ice"
+// ice slush
+elements[elem].stateLowColorMultiplier = 1.2;
+elements[elem].tempLow = 10;
+elements.fruit_slush.stateHighColorMultiplier = 0.83333333333;
+elements.fruit_slush.stateLowColorMultiplier = 1.2;
+elements.juice_ice.stateHighColorMultiplier = 0.83333333333;
+elements.juice_ice.stateHigh = "fruit_slush"
+elements.juice_ice.tempHigh = -20
+elements[iceelem].stateHigh = "fruit_slush"
+elements[iceelem].tempHigh = -20
+
// fruit milk with milk
elements.fruit_milk.reactions.milk = { chance:1, func: function(pixel1, pixel2){
let newrgb = interpolateRgb(getRGB(pixel1.color), getRGB(pixel2.color), 0.2);
@@ -7982,3 +8108,25 @@ elements.fruit_milk.reactions.fruit_milk = { chance:1, func: function(pixel1, pi
pixel2.color = `rgb(${parseInt(newrgb.r)},${parseInt(newrgb.g)},${parseInt(newrgb.b)})`;
}
}
+// fruit milk onMix
+elements.fruit_milk.onMix = function(pixel){
+ let num = Math.floor(Math.random() * 4);
+ let x = pixel.x + adjacentCoords[num][0];
+ let y = pixel.y + adjacentCoords[num][1];
+ if(!isEmpty(x,y) && !outOfBounds(x,y)){
+ let pixel2 = pixelMap[x][y];
+ if(pixel.color != pixel2.color && pixel2.element == "fruit_milk"){
+ let condition;
+ if(shiftDown == 0){
+ condition = (Math.floor(Math.random() * 2) == 1);
+ } else {
+ condition = true;
+ }
+ if(condition){
+ let newrgb = interpolateRgb(getRGB(pixel.color), getRGB(pixel2.color), 0.5);
+ pixel.color = `rgb(${parseInt(newrgb.r)},${parseInt(newrgb.g)},${parseInt(newrgb.b)})`;
+ pixel2.color = `rgb(${parseInt(newrgb.r)},${parseInt(newrgb.g)},${parseInt(newrgb.b)})`;
+ }
+ }
+ }
+ }