This commit is contained in:
slweeb 2024-05-04 17:58:59 -04:00
commit 0647f2208a
13 changed files with 1176 additions and 55 deletions

View File

@ -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":"galliumz",
"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":"leves",
"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átriumz",
"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énz",
"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_leves",
"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"
}

View File

@ -122,6 +122,7 @@
<tr><td>betterModManager.js</td><td>Improvements to the Mod Manager</td><td>ggod</td></tr>
<tr><td>betterSettings.js</td><td>Adds additional settings and functionality</td><td>ggod</td></tr>
<tr><td>betterStats.js</td><td>Separate “real” and “set” TPS, meaning you can see what the TPS actually is, instead of only seeing what its set to</td><td>mollthecoder</td></tr>
<tr><td>buildingreplicator.js</td><td>Scans and replicates builds anywhere on the screen, along with some preset submitted builds</td><td>nousernamefound</td></tr>
<tr><td>change.js</td><td>Adds a tool that only replaces existing pixels</td><td>Alice</td></tr>
<tr><td>color_tools.js</td><td>Adds tools that manipulate colors</td><td>Alice</td></tr>
<tr><td>controllable_pixel_test.js</td><td>Adds a pixel that can be controlled with the keyboard keys. <a href="https://github.com/R74nCom/sandboxels/commit/58dfa9477f2ed7ec9c44b00a35162e7c63bc129c">Read the commit description for more info.</a> [PC ONLY]</td><td>Alice</td></tr>
@ -234,6 +235,8 @@
<tr><td>sbstuff.js</td><td>Adds many foods</td><td>stefanblox</td></tr>
<tr><td>soups.js</td><td>Adds seasoning and soup</td><td>pixelegend4</td></tr>
<tr><td>weAllScreamFor.js</td><td>Adds ice cream toppings</td><td>rottenEgghead</td></tr>
<tr><td>CherrySoda.js</td><td>Adds materials to make Cherry soda. Benzaldehyde + seltzer = Cherrysoda.</td><td>guzzo86</td></tr>
<tr><td>GrapeSoda.js</td><td>Adds materials to make Grape soda. Methylanthranilate + seltzer = Grapesoda.</td><td>guzzo86</td></tr>
<!----><tr><td class="modCat" colspan="3">Life & Nature</td></tr><!---->
<tr><td>advanced_colonies.js</td><td>Adds davlers, creatures with complex colonies</td><td>DaviStudios</td></tr>

View File

@ -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)]
}

View File

@ -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,
}

140
mods/GrapeSoda.js Normal file
View File

@ -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,
}

517
mods/Quicksand_one.js Normal file
View File

@ -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
};

View File

@ -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
}

210
mods/buildingreplicator.js Normal file
View File

@ -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);
}
}
}

View File

@ -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)

View File

@ -1798,6 +1798,7 @@ elements.invisiblewall = {
category: "solids",
movable: false,
noMix: true,
hardness: 1,
},
elements.bismuth = {
color: ["#818181","#989898","#b0b0b0","#c9c9c9"],

44
mods/potato_chips.js Normal file
View File

@ -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},
}
}

View File

@ -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
// SCPs with ID over 999 here

138
mods/spaceship.js Normal file
View File

@ -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!",
};