diff --git a/lang/hu.json b/lang/hu.json
index b8645d87..9c4361c0 100644
--- a/lang/hu.json
+++ b/lang/hu.json
@@ -189,7 +189,7 @@
"bubble":"buborék",
"acid":"sav",
"neutral_acid":"semleges_sav",
-"acid_gas":"savgáz",
+"acid_gas":"savgőz",
"glue":"ragasztó",
"soda":"szénsavas_üdítőital",
"gray_goo":"szürke_ragacs",
@@ -242,7 +242,7 @@
"sterling":"sterling_ezüst",
"gallium":"gallium",
"molten_gallium":"olvadt_gallium",
-"gallium_gas":"gallium_gáz",
+"gallium_gas":"galliumgőz",
"rose_gold":"rózsaarany",
"purple_gold":"lila_arany",
"blue_gold":"kék_arany",
@@ -259,7 +259,7 @@
"molten_solder":"olvadt_forrasztó_fém",
"juice":"lé",
"juice_ice":"fagyott_lé",
-"broth":"leves_leve",
+"broth":"leveslé",
"milk":"tej",
"chocolate_milk":"csokis_tej",
"fruit_milk":"gyümölcsös_tej",
@@ -357,7 +357,7 @@
"liquid_helium":"folyékony_hélium",
"sodium":"nátrium",
"molten_sodium":"olvadt_nátrium",
-"sodium_gas":"nátrium_gáz",
+"sodium_gas":"nátriumgőz",
"calcium":"kalcium",
"molten_calcium":"olvadt_kalcium",
"limestone":"mészkő",
@@ -377,7 +377,7 @@
"fragrance":"illat",
"perfume":"parfüm",
"cyanide":"cián",
-"cyanide_gas":"cián_gáz",
+"cyanide_gas":"ciángáz",
"ozone":"ózon",
"cloud":"felfő",
"rain_cloud":"esőfelhő",
@@ -394,7 +394,7 @@
"led_b":"kék_led",
"sulfur":"kén",
"molten_sulfur":"olvadt_kén",
-"sulfur_gas":"kén_gáz",
+"sulfur_gas":"kéngőz",
"copper_sulfate":"rézgálic",
"snake":"kígyó",
"loopy":"kacskaringós",
@@ -426,7 +426,7 @@
"bead":"gyöngy",
"color_sand":"színes_homok",
"borax":"bórax",
-"epsom_salt":"epsom_só",
+"epsom_salt":"keserűsó",
"potassium_salt":"kálium_só",
"sodium_acetate":"nátrium-acetát",
"lightning":"villámcsapás",
@@ -501,7 +501,7 @@
"molten_blue_gold":"olvadt_kék_arany",
"molten_electrum":"olvadt_elektrum",
"molten_pyrite":"olvadt_pirit",
-"broth_ice":"fagyott_leves_leve",
+"broth_ice":"fagyott_leveslé",
"frozen_vinegar":"fagyott_ecet",
"sauce_ice":"fagyott_szósz",
"alcohol_ice":"fagyott_alkohol",
@@ -519,7 +519,7 @@
"molten_alga":"olvadt_alumínium-gallim_ötvözet",
"molten_metal_scrap":"olvadt_fémtörmelék",
"molten_borax":"olvadt_borax",
-"molten_epsom_salt":"olvadt_epsom-só",
+"molten_epsom_salt":"olvadt_keserűsó",
"molten_potassium_salt":"olvadt_kálium_só",
"molten_sodium_acetate":"olvadt_nátrium-acetát",
"frozen_nitro":"fagyott_nitroglicerin",
@@ -539,5 +539,5 @@
"tsunami": "cunami",
"blaster": "plazmavető",
"propane_ice": "fagyott_propán",
-"molten_caustic_potash": "Olvadt_kálium-hidroxid"
+"molten_caustic_potash": "olvadt_kálium-hidroxid"
}
diff --git a/mod-list.html b/mod-list.html
index e3b72335..fed60b74 100644
--- a/mod-list.html
+++ b/mod-list.html
@@ -122,6 +122,7 @@
| 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 |
@@ -234,6 +235,8 @@
| 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 |
diff --git a/mods/10kelements.js b/mods/10kelements.js
index f60a6e13..957d4088 100644
--- a/mods/10kelements.js
+++ b/mods/10kelements.js
@@ -38,8 +38,8 @@ var randomProperty = function (obj) {
if (Math.abs(settings.randomcount) == settings.randomcount){
if (!settings.skineasteregg){
for (var i = 1; i <= settings.randomcount; i++){
- var f = Math.random() < 0.2
- var co = Math.random() < 0.2
+ var canHeat = Math.random() < 0.2
+ var canCold = Math.random() < 0.2
elements["element_"+i] = {
color: "#" + color[Math.floor(Math.random()*color.length)] + color[Math.floor(Math.random()*color.length)] + color[Math.floor(Math.random()*color.length)] + color[Math.floor(Math.random()*color.length)] + color[Math.floor(Math.random()*color.length)] + color[Math.floor(Math.random()*color.length)],
category: "random",
@@ -49,11 +49,11 @@ if (Math.abs(settings.randomcount) == settings.randomcount){
density: randomIntFromInterval(1, 10000)
}
total = i
- if (f){
+ if (canHeat){
elements["element_"+i].tempHigh = 20 + randomIntFromInterval(10, 6000)
elements["element_"+i].stateHigh = elementslist[Math.floor(Math.random()*elementslist.length)]
}
- if (co){
+ if (canCold){
elements["element_"+i].tempLow = 20 - randomIntFromInterval(10, 270)
elements["element_"+i].stateLow = elementslist[Math.floor(Math.random()*elementslist.length)]
}
diff --git a/mods/CherrySoda.js b/mods/CherrySoda.js
index 0be7f3da..98475765 100644
--- a/mods/CherrySoda.js
+++ b/mods/CherrySoda.js
@@ -29,7 +29,8 @@ elements.tolulene = {
burnInto: ["steam", "smoke", "fire", "fire",],
reactions: {
"potassiumpermanganate": {elem1: "benzaldehyde", elem2: "benzaldehyde"},
- }
+ },
+ tempHigh: 111,
}
elements.benzaldehyde = {
color: "#F5F5F5",
@@ -40,7 +41,7 @@ elements.benzaldehyde = {
desc: "Benzaldehyde is cherry flavor. It is also clear like tolulene.",
reactions: {
"seltzer": {elem1: "cherrysoda", elem2: "cherrysoda"},
- }
+ },
}
elements.cherrysoda = {
color: "#D2042D",
@@ -48,5 +49,29 @@ elements.cherrysoda = {
category: "food",
state: "liquid",
density: 1045,
- desc: "Cherry soda."
+ desc: "Cherry soda.",
+ tempHigh: 150,
+ stateHigh: "cherrysoda_gas",
+}
+elements.cherrysoda_gas = {
+ color: "#D20459",
+ behavior: behaviors.GAS,
+ category: "gases",
+ state: "gas",
+ density: 1025,
+ desc: "Cherry soda gas.",
+ tempLow: 149,
+ stateLow: "cherrysoda",
+ temp: 169,
+}
+elements.cherrysoda_ice = {
+ color: "BF4F9C",
+ behavior: behaviors.wALL,
+ category: "solids",
+ state: "solid",
+ density: 1065,
+ desc: "Cherry soda gas.",
+ tempHigh: -27,
+ stateHigh: "cherrysoda",
+ temp: -47,
}
diff --git a/mods/GrapeSoda.js b/mods/GrapeSoda.js
new file mode 100644
index 00000000..5716aeac
--- /dev/null
+++ b/mods/GrapeSoda.js
@@ -0,0 +1,140 @@
+elements.anthranilicacid = {
+ color: "#FFFFFF",
+ behavior: behaviors.POWDER,
+ category: "powders",
+ state: "solid",
+ tempHigh: 145,
+ stateHigh: "moltenanthranilicacid",
+ reactions: {
+ "methanol": {elem1: "methylanthranilate", elem2: "methylanthranilate"},
+ },
+ }
+
+ elements.moltenanthranilicacid = {
+ color: ["#FFFF99", "#FFFF66", "#FFFF00"],
+ behavior: behaviors.LIQUID,
+ category: "states",
+ state: "liquid",
+ tempLow: 144,
+ stateLow: "anthranilicacid",
+ tempHigh: 340,
+ stateHigh: "anthranilicacidgas",
+ temp: 155,
+ viscosity: 10,
+ }
+
+ elements.anthranilicacidgas = {
+ color: "#FEDEFF",
+ behavior: behaviors.GAS,
+ category: "gases",
+ state: "gas",
+ tempLow: 339,
+ stateLow: "moltenanthranilicacid",
+ temp: 350,
+ }
+
+ elements.methanol = {
+ color: "#FFE4FF",
+ behavior: behaviors.LIQUID,
+ category: "liquids",
+ state: "liquid",
+ density: 792,
+ stateHigh: "methanolgas",
+ tempHigh: 65,
+ stateLow: "methanolice",
+ tempLow: -98,
+ burn: 100,
+ burnTime: 100,
+ burnInto: "carbondioxide"
+ }
+
+ elements.methanolice = {
+ color: "#FFFFFF",
+ behavior: behaviors.SOLID,
+ category: "solids",
+ state: "solid",
+ density: 822,
+ stateHigh: "methanol",
+ temp: -117,
+ tempHigh: -97,
+ }
+
+ elements.methanolgas = {
+ color: "#E1E4FF",
+ behavior: behaviors.GAS,
+ category: "gases",
+ state: "gas",
+ density: 942,
+ stateLow: "methanol",
+ tempLow: 64,
+ temp: 84,
+ }
+ elements.methylanthranilate = {
+ color: "#FFFBBA",
+ behavior: behaviors.LIQUID,
+ category: "liquids",
+ state: "liquid",
+ density: 1120,
+ stateHigh: "methylanthranilategas",
+ tempHigh: 257,
+ stateLow: "methylanthranilateice",
+ tempLow: -20,
+ reactions: {
+ "seltzer": {elem1: "grapesoda", elem2: "grapesoda",}
+ }
+ }
+
+ elements.methylanthranilategas = {
+ color: "#FFFBBA",
+ behavior: behaviors.GAS,
+ category: "gases",
+ state: "gas",
+ density: 1120,
+ stateLow: "methylanthranilate",
+ tempLow: 256,
+ temp: 276,
+ }
+ elements.methylanthranilateice = {
+ color: "#FFFBD7",
+ behavior: behaviors.WALL,
+ category: "solids",
+ state: "solid",
+ density: 1120,
+ stateHigh: "methulanthranilate",
+ temphigh: -19,
+ temp: -39,
+ }
+
+ elements.grapesoda = {
+ color: "#5B134F",
+ behavior: behaviors.LIQUID,
+ category: "food",
+ state: "liquid",
+ density: 1120,
+ stateHigh: "grapesodagas",
+ tempHigh: 257,
+ stateLow: "grapesodaice",
+ tempLow: -20,
+ }
+
+ elements.grapesodagas = {
+ color: "#B99FEA",
+ behavior: behaviors.GAS,
+ category: "gases",
+ state: "gas",
+ density: 1100,
+ stateLow: "grapesoda",
+ tempLow: 256,
+ temp: 257,
+ }
+
+elements.grapesodaice = {
+ color: "#B99FC2",
+ behavior: behaviors.WALL,
+ category: "solids",
+ state: "solid",
+ density: 1140,
+ stateHigh: "grapesoda",
+ tempHigh: -19,
+ temp: -20,
+ }
diff --git a/mods/Quicksand_one.js b/mods/Quicksand_one.js
new file mode 100644
index 00000000..01659cc1
--- /dev/null
+++ b/mods/Quicksand_one.js
@@ -0,0 +1,517 @@
+
+elements.peat_bog = {
+ color: "#483C32",
+ behavior: elements.slime.behavior,
+ viscosity: 10000,
+ tempHigh: 55,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1200,
+ stain: 0.2
+};
+elements.marsh_muck = {
+ color: "#6B8E23",
+ behavior: elements.slime.behavior,
+ viscosity: 10000,
+ tempHigh: 50,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1000,
+ stain: 0.25
+};
+elements.quagmire = {
+ color: "#8B4513",
+ behavior: elements.slime.behavior,
+ viscosity: 10000,
+ tempHigh: 60,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1000,
+ stain: 0.3
+};
+elements.slime_mold = {
+ color: "#00FF00",
+ behavior: elements.slime.behavior,
+ viscosity: 10000,
+ tempHigh: 30,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1000,
+ stain: 0.2
+};
+elements.mangrove_mud = {
+ color: "#8B4513",
+ behavior: elements.slime.behavior,
+ viscosity: 10000,
+ tempHigh: 55,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1089,
+ stain: 0.25
+};
+peat_slurry = {
+ color: "#556B2F",
+ behavior: elements.slime.behavior,
+ viscosity: 10000,
+ tempHigh: 50,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1452,
+ stain: 0.28
+};
+elements.bog_ooze = {
+ color: "#2E8B57",
+ behavior:elements.slime.behavior,
+ viscosity: 10000,
+ tempHigh: 100,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1350,
+ stain: 0.3
+};
+elements.fen_mud = {
+ color: "#556B2F",
+ behavior: elements.slime.behavior,
+ viscosity: 10000,
+ tempHigh: 100,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1550,
+ stain: 0.28
+};
+elements.swamp_sludge = {
+ color: "#6B8E23",
+ behavior: elements.slime.behavior,
+ viscosity: 10000,
+ tempHigh: 52,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1450,
+ stain: 0.25
+};
+elements.marsh_slime = {
+ color: "#00FF00",
+ behavior: elements.slime.behavior,
+ viscosity: 10000,
+ tempHigh: 32,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1050,
+ stain: 0.16
+};
+elements.peat_paste = {
+ color: "#8B4513",
+ behavior: elements.slime.behavior,
+ viscosity: 10000,
+ tempHigh: 57,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1600,
+ stain: 0.1
+};
+elements.mudflat_mud = {
+ color: "#8B4513",
+ behavior: elements.slime.behavior,
+ viscosity: 10000,
+ tempHigh: 60,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1700,
+ stain: 0.25
+};
+elements.swamp_ooze = {
+ color: "#556B2F",
+ behavior: elements.slime.behavior,
+ viscosity: 10000,
+ tempHigh: 54,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1400,
+ stain: 0.20
+};
+elements.peat_pudding = {
+ color: "#8B4513",
+ behavior: elements.sap.behavior,
+ viscosity: 10000,
+ tempHigh: 58,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1600,
+ stain: 0.21
+};
+elements.mudflow = {
+ color: "#8B4513",
+ behavior: elements.slime.behavior,
+ viscosity: 10000,
+ tempHigh: 60,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1700,
+ stain: 0.2
+};
+elements.marsh_mire = {
+ color: "#6B8E23",
+ behavior: elements.slime.behavior,
+ viscosity: 10000,
+ tempHigh: 55,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1500,
+ stain: 0.12
+};
+elements.moor = {
+ color: "#556B2F",
+ behavior: elements.slime.behavior,
+ viscosity: 10000,
+ tempHigh: 57,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1600,
+ stain: 0.18
+};
+elements.quicksand_fen = {
+ color: "#DAA520",
+ behavior: elements.slime.behavior,
+ viscosity: 10000,
+ tempHigh: 62,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1550,
+ stain: 0.15
+};
+elements.marsh_mudslide = {
+ color: "#8B4513",
+ behavior: elements.slime.behavior,
+ viscosity: 10000,
+ tempHigh: 58,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1600,
+ stain: 0.1
+};
+elements.swamp_slime = {
+ color: "#00FF00",
+ behavior: elements.slime.behavior,
+ viscosity: 10000,
+ tempHigh: 35,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1100,
+ stain: 0.15
+};
+elements.mire_mud = {
+ color: "#8B4513",
+ behavior: elements.slime.behavior,
+ viscosity: 10000,
+ tempHigh: 60,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1700,
+ stain: 0.17
+};
+elements.peat_quicksand = {
+ color: "#DAA520",
+ behavior: elements.slime.behavior,
+ viscosity: 10000,
+ tempHigh: 65,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1800,
+ stain: 0.15
+};
+elements.dense_quicksand = {
+ color: "#DAA520",
+ behavior: elements.slime.behavior,
+ viscosity: 1000,
+ tempHigh: 65,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1900,
+ stain: 0.2
+};
+elements.swamp_mud = {
+ color: "#8B4513",
+ behavior: elements.slime.behavior,
+ viscosity: 1000,
+ tempHigh: 60,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1700,
+ stain: 0.25
+};
+elements.wet_mud = {
+ color: "#8B4513",
+ behavior: elements.slime.behavior,
+ viscosity: 1200,
+ tempHigh: 55,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1600,
+ stain: 0.3
+};
+elements.wet_quicksand = {
+ color: "#DAA520",
+ behavior: elements.slime.behavior,
+ viscosity: 700,
+ tempHigh: 70,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1080,
+ stain: 0.25
+};
+elements.slimy_mud = {
+ color: "#008000",
+ behavior: elements.slime.behavior,
+ viscosity: 900,
+ tempHigh: 55,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1550,
+ stain: 0.3
+};
+elements.sticky_mud = {
+ color: "#8B4513",
+ behavior: elements.slime.behavior,
+ viscosity: 1100,
+ tempHigh: 58,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1321,
+ stain: 0.25
+};
+elements.sloppy_mud = {
+ color: "#8B4513",
+ behavior: elements.slime.behavior,
+ viscosity: 1000,
+ tempHigh: 60,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1700,
+ stain: 0.3
+};
+elements.thick_mud = {
+ color: "#8B4513",
+ behavior: elements.slime.behavior,
+ viscosity: 1300,
+ tempHigh: 50,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1800,
+ stain: 0.35
+};
+elements.gloopy_mud = {
+ color: "#8B4513",
+ behavior: elements.slime.behavior,
+ viscosit: 1950,
+ tempHigh: 56,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1000,
+ stain: 0.28
+};
+elements.squelchy_mud = {
+ color: "#8B4513",
+ behavior: elements.slime.behavior,
+ viscosity: 1050,
+ tempHigh: 58,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1050,
+ stain: 0.3
+};
+elements.mucky_mud = {
+ color: "#8B4513",
+ behavior: elements.slime.behavior,
+ viscosity: 950,
+ tempHigh: 57,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1200,
+ stain: 0.28
+};
+elements.soggy_mud = {
+ color: "#8B4513",
+ behavior: elements.slime.behavior,
+ viscosity: 1050,
+ tempHigh: 58,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1090,
+ stain: 0.3
+};
+elements.gunky_mud = {
+ color: "#8B4513",
+ behavior: elements.slime.behavior,
+ viscosity: 900,
+ tempHigh: 55,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1550,
+ stain: 0.28
+};
+elements.oozy_mud = {
+ color: "#8B4513",
+ behavior: elements.slime.behavior,
+ viscosity: 950,
+ tempHigh: 56,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1000,
+ stain: 0.3
+};
+elements.gooey_mud = {
+ color: "#8B4513",
+ behavior: elements.slime.behavior,
+ viscosity: 1000,
+ tempHigh: 60,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1300,
+ stain: 0.3
+};
+elements.goopy_mud = {
+ color: "#8B4513",
+ behavior: elements.slime.behavior,
+ viscosity: 1100,
+ tempHigh: 58,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1080,
+ stain: 0.3
+};
+elements.mushy_mud = {
+ color: "#8B4513",
+ behavior: elements.slime.behavior,
+ viscosity: 1000,
+ tempHigh: 60,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1200,
+ stain: 0.3
+};
+elements.mud = {
+ color: "#8B4513",
+ behavior: elements.slime.behavior,
+ viscosity: 1050,
+ tempHigh: 58,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1000,
+ stain: 0.3
+};
+elements.quicksand = {
+ color: "#DAA520",
+ behavior: elements.slime.behavior,
+ viscosity: 1750,
+ tempHigh: 70,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1300,
+ stain: 0.25
+};
+elements.sandy_mud = {
+ color: "#8B4513",
+ behavior: elements.sap.behavior,
+ viscosity: 1600,
+ tempHigh: 60,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1100,
+ stain: 0.3
+};
+elements.sticky_quicksand = {
+ color: "#DAA520",
+ behavior:elements.sap.behavior,
+ viscosity: 1700,
+ tempHigh: 65,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1100,
+ stain: 0.25
+};
diff --git a/mods/Science_mod.js b/mods/Science_mod.js
index 4c216af2..c2ad9e2c 100644
--- a/mods/Science_mod.js
+++ b/mods/Science_mod.js
@@ -1,10 +1,8 @@
// Science mod for Sandboxels
// (Inspired by survival.js)
-// Build 19
-// By: Lucifer (@a_british_proto (Discord))
-// If there is anything you want to suggest or there's a bug then just dm me on discord
+// Build 21
+// If there is anything you want to suggest or there's a bug then just dm me on discord (@a_british_proto)
// Todo:
-// - Try to get the mod to work by making different ways to craft all the (116) elements in the mod
// - Make new substances that you can get after mixing different elements
// - Make a way to get the different substances by mixing different elements and different substances
// - Create different proporties for the substances (doing now)
@@ -1378,12 +1376,12 @@ substance.Silver_Oxzide = {
substance.Silver_Sulfate = {
behavior: behaviors.WALL,
color: "FFFFFF",
- category: "lands"
+ category: "lands",
state: "solid",
hidden:true
}
-// I have finally gotten my motivation back! :D
+// Decided to just change the console.log to a comment because it got me confused between the github page and VSC
substance.Silver_Selenide = {
behavior: behaviors.WALL,
@@ -1446,27 +1444,66 @@ substance.Aluminum_Diboride = {
hidden:true
}
-// Doing this later as my schools blocked chatgpt and the definition is not on Ptable.com :/
-// substance.Aluminum_Dodecaboride = {
-// behavior: behaviors.NULL,
-// color: "000000",
-// category: "null",
-// state: "null",
-// hidden:true
-// }
+substance.Aluminum_Dodecaboride = {
+ behavior: behaviors.WALL,
+ color: "000000",
+ category: "lands",
+ state: "solid",
+ hidden:true
+}
-// substance.Aluminum_Bromate_Nonahydrate = {
-// behavior: behaviors.NULL,
-// color: "000000",
-// category: "null",
-// state: "null",
-// hidden:true
-// }
+substance.Aluminum_Bromate_Nonahydrate = {
+ behavior: behaviors.WALL,
+ color: "FFFFFF",
+ category: "lands",
+ state: "solid",
+ hidden:true
+}
substance.Aluminum_Tribromide = {
- behavior: behavior.NULL, // It's meant to be a powder but I'm too tired to go look plus I need to go to my next lesson now
+ behavior: behavior.POWDER,
color: "FF0000",
category: "lands",
state: "powder",
hidden:true
}
+
+substance.Aluminum_Bromide_Hexahydrate = {
+ behavior: behaviors.WALL,
+ color: "FFFFFF",
+ category: "lands",
+ state: "solid",
+ hidden:true
+}
+
+substance.Aluminum_Cerium_Oxide = {
+ behavior: behaviors.WALL,
+ color: "FF5E00",
+ category: "lands",
+ state: "solid",
+ hidden:true
+}
+
+substance.Aluminum_Chloride = {
+ behavior: behaviors.WALL,
+ color: "FFFFFF",
+ category: "lands",
+ state: "solid",
+ hidden:true
+}
+
+substance.Aluminum_Chlorohydrate = {
+ behavior: behaviors.POWDER,
+ color: "FFFFFF",
+ category: "lands",
+ state: "powder",
+ hidden:true
+}
+
+substance.Aluminum_Chloride_Hydrate = {
+ behavior: behaviors.WALL,
+ color: "FFFFFF",
+ category: "lands",
+ state: "solid",
+ hidden:true
+}
diff --git a/mods/buildingreplicator.js b/mods/buildingreplicator.js
new file mode 100644
index 00000000..0d7f29fc
--- /dev/null
+++ b/mods/buildingreplicator.js
@@ -0,0 +1,210 @@
+function playSound(soundFile) {
+ var audio = new Audio("https://JustAGenericUsername.github.io/" + soundFile);
+ audio.play();
+ }
+ function reverseObject(obj) {
+ const reversedObj = {};
+ for (const key in obj) {
+ const value = obj[key];
+ reversedObj[value] = key;
+ }
+ return reversedObj;
+}
+let blueprint = [
+ ["0","0","0","0","0","G","G","G","G","G","0","0","0","0","0"],
+ ["0","0","0","G","G","S","W","W","W","S","G","G","0","0","0"],
+ ["0","0","G","W","W","S","W","W","W","S","W","W","G","0","0"],
+ ["0","G","W","W","W","S","0","0","0","S","W","W","W","G","0"],
+ ["0","G","W","W","0","0","0","0","0","0","0","W","W","G","0"],
+ ["G","S","S","S","0","0","0","0","0","0","0","S","S","S","G"],
+ ["G","W","W","0","0","0","0","0","0","0","0","0","W","W","G"],
+ ["G","W","W","0","0","0","0","0","0","0","0","0","W","W","G"],
+ ["G","W","W","0","0","0","0","0","0","0","0","0","W","W","G"],
+ ["G","S","S","S","0","0","0","0","0","0","0","S","S","S","G"],
+ ["0","G","W","W","0","0","0","0","0","0","0","W","W","G","0"],
+ ["0","G","W","W","W","S","0","0","0","S","W","W","W","G","0"],
+ ["0","0","G","W","W","S","W","W","W","S","W","W","G","0","0"],
+ ["0","0","0","G","G","S","W","W","W","S","G","G","0","0","0"],
+ ["0","0","0","0","0","G","G","G","G","G","0","0","0","0","0"]
+]
+let decaybp = [
+ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0],
+ [0,2,2,2,2,0,2,2,2,2,2,2,2,3,1,3,0,4,0],
+ [5,2,2,6,6,7,6,6,6,6,6,6,6,8,8,8,8,8,0],
+ [5,2,9,6,6,0,6,0,6,0,6,0,6,9,0,0,0,10,0],
+ [8,2,11,6,6,0,6,0,6,0,6,0,6,8,8,8,8,8,0],
+ [5,2,9,6,6,6,0,0,0,0,0,0,6,9,2,2,0,10,0],
+ [5,2,2,2,9,6,9,9,6,9,9,6,9,9,2,2,0,10,0],
+ [0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,10,0],
+ [0,0,9,9,0,9,9,0,9,0,9,9,0,9,9,2,2,2,2]]
+function getRandomPixelCoordinates(pixel, offsetx, offsety, bp, keyobject) {
+ let x, y, r;
+ let attempts = 0;
+ const maxAttempts = 1000;
+ do {
+ x = Math.floor(Math.random() * bp[0].length);
+ y = Math.floor(Math.random() * bp.length);
+ r = bp[y][x];
+ r = keyobject[r];
+ if (r !== undefined) {
+ attempts++;
+ }
+ if (attempts >= maxAttempts) {
+ return "terminated";
+ }
+ } while (r === undefined || r === 0 || r === "0" || !isEmpty(pixel.x + x - offsetx, pixel.y + y - offsety, true));
+ return { x, y, r };
+}
+
+elements.turn_into = {
+ color: "#000000",
+ behavior: behaviors.WALL,
+ state: "gas",
+ hidden: true,
+ properties: {
+ timer: 8,
+ },
+ category: "special",
+ tick: function(pixel){
+ if (!pixel.turninto){deletePixel(pixel.x, pixel.y); return}
+ if (pixel.timer == 8){pixel.color = pixelColorPick({element: pixel.turninto})}
+ //console.log(elements[pixel.turninto].color)
+ pixel.timer --
+ if (pixel.timer <= 0){
+ deletePixel(pixel.x, pixel.y);
+ createPixel(pixel.turninto, pixel.x, pixel.y);
+ }
+ }
+}
+elements.submitted_blueprint_1_creator = {
+ color: "#64abfd",
+ behavior: behaviors.WALL,
+ state: "solid",
+ category: "special",
+ tick: function(pixel){
+ if(!pixel.done){
+ if (pixelTicks % 3 == 0){
+ let randomcoord = getRandomPixelCoordinates(pixel, 7, 7, blueprint, {G: "glass", S: "steel", W: "silver"});
+ if (randomcoord == "terminated"){pixel.done = true; return;}
+ let rx = pixel.x + randomcoord.x-7;
+ let ry = pixel.y + randomcoord.y-7;
+ playSound("synth.wav")
+ try {
+ createPixel("turn_into", rx, ry);
+ pixelMap[rx][ry].turninto = randomcoord.r;
+ pixelMap[rx][ry].timer = 8;
+ } catch (error) {
+ console.error("Error occurred at coordinates:", rx, ",", ry);
+ console.error("Error message:", error);
+ }
+ }
+ if(pixelTicks == pixel.start){
+ // playSound("nocmusic.mp3")
+ }
+ }
+ }
+}
+elements.submitted_blueprint_2_creator = {
+ color: "#64abfd",
+ behavior: behaviors.WALL,
+ state: "solid",
+ category: "special",
+ tick: function(pixel){
+ if(!pixel.done){
+ if (pixelTicks % 3 == 0){
+ let randomcoord = getRandomPixelCoordinates(pixel, -1, -1, decaybp, {1: "led_r", 2:"porcelain", 3: "glass", 4: "tungsten", 5: "zinc", 6: "aluminum", 7: "copper", 8: "copper", 9: "steel", 10: "bronze", 11: "sterling"});
+ if (randomcoord == "terminated"){pixel.done = true; return;}
+ let rx = pixel.x + randomcoord.x+1;
+ let ry = pixel.y + randomcoord.y+1;
+ playSound("synth.wav")
+ try {
+ createPixel("turn_into", rx, ry);
+ pixelMap[rx][ry].turninto = randomcoord.r;
+ pixelMap[rx][ry].timer = 8;
+ } catch (error) {
+ console.error("Error occurred at coordinates:", rx, ",", ry);
+ console.error("Error message:", error);
+ }
+ }
+ if(pixelTicks == pixel.start){
+ // playSound("nocmusic.mp3")
+ }
+ }
+ }
+}
+elements.custom_bp_spawner = {
+ color: "#64abfd",
+ behavior: behaviors.WALL,
+ state: "solid",
+ category: "special",
+ tick: function(pixel){
+ if(!pixel.done){
+ if (pixelTicks % 3 == 0){
+ let randomcoord = getRandomPixelCoordinates(pixel, -1, -1, customBP, customBPKey);
+ if (randomcoord == "terminated"){pixel.done = true; return;}
+ let rx = pixel.x + randomcoord.x+1;
+ let ry = pixel.y + randomcoord.y+1;
+ playSound("synth.wav")
+ try {
+ createPixel("turn_into", rx, ry);
+ pixelMap[rx][ry].turninto = randomcoord.r;
+ pixelMap[rx][ry].timer = 8;
+ } catch (error) {
+ console.error("Error occurred at coordinates:", rx, ",", ry);
+ console.error("Error message:", error);
+ }
+ }
+ if(pixelTicks == pixel.start){
+ // playSound("nocmusic.mp3")
+ }
+ }
+ }
+}
+var customBP = []
+var customBPKey = {}
+let bpsizeH = 15;
+let bpsizeW = 15;
+let generatedBP = [];
+let seenElements = {};
+elements.bp_scanner = {
+ color: "#64abfd",
+ behavior: behaviors.SOLID,
+ state: "solid",
+ category: "special",
+ onSelect: function(pixel){
+ bpsizeH = prompt("Enter the height of the blueprint. It will be scanned from the TOP LEFT corner.", 15);
+ bpsizeW = prompt("Enter the width of the blueprint", 15);
+ },
+ tick: function(pixel){
+ if(pixelTicks == pixel.start){
+ generatedBP = [];
+ for (let y = 1; y <= bpsizeH; y++){
+ generatedBP.push([]);
+ }
+ let elementCounter = 1;
+ seenElements = {};
+ for (let y = 0; y < bpsizeH; y++){
+ for (let x = 0; x < bpsizeW; x++){
+ if (!isEmpty(pixel.x + x + 1, pixel.y + y + 1, true)){
+ var opElement = pixelMap[pixel.x + x+1][pixel.y + y+1].element;
+ if (!seenElements[opElement]){
+ generatedBP[y].push(elementCounter);
+ seenElements[opElement] = elementCounter;
+ elementCounter++;
+ } else {
+ generatedBP[y].push(seenElements[opElement]);
+ }
+ } else {
+ generatedBP[y].push(0);
+ }
+ }
+ }
+ console.log(generatedBP);
+ console.log(seenElements);
+ deletePixel(pixel.x, pixel.y);
+ customBP = generatedBP;
+ customBPKey = reverseObject(seenElements);
+ }
+ }
+}
+
diff --git a/mods/heatglow.js b/mods/heatglow.js
index 8c8dabc0..2293bc77 100644
--- a/mods/heatglow.js
+++ b/mods/heatglow.js
@@ -3,7 +3,7 @@ function weightedAverage(num1, num2, weight){
}
const heatfunc = function(pixel){
if (pixel.element != "metal_scrap" || eLists.metals.includes(pixel.scrapType) || !pixel.scrapType){{
- if (pixel.ogR == null || pixel.ogG == null || pixel.ogB == null || (pixel.element != pixel.ogElement && pixel.element == "metal_scrap") || (pixel.element != "metal_scrap" && pixel.ogElement == "metal_scrap")){
+ if (pixel.ogR == null || pixel.ogG == null || pixel.ogB == null || (pixel.element != pixel.ogElement && pixel.element == "metal_scrap") || (pixel.element != "metal_scrap" && pixel.ogElement == "metal_scrap") || (pixel.element == "oxidized_copper" && pixel.ogElement == "copper")){
pixel.ogR = parseInt(pixel.color.slice(4, pixel.color.indexOf(',')), 10)
pixel.ogG = parseInt(pixel.color.slice(pixel.color.indexOf(',') + 1, pixel.color.lastIndexOf(',')), 10)
pixel.ogB = parseInt(pixel.color.slice(pixel.color.lastIndexOf(',') + 1, -1), 10)
diff --git a/mods/nousersthings.js b/mods/nousersthings.js
index 59e7028e..524b532e 100644
--- a/mods/nousersthings.js
+++ b/mods/nousersthings.js
@@ -1798,6 +1798,7 @@ elements.invisiblewall = {
category: "solids",
movable: false,
noMix: true,
+ hardness: 1,
},
elements.bismuth = {
color: ["#818181","#989898","#b0b0b0","#c9c9c9"],
diff --git a/mods/potato_chips.js b/mods/potato_chips.js
new file mode 100644
index 00000000..e0de48f1
--- /dev/null
+++ b/mods/potato_chips.js
@@ -0,0 +1,44 @@
+elements.potato_chip = {
+ behavior: behaviors.STURDYPOWDER,
+ state: "solid",
+ density: 1350,
+ color: ["#F7DD93", "#D8A44B"],
+ category: "food",
+ desc: "Potato chip. Turns potato next to it into potato chip if temp is >= 104.",
+
+ tick: function(pixel) {
+ if(pixelTicks - pixel.start >= 15) {
+ 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");
+ }
+ }
+ 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");
+ }
+ }
+ if (!isEmpty(pixel.x - 1, pixel.y, true)) {
+ if (pixel.temp >= 104 && pixelMap[pixel.x - 1][pixel.y].element === "potato") {
+ changePixel(pixelMap[pixel.x - 1][pixel.y], "potato_chip");
+ }
+ }
+ if (!isEmpty(pixel.x + 1,pixel.y, true)) {
+ if (pixel.temp >= 104 && pixelMap[pixel.x + 1][pixel.y].element === "potato") {
+ changePixel(pixelMap[pixel.x + 1][pixel.y], "potato_chip");
+ }
+ }
+ }
+ }
+}
+
+elements.sunflower_oil = {
+ behavior: behaviors.LIQUID,
+ color: ["#FFFFCC", "#FFFF99", "#FFFF66", "#FFFF33", "#FFFF00", "#FFCC00"],
+ viscosity: 63,
+ category: "food",
+ state: "liquid",
+ reactions: {
+ "potato": {elem2: "potato_chip", tempMin: 140},
+ }
+}
diff --git a/mods/scp.js b/mods/scp.js
index bdc51970..a6eb71dc 100644
--- a/mods/scp.js
+++ b/mods/scp.js
@@ -253,7 +253,6 @@ elements.mask_head = {
burnTime: 250,
burnInto: "possessive_mask",
breakInto: "possessive_mask",
- forceSaveColor: true,
reactions: {
"cancer": { elem1: "possessive_mask", chance:0.05 },
"tea": { elem2:null, chance:0.2 },
@@ -429,6 +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"];
}
else {
deletePixel(pixel.x, pixel.y);
@@ -593,7 +593,6 @@ elements.doc_body = {
burn: .01,
burnTime: 300,
burnInto: "rotten_meat",
- forceSaveColor: true,
reactions: {
"head": { elem2 : "z_head" , chance:0.3},
"body": { elem2 : "z_body" , chance:0.3},
@@ -869,9 +868,11 @@ elements.shy_head = {
burnTime: 3000,
burnInto: "bone",
reactions: {
- "homunculus": { elem2 : ["blood","slime","blood","slime","rotten_meat",null] },
- "head": { elem2 : ["blood","blood","blood","bone",null] },
- "body": { elem2: ["blood","blood","meat","bone",null] },
+ "homunculus": { elem2 : ["blood","slime","blood","slime","rotten_meat",null] },
+ "head": { elem2 : ["blood","blood","blood","bone",null] },
+ "body": { elem2: ["blood","blood","meat","bone",null] },
+ "z_head": { elem2 : ["infection","infection","infection","bone",null] },
+ "z_body": { elem2: ["infection","infection","rotten_meat","bone",null] },
"rat": { elem2: ["infection","rotten_meat",null]},
"frog": { elem2: ["slime",null] },
"cell": { elem2: ["dna","water",null] },
@@ -986,10 +987,12 @@ elements.shy_body = {
burnInto: "bone",
forceSaveColor: true,
reactions: {
- "homunculus": { elem2 : ["blood","slime","blood","slime","rotten_meat",null] },
- "head": { elem2 : ["blood","blood","blood","meat","bone",null] },
- "body": { elem2: ["blood","blood","meat","bone",null] },
- "rat": { elem2: ["infection","rotten_meat"]},
+ "homunculus": { elem2 : ["blood","slime","blood","slime","rotten_meat",null] },
+ "head": { elem2 : ["blood","blood","blood","bone",null] },
+ "body": { elem2: ["blood","blood","meat","bone",null] },
+ "z_head": { elem2 : ["infection","infection","infection","bone",null] },
+ "z_body": { elem2: ["infection","infection","rotten_meat","bone",null] },
+ "rat": { elem2: ["infection","infection","plague"] },
"frog": { elem2: "slime" },
"cell": { elem2: ["dna","water",null] },
"cancer": { elem2: ["dna","dirty_water"] },
@@ -1007,11 +1010,12 @@ elements.SCP_682 = {
category: "scp",
density: 7500,
reactions: {
- "head": { elem2 : ["bone","blood",null] , chance:10 },
- "body": { elem1 : "mad_682" , elem2 : ["meat","blood",null] , chance:10 },
- "z_head": { elem2 : ["bone","infection",null] , chance:10 },
- "z_body": { elem1 : "mad_682" , elem2 : ["rotten_meat","infection",null] , chance:10 },
- "homunculus": { elem2 : ["slime","blood",null] , chance:10 },
+ "head": { elem2 : ["bone","blood",null] , chance:50 },
+ "body": { elem1 : "mad_682" , elem2 : ["meat","blood",null] , chance:50 },
+ "z_head": { elem2 : ["infection","infection","infection","bone",null] , chance:50 },
+ "z_body": { elem1 : "mad_682" , elem2: ["infection","infection","rotten_meat","bone",null] , chance:50 },
+ "homunculus": { elem2 : ["slime","blood",null] , chance:10 },
+ "rat": { elem2: ["infection","infection","plague"] },
"frog": { elem2 : ["slime","blood",null] , chance:10 },
"bird": { elem2 : ["feather","blood",null] , chance:10 },
"meat": { elem2 : null , chance:0.2 },
@@ -1072,6 +1076,8 @@ elements.mad_682 = {
reactions: {
"head": { elem2 : ["bone","blood",null] },
"body": { elem2 : ["meat","blood",null] },
+ "z_head": { elem2 : ["bone","infection",null] },
+ "z_body": { elem2 : ["meat","infection",null] },
"homunculus": { elem2 : ["slime","blood",null] },
"frog": { elem2 : ["slime","blood",null] },
"bird": { elem2 : ["feather","blood",null] },
@@ -1223,4 +1229,4 @@ elements.hyper_tickle_monster = {
stain: 0.08,
};
-// SCPs with ID over 999 here
\ No newline at end of file
+// SCPs with ID over 999 here
diff --git a/mods/spaceship.js b/mods/spaceship.js
new file mode 100644
index 00000000..3602462e
--- /dev/null
+++ b/mods/spaceship.js
@@ -0,0 +1,138 @@
+elements.power_core = {
+ color: ["#10F7F3", "#5AEDEB", "#BDFCFB"],
+ behavior: behaviors.WALL,
+ temp: 250,
+ category: "special",
+ stateHigh: "n_explosion",
+ tempHigh: 9500,
+ state: "solid",
+ desc: "The power core for your spaceship! Make sure it doesnt reach 9500 degrees!" ,
+ tick: function(pixel) {
+ const elementToCheck = "core_casing";
+let isValid = true;
+for (let i = pixel.x - 4; i < pixel.x + 4; i++) {
+ for (let j = pixel.y - 4; j < pixel.y + 4; j++) {
+ if (Math.abs(pixel.x - i) === 4 || Math.abs(pixel.y - j) === 4) {isValid &= pixelMap[i][j]?.element === elementToCheck;}
+ else if (i !== pixel.x && j !== pixel.y) isValid &= isEmpty(i, j);
+ }
+}
+// if (!pixel.alerted) {
+ // if (isValid) { alert("Power Core succesfully stored") }
+ // else { alert("Invalid core! Make sure its a 9x9 hollow box with the pixel in the middle!"); }
+ // pixel.alerted = true;
+// } Not finished Yet
+if (pixel.temp === 5000) { pixel.color = pixelColorPick(pixel,"#F92810");}
+ else if ( pixel.temp < 2000) { pixel.color = pixelColorPick(pixel,"#F9B610");}
+ else { pixel.color = pixelColorPick(pixel,"#5AEDEB");}
+ if (isValid) { if (pixelMap[pixel.x][pixel.y-4].element === "core_casing")
+ {createPixel("core_energizer", pixel.x, pixel.y-5);}}
+ else {{createPixel("core_energizer", pixel.x, pixel.y-4);}
+ }
+},
+};
+elements.thrusters = {
+ color: ["#8D8D8C", "#666666"],
+ behavior: behaviors.WALL,
+ category: "special",
+ behaviorOn: [
+ "XX|XX|XX",
+ "XX|XX|CR:fire",
+ "XX|XX|XX",
+ ],
+ state: "solid",
+ desc: "Use this to drive your ship! (Cosmetic)",
+ conduct:1,
+};
+elements.core_wall = {
+ color: ["#6EB5F1", "#708494"],
+ behavior: behaviors.WALL,
+ hardness: 1,
+ density: 90000000,
+ desc: "Harder than anything in the world!",
+ category: "special",
+};
+elements.space_blaster = {
+ color: ["#10F7F3", "#5AEDEB", "#BDFCFB"],
+ tick: function(pixel) {
+ for (var i = 0; i < 3; i++) {
+ var skip = false;
+ if (!isEmpty(pixel.x,pixel.y-1,true)) {
+ var p = pixelMap[pixel.x][pixel.y-1];
+ if (p.element === "space_blaster") { skip = true; }
+ if (Math.random() < 0.9 && elements[p.element].hardness !== 1) {
+ deletePixel(p.x,p.y);
+ }
+ }
+ if (!tryMove(pixel,pixel.x-1,pixel.y,["flash","heat_ray","electric"]) && !skip) {
+ explodeAt(pixel.x,pixel.y,30,"plasma");
+ var coords = circleCoords(pixel.x,pixel.y,15);
+ coords.forEach(function(coord) {
+ var x = coord.x;
+ var y = coord.y;
+ if (!isEmpty(x,y,true)) {
+ pixelMap[x][y].temp += 10000;
+ pixelTempCheck(pixelMap[x][y]);
+ }
+ })
+ deletePixel(pixel.x,pixel.y);
+ return;
+ }
+ }
+ },
+ category: "energy",
+ state: "solid",
+ density: 100000000,
+ temp: 10000,
+ hardness: 1,
+ maxSize: 3,
+ cooldown: defaultCooldown,
+ excludeRandom: true,
+ desc: "A energized blaster pixel",
+};
+elements.space_gunner_LEFT = {
+ color: ["#708494", "#5A6873"],
+ behavior: behaviors.WALL,
+ category: "special",
+ behaviorOn: [
+ "XX|XX|XX",
+ "CR:space_blaster|XX|XX",
+ "XX|XX|XX",
+ ],
+ state: "solid",
+ desc: "Use this to shoot your enemies! (Shoots Left)",
+ conduct:1,
+};
+elements.space_gunner_RIGHT = {
+ color: ["#708494", "#5A6873"],
+ behavior: behaviors.WALL,
+ category: "special",
+ behaviorOn: [
+ "XX|XX|XX",
+ "XX|XX|CR:space_blaster",
+ "XX|XX|XX",
+ ],
+ state: "solid",
+ desc: "Use this to shoot your enemies! (Shoots Right)",
+ conduct:1,
+};
+elements.core_energizer = {
+ color: "#FFFB00",
+ hidden: true,
+ behavior: behaviors.WALL,
+ state: "solid",
+ tick: function(pixel) {
+ createPixel("radiation", pixel.x, pixel.y+1)
+ },
+};
+elements.core_casing = {
+ color: ["#4A7375","#C1D875","#8BFCF3"],
+ reactions: {
+ "radiation": { elem2:"electric", temp1:200 }
+ },
+ behavior: behaviors.WALL,
+ category: "special",
+ density: 2710,
+ conduct: 0.73,
+ hardness: 1,
+ desc: "Casing for the inner core!",
+ };
\ No newline at end of file