From 0a93dc6b8a2324b36e802a09ae2b071fc250f60f Mon Sep 17 00:00:00 2001 From: HACKERPRO908 <130792075+HACKERPRO908@users.noreply.github.com> Date: Sat, 6 Jan 2024 16:36:13 +0000 Subject: [PATCH 01/13] fantasy_elements.js Update 1.2.1 fixed:(new elements not appearing) fantasy_elements.js fixed the visibility issue Signed-off-by: HACKERPRO908 <130792075+HACKERPRO908@users.noreply.github.com> --- mods/fantasy_elements.js | 154 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 146 insertions(+), 8 deletions(-) diff --git a/mods/fantasy_elements.js b/mods/fantasy_elements.js index 87cc8f4e..5eb5b959 100644 --- a/mods/fantasy_elements.js +++ b/mods/fantasy_elements.js @@ -151,6 +151,7 @@ elements.dragon_scale = { reactions: { "fire": { elem1: null, elem2: "dragon_breath" }, "plasma": { elem1: null, elem2: "dragon_breath" }, + "incinerate": { elem1: null, elem2: "ash" }, "goblins_delight": { elem1: "dragon_breath", elem2: null }, "pulsium": { elem1: "dragon_breath", elem2: null }, "oil": { elem1: null, elem2: "dragon_breath" }, @@ -177,9 +178,9 @@ elements.mystic_runes = { // Update the element's behavior }, reactions: { - "heat_ray": { elem1: null, elem2: "mystic_runes" }, - "god_ray": { elem1: null, elem2: "mystic_runes" }, - "laser": { elem1: null, elem2: "mystic_runes" }, + "heat_ray": { elem1: "mystic_runes", elem2: "mystic_runes" }, + "god_ray": { elem1: "dragon_scale", elem2: "dragon_scale" }, + "laser": { elem1: "mystic_runes", elem2: "mystic_runes" }, "helium": { elem1: null, elem2: "mystic_runes" }, "oxygen": { elem1: null, elem2: "mystic_runes" }, "sugar": { elem1: null, elem2: "mystic_runes" }, @@ -198,11 +199,8 @@ elements.enchanted_wood = { state: "solid", density: 0.8, weight: 60, - update: function(x, y) { - // Update the element's behavior - }, reactions: { - "fire": { elem1: null, elem2: "charcoal" }, + "fire": { elem1: null, elem2: "mystic_runes" }, "plasma": { elem1: null, elem2: "charcoal" }, "water": { elem1: null, elem2: "mystic_runes" }, }, @@ -210,7 +208,7 @@ elements.enchanted_wood = { // update 1.1 below // adds 3 more extra elements -// by hackerpro908 +// by pixelegend4 // main game by R74N called sandboxels elements.quartzium = { @@ -222,6 +220,7 @@ elements.quartzium = { weight: 100, reactions: { "fire": { elem1: "quartz", elem2: "quartz" }, + "plasma": { elem1: "quartz", elem2: "quartz" }, }, }; elements.quartz = { @@ -241,3 +240,142 @@ elements.moonite = { density: 8076, weight: 100, }; +elements.faustium = { + color: "#8B008B", + behavior: behaviors.SUPERFLUID, + category: "fantasy", + state: "liquid", + density: 800, + viscosity: 0.01, + weight: 300, + reactions: { + "water": { elem1: "moonite", elem2: "moonite" }, + }, +}; + +// update 1.2 +// adds more below +// added faustium reaction + +elements.nebulaflare = { + color: ["#7500FF", "#00FFFB", "#FF00FC"], + behavior: behaviors.GAS, + state: "gas", + density: 0.1, + weight: 0.1, + category: "fantasy", + reactions: { + "fire": { elem1: "moonite", elem2: "moonite" }, + "moonite": { elem1: "quartzium", elem2: "quartzium" }, + + }, +}; + +elements.flaro = { + color: ["#ff4d4d", "#ff9933", "#ffd11a", "#ff9933", "#ff4d4d"], + behavior: behaviors.GAS, + category: "fantasy", + state: "gas", + density: 8076, + weight: 100, +}; + +elements.aurorium = { + color: ["#75c0e0", "#00ff00", "#ffffff", "#00ff00", "#75c0e0"], + behavior: behaviors.GAS, + category: "fantasy", + state: "gas", + density: 55, + weight: 1, + reactions: { + "plasma": { elem1: "explosion", elem2: "explosion" }, + "flaro": { elem1: "nebulaflare", elem2: "nebulaflare" }, + + } +}; + +elements.glimmerium = { + color: ["#ff3333", "#ff6666", "#ff9999", "#ffcc99", "#ff6633"], + behavior: behaviors.LIGHT, + category: "fantasy", + state: "gas", + density: 0.01, + weight: 0.5, + temperature: 3000, + reactions: { + "aurorium": { elem1: "sodium", elem2: "sodium" }, + "flaro": { elem1: "nebulaflare", elem2: "nebulaflare" }, + "pulsium": { elem1: "water", elem2: "water" }, + } +}; + + +elements.osmoz = { + color: "#1ff099", + behavior: behaviors.SOLID, + category: "fantasy", + state: "solid", + density: 5000, + weight: 300, + reactions: { + "fire": { elem1: "nebulaflare", elem2: "nebulaflare" }, + } +}; + +elements.goblin = { + "color": "#2ae856", + "state": "solid", + "behavior": [ + "XX|XX|DL", + "XX|FX%0.5|M2%3 AND DL", + "XX|M1|XX", + ], + "category":"fantasy", + reactions: { + "goblins_delight": { elem2:null, chance:0.9 }, + }, +}; + +elements.fenzium = { + color: ["#D16587", "#FF1493"], + behavior: behaviors.GAS, + category: "fantasy", + state: "gas", + density: 99, + weight: 60, + reactions: { + "uranium": { elem1: "explosion", elem2: "explosion" }, + } +}; + +elements.sceptrium = { + color: "#add8e6", + behavior: behaviors.SOLID, + category: "fantasy", + state: "solid", + density: 1500, + weight: 100, + reactions: { + "water": { elem1: "sceptrium", elem2: "sceptrium_dust" }, + "fire": { elem1: "sceptrium", elem2: "sceptrium_dust" }, + "plasma": { elem1: "sceptrium", elem2: "sceptrium_dust" }, + "laser": { elem1: "sceptrium", elem2: "sceptrium_dust" }, + "explosion": { elem1: "sceptrium", elem2: "sceptrium_dust" }, + }, +}; + +elements.sceptrium_dust = { + color: ["#87ceeb", "#add8e6", "#b0e0e6"], + behavior: behaviors.POWDER, + category: "fantasy", + state: "solid", + density: 0.5, + weight: 1, + reactions: { + "water": { elem1: "sceptrium_dust", elem2: "sceptrium_dust" }, + "fire": { elem1: "sceptrium_dust", elem2: "sceptrium_dust" }, + "plasma": { elem1: "sceptrium_dust", elem2: "sceptrium_dust" }, + "laser": { elem1: "sceptrium_dust", elem2: "sceptrium_dust" }, + "explosion": { elem1: "sceptrium_dust", elem2: "sceptrium_dust" }, + }, +}; From d0a3f2f0799391d25a3808b3c108b5b1f5fc2a3d Mon Sep 17 00:00:00 2001 From: Alexthetransfem <124483815+theenchantedsword@users.noreply.github.com> Date: Sat, 6 Jan 2024 17:56:30 -0600 Subject: [PATCH 02/13] Update morechemistry.js --- mods/morechemistry.js | 151 ++++++++++++++++++++++++++++++++---------- 1 file changed, 117 insertions(+), 34 deletions(-) diff --git a/mods/morechemistry.js b/mods/morechemistry.js index c29fc2a3..a1196515 100644 --- a/mods/morechemistry.js +++ b/mods/morechemistry.js @@ -1,5 +1,5 @@ //This mod was made by Alex the transfem, https://discord.com/users/778753696804765696 on discord and https://www.tiktok.com/@alextheagenenby?_t=8hoCVI3NRhu&_r=1 on tiktok. -//V1.4.1: added a mixer element and an improved sensor element. +//version 1.4.2: added incinerator, E-incinerator and improved mixer to be compatible with nousersthings.js and to have a range of effect. function customExplosion(pixel1, pixel2, radius, list) { let x = pixel1.x; let y = pixel1.y; @@ -40,8 +40,6 @@ function reactPixels(pixel1,pixel2) { if (r.radius !== undefined){ let radius = r.radius; let list = r.explosion.split(","); - console.log(list); - console.log(pixel1, pixel2, radius, list); customExplosion(pixel1, pixel2, radius, list); } } @@ -214,7 +212,7 @@ elements.magnesium = { reactions: { "acid": { "elem1": "hydrogen", "chance": 0.02, }, "aqua_regia": { "elem1": "hydrogen", "chance": 0.2, "elem2": "pop", }, - + }, behavior: behaviors.POWDER, fireColor: "#ffffff", @@ -751,10 +749,11 @@ elements.rubidium = { chlorine: { elem1: "rubidiumsalt" }, acid: { explosion: "fire,rubidiumsalt,water", radius: 7, }, aqua_regia: { explosion: "fire,rubidiumsalt,fire,water", radius: 8, }, - acidic_water: { explosion: "water,water,water,rubidiumsalt", radius: 3.5, }, + acidic_water: { explosion: "water,water,water,rubidiumsalt", radius: 3, }, nitric_acid: { explosion: "fire,fire,hydrogen", radius: 7 }, chloroauric_acid: { explosion: "fire,fire,hydrogen,gold_coin", radius: 7, }, liquid_chloroauric_acid: { explosion: "fire,fire,hydrogen,gold_coin", radius: 7, }, + water: { explosion: "fire,rubidiumhydroxide", radius: 6 }, }, density: 1532, fireColor: "#d91e1e", @@ -773,12 +772,14 @@ elements.moltenrubidium = { chlorine: { elem1: "rubidiumsalt" }, acid: { explosion: "fire,rubidiumsalt,water", radius: 7, }, aqua_regia: { explosion: "fire,rubidiumsalt,fire,water", radius: 8, }, - acidic_water: { explosion: "water,water,water,rubidiumsalt", radius: 3.5, }, + acidic_water: { explosion: "water,water,water,rubidiumsalt", radius: 3, }, nitric_acid: { explosion: "fire,fire,hydrogen", radius: 7 }, chloroauric_acid: { explosion: "fire,fire,hydrogen,gold_coin", radius: 7, }, liquid_chloroauric_acid: { explosion: "fire,fire,hydrogen,gold_coin", radius: 7, }, - fireColor: "#d91e1e", + water: { explosion: "fire,rubidiumhydroxide", radius: 6 }, + }, + fireColor: "#d91e1e", tick: function(pixel) { pixel.burning = true; }, @@ -857,7 +858,7 @@ elements.rubidiumhydroxide = { chlorine: { elem1: "rubidiumsalt" }, acid: { explosion: "fire,rubidiumsalt,water", radius: 7, }, aqua_regia: { explosion: "fire,rubidiumsalt,fire,water", radius: 8, }, - acidic_water: { explosion: "water,water,water,rubidiumsalt", radius: 3.5, }, + acidic_water: { explosion: "water,water,water,rubidiumsalt", radius: 3, }, nitric_acid: { explosion: "fire,fire,hydrogen", radius: 7 }, chloroauric_acid: { explosion: "fire,fire,hydrogen,gold_coin", radius: 7, }, liquid_chloroauric_acid: { explosion: "fire,fire,hydrogen,gold_coin", radius: 7, }, @@ -869,7 +870,7 @@ elements.rubidiumhydroxide = { state: "liquid", density: 2.12, name: "RubidiumHydroxide", - stateHigh: "potassiumhydroxidecrystals", + stateHigh: "rubidiumhydroxidecrystals", tempHigh: "1388", } elements.rubidiumhydroxidecrystals = { @@ -881,7 +882,7 @@ elements.rubidiumhydroxidecrystals = { chlorine: { elem1: "rubidiumsalt" }, acid: { explosion: "fire,rubidiumsalt,water", radius: 7, }, aqua_regia: { explosion: "fire,rubidiumsalt,fire,water", radius: 8, }, - acidic_water: { explosion: "water,water,water,rubidiumsalt", radius: 3.5, }, + acidic_water: { explosion: "water,water,water,rubidiumsalt", radius: 3, }, nitric_acid: { explosion: "fire,fire,hydrogen", radius: 7 }, chloroauric_acid: { explosion: "fire,fire,hydrogen,gold_coin", radius: 7, }, liquid_chloroauric_acid: { explosion: "fire,fire,hydrogen,gold_coin", radius: 7, }, @@ -891,8 +892,6 @@ elements.rubidiumhydroxidecrystals = { state: "powder", density: 2.12, name: "RubidiumHydroxideCrystals", - stateHigh: "potassiumhydroxidecrystals", - tempHigh: "1388", } elements.esuperheater = { conduct: 1, @@ -951,28 +950,26 @@ elements.esuperheater = { ], category: "machines", name: "e-freezer", - }, - elements.mixer = { - name: "Mixer", - behavior:[ - [ - "SW", - "SW", - "SW" - ], - [ - "SW", - "XX", - "SW" - ], - [ - "SW", - "SW", - "SW" - ] - ], +} +let num = 0; +elements.morechemmixer = { + name: "MoreChemMixer", + behavior: behaviors.WALL, category: "machines", noMix: true, + onSelect: function(pixel) { + let item = prompt("enter range for mixing."); + if(/^\d+$/.test(item)){ + num = parseInt(item); + } else { + alert("that is not an integer."); + } + }, + tick: function(pixel) { + pixel.clone = `range: ${num}`; + let range = mouseRange(pixel.x, pixel.y, num); + mix(range); + } } let item = ""; elements.improvedsensor = { @@ -985,7 +982,7 @@ elements.improvedsensor = { if(pixel.start == pixelTicks){ pixel.clone = item; } - + for (var i = 0; i < adjacentCoords.length; i++) { var coords = adjacentCoords[i]; var x = pixel.x + coords[0]; @@ -1005,5 +1002,91 @@ elements.improvedsensor = { category:"machines", darkText: true, hardness: 1, - + }; + +elements.eincinerator = { + conduct: 1, + color: 'rgb(255, 70, 0)', + colorObject: { + "r": 240, + "g": 10, + "b": 0 + }, + behavior: behaviors.WALL, + behaviorOn: [ + [ + "XX", + "HT:100000", + "XX" + ], + [ + "HT:100000", + "XX", + "HT:100000" + ], + [ + "XX", + "HT:100000", + "XX" + ] + ], + category: "machines", + name: "E-Incinerator", + noMix: true, +} +elements.incinerator = { + + behavior: [ + [ + "XX", + "HT:100000", + "XX" + ], + [ + "HT:100000", + "XX", + "HT:100000" + ], + [ + "XX", + "HT:100000", + "XX" + ] + ], + name: "Incinerator", + category: "machines", + colorObject: { + "r": 255, + "g": 50, + "b": 0 + }, + color: 'rgb(255, 50, 0)', + noMix: true, +} +function mix(range){ + let mixlist = []; + for (var i = 0; i < range.length; i++) { + var x = range[i][0]; + var y = range[i][1]; + if (!isEmpty(x,y,true)) { + var pixel = pixelMap[x][y]; + if (elements[pixel.element].noMix !== true || shiftDown) { + mixlist.push(pixel); + } + } + } + for (var i = 0; i < mixlist.length; i++) { + var pixel1 = mixlist[Math.floor(Math.random()*mixlist.length)]; + var pixel2 = mixlist[Math.floor(Math.random()*mixlist.length)]; + swapPixels(pixel1,pixel2); + mixlist.splice(mixlist.indexOf(pixel1),1); + mixlist.splice(mixlist.indexOf(pixel2),1); + if (elements[pixel1.element].onMix) { + elements[pixel1.element].onMix(pixel1,pixel2); + } + if (elements[pixel2.element].onMix) { + elements[pixel2.element].onMix(pixel2,pixel1); + } + } +} From 3aea2de735b3f025ca6332598693f4b99c251548 Mon Sep 17 00:00:00 2001 From: stefanblox <155691462+stefanblox@users.noreply.github.com> Date: Sat, 6 Jan 2024 23:46:30 -0300 Subject: [PATCH 03/13] sbstuff 1.6 try to make fried water, i recommend watching The Action Lab's video on fried water, that might help, all of the ingredients are in joke tab (except for water itself) if you manage to make fried water, ping me on discord (@stefan blox) good luck --- mods/sbstuff.js | 350 ++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 323 insertions(+), 27 deletions(-) diff --git a/mods/sbstuff.js b/mods/sbstuff.js index 96e2c8d4..bc653f28 100644 --- a/mods/sbstuff.js +++ b/mods/sbstuff.js @@ -33,6 +33,7 @@ elements.moth = { }; elements.cotton_candy = { + isFood: true, tempHigh: 500, stateHigh: "ash", density: 1000, @@ -51,7 +52,7 @@ elements.mc_donalds = { density: 69, color: "#ff0000", behavior: behaviors.STURDYPOWDER, - category: "food", + category: "joke", state: "solid", }; @@ -111,7 +112,6 @@ elements.avocado = { elements.guacamole = { isFood: true, - hidden: true, tempHigh: 500, stateHigh: "ash", color: "#a2e09d", @@ -131,9 +131,19 @@ elements.watermelon = { state: "solid", }; -elements.watermelon_flesh = { +elements.melon = { //this one is kind of boring ngl it looks like a sponge but its food isFood: true, + tempHigh: 500, + stateHigh: "steam", + color: "#c4bf1f", + behavior: behaviors.STURDYPOWDER, + category: "food", + state: "solid", +}; + +elements.watermelon_flesh = { hidden: true, + isFood: true, tempHigh: 500, stateHigh: "steam", color: "#ff5d47", @@ -173,13 +183,12 @@ elements.green_berries = { }; elements.meth = { - hidden: true, hardness: 1, tempHigh: 500, stateHigh: "melted_meth", color: "#0affef", behavior: behaviors.POWDER, - category: "powders", + category: "joke", state: "solid", }; @@ -217,14 +226,28 @@ elements.kiwi = { state: "solid", }; -elements.peanut_butter = { +elements.lemon = { + breakInto: "lemonade", + tempHigh: 500, + stateHigh: "steam", + color: "#c9c22a", + behavior: behaviors.STURDYPOWDER, + category: "food", + state: "liquid", +} + +elements.lemon.reactions = { + "juice": { elem1: null, elem2: "lemonade" } +} + +elements.lemonade = { isFood: true, tempHigh: 500, - stateHigh: "ash", - color: "#d4903d", - behavior: behaviors.POWDER, - category: "food", - state: "solid", + stateHigh: "steam", + color: "#fff41c", + behavior: behaviors.LIQUID, + category: "liquids", + state: "liquid", }; elements.poop = { @@ -233,7 +256,7 @@ elements.poop = { stateHigh: "ash", color: "#331600", behavior: behaviors.STURDYPOWDER, - category: "special", + category: "joke", state: "solid", reactions: { "piss": { elem1: null, elem2: "bless" }, @@ -241,6 +264,7 @@ elements.poop = { }; elements.marshmallow = { + isFood: true, tempHigh: 50, stateHigh: "cooked_marshmallow", color: "#ffe4e3", @@ -250,6 +274,8 @@ elements.marshmallow = { }; elements.cooked_marshmallow = { + hidden: true, + isFood: true, tempHigh: 150, stateHigh: "burnt_marshmallow", color: "#d49e9d", @@ -259,6 +285,7 @@ elements.cooked_marshmallow = { }; elements.burnt_marshmallow = { + hidden: true, tempHigh: 500, stateHigh: "ash", color: "#1c1212", @@ -268,15 +295,29 @@ elements.burnt_marshmallow = { }; elements.ramen = { - tempHigh: 500, - stateHigh: "ash", + isFood: true, + tempHigh: 90, + stateHigh: "cooked_ramen", color: "#fae34d", behavior: behaviors.POWDER, category: "food", state: "solid", }; +elements.cooked_ramen = { + hidden: true, + density: 800, + isFood: true, + tempHigh: 500, + stateHigh: "ash", + color: "#ada24e", + behavior: behaviors.SUPPORT, + category: "food", + state: "liquid", +} + elements.cereal = { + isFood: true, tempHigh: 500, stateHigh: "ash", color: ["#ba3425", "#baa31e", "#26ba1e", "#1e9dba", "#6f1eba"], @@ -286,6 +327,7 @@ elements.cereal = { }; elements.sushi = { + isFood: true, tempHigh: 500, stateHigh: "ash", color: ["#020802", "#fff0eb", "#ff6524", "#35ab26"], @@ -295,6 +337,10 @@ elements.sushi = { }; elements.indestructible_wall = { + noMix: true, + tempHigh: 99999999999999999999999999999999, + stateHigh: "void", + hardness: 1, color: "#7a7a7a", behavior: behaviors.WALL, category: "solids", @@ -307,11 +353,12 @@ elements.diamond_ore = { breakInto: "diamond", color: ["#525252", "#525252", "#525252", "#525252", "#525252", "#2ba3ff"], behavior: behaviors.WALL, - category: "solids", + category: "joke", state: "solid", }; elements.coca_cola = { + isFood: true, tempHigh: 500, stateHigh: "steam", color: "#381e13", @@ -325,11 +372,12 @@ elements.piss = { stateHigh: "steam", color: "#ffff00", behavior: behaviors.LIQUID, - category: "special", + category: "joke", state: "liquid", }; elements.soup = { + isFood: true, temp: 50, tempHigh: 500, stateHigh: "steam", @@ -340,6 +388,7 @@ elements.soup = { }; elements.pastry = { + isFood: true, tempHigh: 500, stateHigh: "ash", color: "#ba6727", @@ -349,23 +398,26 @@ elements.pastry = { }; elements.melted_meth = { - hidden: true, tempHigh: 100000, stateHigh: "beans", color: "#00a2ff", behavior: behaviors.LIQUID, - category: "states", + category: "joke", state: "solid", }; elements.expired_milk = { - hidden: true, tempHigh: 500, stateHigh: "ash", color: "#b8c2b4", behavior: behaviors.LIQUID, - category: "states", + category: "liquids", state: "solid", + reactions: { + "dirty_water": { elem1: "milk", elem2: "expired_milk" }, + "milk": { elem1: "expired_milk", elem2: "milk" }, + "water": { elem1: "milk", elem2: "dirty_water" }, + } }; elements.kfc = { @@ -373,7 +425,7 @@ elements.kfc = { stateHigh: "void", color: "#d16e11", behavior: behaviors.STURDYPOWDER, - category: "food", + category: "joke", state: "solid", }; @@ -382,7 +434,7 @@ elements.wendys = { stateHigh: "void", color: "#db1e0d", behavior: behaviors.STURDYPOWDER, - category: "food", + category: "joke", state: "solid", }; @@ -391,7 +443,7 @@ elements.burger_king = { stateHigh: "void", color: "#db660d", behavior: behaviors.STURDYPOWDER, - category: "food", + category: "joke", state: "solid", }; @@ -400,7 +452,7 @@ elements.pizza_hut = { stateHigh: "void", color: "#ed3b24", behavior: behaviors.STURDYPOWDER, - category: "food", + category: "joke", state: "solid", }; @@ -409,14 +461,13 @@ elements.dominos = { stateHigh: "void", color: ["#ed4934", "#3494ed"], behavior: behaviors.STURDYPOWDER, - category: "food", + category: "joke", state: "solid", }; elements.vape = { tempHigh: 500999, - hidden: true, stateHigh: "beans", color: "#999999", behavior: [ @@ -424,7 +475,7 @@ elements.vape = { "CR:smoke|XX|CR:smoke", "XX|CR:smoke|XX", ], - category: "special", + category: "joke", state: "solid", }; @@ -436,7 +487,11 @@ elements.tendon = { state: "gas", }; +elements.plasma.tempHigh = 18000 +elements.plasma.stateHigh = "tendon" + elements.pea = { + isFood: true, breakInto: "mashed_pea", tempHigh: 500, stateHigh: "ash", @@ -445,3 +500,244 @@ elements.pea = { category: "food", state: "solid", }; + +elements.mashed_pea = { + hidden: true, + isFood: true, + tempHigh: 500, + stateHigh: "ash", + color: "#97f578", + behavior: behaviors.POWDER, + category: "food", + state: "liquid", +}; + +elements.beans = { + isFood: true, + viscosity: 1000, + density: 721, + hardness: 1, + color: ["#ff751f", "#ff411f"], + category: "food", + behavior: behaviors.LIQUID, + state: "liquid", +}; + +elements.chicken = { + tempHigh: 60, + stateHigh: "chicken_nugget", + color: "#cfbab0", + behavior: behaviors.STURDYPOWDER, + category: "food", + state: "solid", +}; + +elements.chicken_nugget = { + hidden: true, + isFood: true, + tempHigh: 500, + stateHigh: "ash", + color: "#e0723f", + behavior: behaviors.STURDYPOWDER, + category: "food", + state: "liquid", +}; + +elements.cocaine = { + tempHigh: 500, + stateHigh: "ash", + color: "#fafafa", + behavior: behaviors.POWDER, + category: "joke", + state: "liquid", +}; + +elements.zombie = { + viscosity: 1000, + density: 1000, + hardness: 1, + tempHigh: 500, + stateHigh: "ash", + color: "#114700", + behavior: behaviors.LIQUID, + category: "special", + state: "liquid", +}; + +elements.toothpaste = { + tempHigh: 500, + stateHigh: "ash", + color: ["#e8e8e8", "#ff0000", "#00b7ff"], + behavior: behaviors.STURDYPOWDER, + category: "liquids", + state: "liquid", +}; + +elements.radioactive_grape = { + hidden: true, + tempHigh: 1000, + stateHigh: "ash", + color: "#7d00d1", + behavior: behaviors.RADPOWDER, + category: "food", + state: "liquid", +}; + + +elements.shampoo = { + viscosity: 1000, + density: 500, + hardness: 1, + tempHigh: 500, + stateHigh: "steam", + color: "#ccd3e0", + behavior: behaviors.FOAM, + category: "liquids", + state: "liquid", +}; + +elements.salami = { + density: 1000, + hardness: 1, + tempHigh: 500, + stateHigh: "ash", + color: "#de3c1d", + behavior: behaviors.STURDYPOWDER, + category: "food", + state: "liquid", +}; + +elements.moon = { + density: 3344, + hardness: 1, + tempHigh: 10000, + stateHigh: "beans", + color: "#bababa", + behavior: behaviors.WALL, + category: "special", + state: "solid", +}; + +elements.dragon_fruit = { + breakInto: "mashed_dragon_fruit", + tempHigh: 500, + stateHigh: "ash", + color: ["#ff006f", "#ff006f", "#ff006f", "#036300", "#ff006f", "#ff006f", "#ff006f", "#ff006f"], + behavior: behaviors.STURDYPOWDER, + category: "food", + state: "liquid", +}; + +elements.mashed_dragon_fruit = { + hidden: true, + tempHigh: 500, + stateHigh: "ash", + color: ["#e3e3e3", "#e3e3e3", "#0f0f0f", "#e3e3e3", "#e3e3e3", "#e3e3e3"], + behavior: behaviors.STURDYPOWDER, + category: "food", + state: "liquid", +}; + +elements.chantilly = { + hardness: 1, + tempHigh: 500, + stateHigh: "steam", + color: "#cccccc", + behavior: behaviors.FOAM, + category: "liquids", + state: "liquid", +}; + +elements.fart = { + tempHigh: 99999999999, + stateHigh: "void", + color: "#2e4722", + behavior: behaviors.DGAS, + category: "joke", + state: "gas", +}; + +elements.chips = { + density: 600, + hidden: true, + tempHigh: 500, + stateHigh: "ash", + color: "#ff9a1f", + behavior: behaviors.STURDYPOWDER, + category: "food", + state: "liquid", +}; + +elements.fries = { + density: 600, + hidden: true, + tempHigh: 500, + stateHigh: "ash", + color: "#d6ab0f", + behavior: behaviors.STURDYPOWDER, + category: "food", + state: "liquid", +}; + +elements.mayo = { + viscosity: 2000, + density: 1200, + tempHigh: 500, + stateHigh: "steam", + color: ["#ffe896", "#fff3c7"], + behavior: behaviors.LIQUID, + category: "liquids", + state: "liquid", +}; + +elements.barbecue_sauce = { + viscosity: 3000, + density: 1800, + tempHigh: 500, + stateHigh: "steam", + color: "#420400", + behavior: behaviors.LIQUID, + category: "liquids", + state: "liquid", +}; + +elements.fried_water = { + temp: 50, + hidden: true, + tempHigh: 500, + stateHigh: "ash", + color: "#a3591c", + behavior: behaviors.POWDER, + category: "joke", + state: "liquid", +}; + +elements.solid_water = { + hidden: true, + tempHigh: 100, + stateHigh: "fried_water", + color: "#dfe9f5", + behavior: behaviors.STURDYPOWDER, + category: "joke", + state: "liquid", +}; + +elements.grape.reactions = { + "radiation": { elem1: null, elem2: "radioactive_grape" } +}; + +elements.egg.reactions = { + "water": { elem1: "boiled_egg", tempMin: 100 }, + "steam": { elem1: "boiled_egg", tempMin: 100 } +}; + +elements.potato.reactions = { + "water": { elem1: "fries", tempMin: 100, chance: 50 }, + "water": { elem1: "chips", tempMin: 100, chance: 50 }, + "steam": { elem1: "fries", tempMin: 100, chance: 50 }, + "steam": { elem1: "fries", tempMin: 100, chance: 50 }, +}; + +elements.water.reactions = { + "cocaine": { elem1: null, elem2: "solid_water", chance: 1 } +} From ebef8403496b70cfd174d5b72ed27d2f7d2416fc Mon Sep 17 00:00:00 2001 From: baconthemyth <155854618+baconthemyth@users.noreply.github.com> Date: Sat, 6 Jan 2024 21:57:36 -0500 Subject: [PATCH 04/13] lemonade adds lemonade and stuff :D --- mods/lemonade.js | 81 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 mods/lemonade.js diff --git a/mods/lemonade.js b/mods/lemonade.js new file mode 100644 index 00000000..dcb725b8 --- /dev/null +++ b/mods/lemonade.js @@ -0,0 +1,81 @@ +elements.lemonade = { +color: "#FFEA00", +behavior: behaviors.LIQUID, +category: "liquids", +isFood: true, +state: "solid", +tick: function(pixel) { + if (isEmpty(pixel.x, pixel.y+1)) { + createPixel("body", pixel.x, pixel.y+1); + pixel.element = "head"; + } + else if (isEmpty(pixel.x, pixel.y-1)) { + createPixel("head", pixel.x, pixel.y-1); + pixelMap[pixel.x][pixel.y-1].color = pixel.color; + pixel.element = "body"; + pixel.color = pixelColorPick(pixel) + } + else { + deletePixel(pixel.x, pixel.y); + } +}, +}; + +elements.lemon_juice = { +color: "#FFFF00", +behavior: behaviors.LIQUID, +category: "liquids", +state: "solid", +reactions: { + "sugar_water": { elem1: "null", elem2: "lemonade" }, + } +}; + +elements.lemons = { + + color: "#8B8000", + behavior: behaviors.POWDER, + category: "food", + state: "solid", +breakInto: "lemon_juice" + +}; +elements.false_lemons = { + color: "#8B8000", + behavior: behaviors.POWDER, + category: "special", + state: "solid", + breakInto: "armageddon" +}; +elements.lemon_tree = { + category: "life", + color: "#a0522d", + tick: function(tick) { + if (!pixel.burning) { + if (!pixel.lc) { pixel.lc = "#8B8000" } + if (!pixel.wc) { pixel.wc = "#a0522d" } + if (isEmpty(pixel.x-1,pixel.y-1) && Math.random() < 0.02) { + if (Math.random() < 0.5) { + createPixel("lemons",pixel.x-1,pixel.y-1); + pixelMap[pixel.x-1][pixel.y-1].color = pixelColorPick(pixelMap[pixel.x-1][pixel.y-1], pixel.lc); + } + } + } + } +} +elements.false_lemon_tree = { + category: "life", + color: "#a0522d", + tick: function(tick) { + if (!pixel.burning) { + if (!pixel.lc) { pixel.lc = "#8B8000" } + if (!pixel.wc) { pixel.wc = "#a0522d" } + if (isEmpty(pixel.x-1,pixel.y-1) && Math.random() < 0.02) { + if (Math.random() < 0.5) { + createPixel("false_lemons",pixel.x-1,pixel.y-1); + pixelMap[pixel.x-1][pixel.y-1].color = pixelColorPick(pixelMap[pixel.x-1][pixel.y-1], pixel.lc); + } + } + } + } +} \ No newline at end of file From 54ad97a766c7c916bdaed270adb70faadb989be4 Mon Sep 17 00:00:00 2001 From: baconthemyth <155854618+baconthemyth@users.noreply.github.com> Date: Sat, 6 Jan 2024 22:01:29 -0500 Subject: [PATCH 05/13] Update lemonade.js fixed it --- mods/lemonade.js | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) diff --git a/mods/lemonade.js b/mods/lemonade.js index dcb725b8..06c99ebc 100644 --- a/mods/lemonade.js +++ b/mods/lemonade.js @@ -4,21 +4,6 @@ behavior: behaviors.LIQUID, category: "liquids", isFood: true, state: "solid", -tick: function(pixel) { - if (isEmpty(pixel.x, pixel.y+1)) { - createPixel("body", pixel.x, pixel.y+1); - pixel.element = "head"; - } - else if (isEmpty(pixel.x, pixel.y-1)) { - createPixel("head", pixel.x, pixel.y-1); - pixelMap[pixel.x][pixel.y-1].color = pixel.color; - pixel.element = "body"; - pixel.color = pixelColorPick(pixel) - } - else { - deletePixel(pixel.x, pixel.y); - } -}, }; elements.lemon_juice = { @@ -78,4 +63,4 @@ elements.false_lemon_tree = { } } } -} \ No newline at end of file +} From 617fbb79ceb18f48a7ea4c8d6eb9e15011b90494 Mon Sep 17 00:00:00 2001 From: baconthemyth <155854618+baconthemyth@users.noreply.github.com> Date: Sat, 6 Jan 2024 22:27:56 -0500 Subject: [PATCH 06/13] Update lemonade.js --- mods/lemonade.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mods/lemonade.js b/mods/lemonade.js index 06c99ebc..fa077098 100644 --- a/mods/lemonade.js +++ b/mods/lemonade.js @@ -4,7 +4,8 @@ behavior: behaviors.LIQUID, category: "liquids", isFood: true, state: "solid", -}; +} +elements.head.reactions["lemonade"] = {elem2: null} elements.lemon_juice = { color: "#FFFF00", From 313f04e67cc00a99751109202c018d709cc0bdad Mon Sep 17 00:00:00 2001 From: baconthemyth <155854618+baconthemyth@users.noreply.github.com> Date: Sat, 6 Jan 2024 22:44:39 -0500 Subject: [PATCH 07/13] Update lemonade.js --- mods/lemonade.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods/lemonade.js b/mods/lemonade.js index fa077098..8f85ae75 100644 --- a/mods/lemonade.js +++ b/mods/lemonade.js @@ -13,7 +13,7 @@ behavior: behaviors.LIQUID, category: "liquids", state: "solid", reactions: { - "sugar_water": { elem1: "null", elem2: "lemonade" }, + "sugar_water": { elem1: null, elem2: "lemonade" }, } }; From 0ebd95f8472769a3d922a68a0248e1b77fafd45a Mon Sep 17 00:00:00 2001 From: SquareScreamYT <134925668+SquareScreamYT@users.noreply.github.com> Date: Sun, 7 Jan 2024 17:01:49 +0800 Subject: [PATCH 08/13] Add the cat mod :))) added: - cat - kitten - cat food (mix batter and meat) --- mods/cat.js | 100 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 mods/cat.js diff --git a/mods/cat.js b/mods/cat.js new file mode 100644 index 00000000..6ed8ad63 --- /dev/null +++ b/mods/cat.js @@ -0,0 +1,100 @@ +// made by squarescreamyt + +elements.cat = { + color: ["#c05811","#cf7941","#d4ccc5","#ffe7b3","#f7b484","#ef7d51","#c15c37","#8e4024","#5f2612","#3a2930","#6b4540","#9d654f","#c68b68","#e2b98d","#ffe8aa","#292c33","#4b4f55","#76797e","#a5a6a7","#d5cfcd","#fff1e8"], + state: "solid", + behavior: [ + "M2%1|M2%2|M2%1", + "M2%10|XX|M2%10", + "XX|M1|XX", + ], + reactions: { + "meat": { elem2:null, chance:0.2, func:behaviors.FEEDPIXEL }, + "cooked_meat": { elem2:null, chance:0.2, func:behaviors.FEEDPIXEL }, + "fish": { elem2:null, chance:0.2, func:behaviors.FEEDPIXEL }, + "rat": { elem2:null, chance:0.2, func:behaviors.FEEDPIXEL }, + "cat_food": { elem2:null, chance:0.3, func:behaviors.FEEDPIXEL }, + "oxygen": { elem2:"carbon_dioxide", chance:0.3 }, + "mercury": { elem1:"rotten_meat", chance:0.1 }, + "bleach": { elem1:"rotten_meat", chance:0.1 }, + "infection": { elem1:"rotten_meat", chance:0.025 }, + "uranium": { elem1:"rotten_meat", chance:0.1 }, + "cyanide": { elem1:"rotten_meat", chance:0.1 }, + "chlorine": { elem1:"meat", chance:0.1 }, + "alcohol": { elem1:"meat", chance:0.025 }, + "dirty_water": { elem1:"rotten_meat", chance:0.0001 }, + "pool_water": { elem1:"rotten_meat", chance:0.005 }, + "vinegar": { elem1:"rotten_meat", chance:0.001 }, + }, + egg: "kitten", + foodNeed: 10, + temp: 30, + tempHigh: 100, + stateHigh: "cooked_meat", + tempLow: -18, + stateLow: "frozen_meat", + category:"life", + breakInto: "rotten_meat", + burn:15, + burnTime:300, + state: "solid", + density: 1450, + conduct: 0.2 +}; + +elements.kitten = { + color: ["#c05811","#cf7941","#d4ccc5","#ffe7b3","#f7b484","#ef7d51","#c15c37","#8e4024","#5f2612","#3a2930","#6b4540","#9d654f","#c68b68","#e2b98d","#ffe8aa","#292c33","#4b4f55","#76797e","#a5a6a7","#d5cfcd","#fff1e8"], + state: "solid", + behavior: [ + "M2%1|M2%2|M2%1", + "M2%10|FX%5 AND CH:cat%0.1|M2%10", + "XX|M1|XX", + ], + reactions: { + "meat": { elem2:null, chance:0.2, func:behaviors.FEEDPIXEL }, + "cooked_meat": { elem2:null, chance:0.2, func:behaviors.FEEDPIXEL }, + "fish": { elem2:null, chance:0.2, func:behaviors.FEEDPIXEL }, + "cat_food": { elem2:null, chance:0.3, func:behaviors.FEEDPIXEL }, + "rat": { elem2:null, chance:0.2, func:behaviors.FEEDPIXEL }, + "oxygen": { elem2:"carbon_dioxide", chance:0.3 }, + "mercury": { elem1:"rotten_meat", chance:0.1 }, + "bleach": { elem1:"rotten_meat", chance:0.1 }, + "infection": { elem1:"rotten_meat", chance:0.025 }, + "uranium": { elem1:"rotten_meat", chance:0.1 }, + "cyanide": { elem1:"rotten_meat", chance:0.1 }, + "chlorine": { elem1:"meat", chance:0.1 }, + "alcohol": { elem1:"meat", chance:0.025 }, + "dirty_water": { elem1:"rotten_meat", chance:0.0001 }, + "pool_water": { elem1:"rotten_meat", chance:0.005 }, + "vinegar": { elem1:"rotten_meat", chance:0.001 }, + }, + egg: "kitten", + foodNeed: 10, + temp: 30, + tempHigh: 100, + stateHigh: "cooked_meat", + tempLow: -18, + stateLow: "frozen_meat", + category:"life", + breakInto: "rotten_meat", + burn:15, + burnTime:300, + state: "solid", + density: 1450, + conduct: 0.2 +}; + +elements.cat_food = { + color: ["#b0853c","#c28e4a","#ab8e38","#b56845","#ab6f44","#b57f38"], + behavior: behaviors.STURDYPOWDER, + category: "food", + state: "solid", + hidden: "TRUE", + tempHigh: 1000, + stateHigh: ["ash", "smoke"], + density: 820.33, + isFood: true +}; + +if (!elements.batter.reactions) elements.batter.reactions = {}; +elements.batter.reactions.meat = { elem1: "cat_food", elem2: "cat_food" } \ No newline at end of file From d316b8affecccac86a0e6f9992d045755235e1ab Mon Sep 17 00:00:00 2001 From: baconthemyth <155854618+baconthemyth@users.noreply.github.com> Date: Sun, 7 Jan 2024 11:06:24 -0500 Subject: [PATCH 09/13] Update lemonade.js --- mods/lemonade.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mods/lemonade.js b/mods/lemonade.js index 8f85ae75..85f766e1 100644 --- a/mods/lemonade.js +++ b/mods/lemonade.js @@ -7,6 +7,8 @@ state: "solid", } elements.head.reactions["lemonade"] = {elem2: null} +elements.head.reactions["lemons"] = {elem2: null} + elements.lemon_juice = { color: "#FFFF00", behavior: behaviors.LIQUID, From 6138bc2b480e97194c86d1173ec3bf23de9dae04 Mon Sep 17 00:00:00 2001 From: baconthemyth <155854618+baconthemyth@users.noreply.github.com> Date: Sun, 7 Jan 2024 11:09:35 -0500 Subject: [PATCH 10/13] Update lemonade.js --- mods/lemonade.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mods/lemonade.js b/mods/lemonade.js index 85f766e1..d83aa5a5 100644 --- a/mods/lemonade.js +++ b/mods/lemonade.js @@ -9,6 +9,8 @@ elements.head.reactions["lemonade"] = {elem2: null} elements.head.reactions["lemons"] = {elem2: null} +elements.head.reactions["lemon_juice"] = {elem2: null} + elements.lemon_juice = { color: "#FFFF00", behavior: behaviors.LIQUID, From a93f387a3d6032119e15ea9938b46fbef0632aad Mon Sep 17 00:00:00 2001 From: baconthemyth <155854618+baconthemyth@users.noreply.github.com> Date: Sun, 7 Jan 2024 11:36:00 -0500 Subject: [PATCH 11/13] Update lemonade.js --- mods/lemonade.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mods/lemonade.js b/mods/lemonade.js index d83aa5a5..1e80efd0 100644 --- a/mods/lemonade.js +++ b/mods/lemonade.js @@ -5,11 +5,11 @@ category: "liquids", isFood: true, state: "solid", } + elements.head.reactions["lemonade"] = {elem2: null} - elements.head.reactions["lemons"] = {elem2: null} - elements.head.reactions["lemon_juice"] = {elem2: null} +elements.head.reactions["false_lemons"] = {elem2: "armageddon"} elements.lemon_juice = { color: "#FFFF00", From d65e541055d498fbeae38f26fb2f12dfefdef20a Mon Sep 17 00:00:00 2001 From: Clide4 <149531099+Clide4@users.noreply.github.com> Date: Sun, 7 Jan 2024 17:33:18 -0300 Subject: [PATCH 12/13] Add files via upload --- mods/morefoodsmod.js | 109 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 108 insertions(+), 1 deletion(-) diff --git a/mods/morefoodsmod.js b/mods/morefoodsmod.js index 9791eb3b..b0bedb5e 100644 --- a/mods/morefoodsmod.js +++ b/mods/morefoodsmod.js @@ -29,7 +29,7 @@ elements.chowder = { }; elements.risotto = { - color: "#f8f4e9", + color: "#ffff7f", behavior: behaviors.SUPPORTPOWDER, category: "food", state: "solid", @@ -43,5 +43,112 @@ elements.chowder = { viscosity: 9 }; + elements.mentos = { + color: "#a9fff9", + behavior: behaviors.POWDER, + category: "food", + state: "solid", + reactions: { + "soda": { elem1: "foam", elem2: "foam" }, + "sprite": { elem1: "foam", elem2: "foam" } , + } + }; + + elements.sprite = { + color: "#b2f3ad", + behavior: elements.soda.behavior, + category: "food", + state: "liquid", + }; + + elements.fanta = { + color: "#ffd500", + behavior: elements.soda.behavior, + category: "food", + state: "liquid", + }; + + elements.steampunk_soda = { + color: "#0fda2f", + behavior: [ + "XX|CR:radiation,foam%2|XX", + "M2 AND CR:radiation%2|XX|M2 AND CR:radiation%2", + "M1|M1|M1", +], + category: "food", + state: "liquid", + }; + + elements.lime = { + color: "#b4ff15", + behavior: behaviors.POWDER, + category: "food", + state: "solid", + reactions: { + "seltzer": { elem1: null, elem2: "sprite" }, + }, + }; + + elements.orange = { + color: "#ffa500", + behavior: behaviors.POWDER, + category: "food", + state: "solid", + reactions: { + "seltzer": { elem1: null, elem2: "fanta" }, + }, + }; + + elements.steampunk_syrup = { + color: "#0fda2f", + behavior: behaviors.RADLIQUID, + category: "food", + state: "liquid", + reactions: { + "seltzer": { elem1: null, elem2: "steampunk_soda" }, + "flour": { elem1: "steampunk_dough", elem2: null }, + }, + }; + + elements.steampunk_dough = { + color: "#0fda2f", + behavior: [ + "XX|CR:radiation%2|XX", + "M2 AND CR:radiation%2|XX|M2 AND CR:radiation%2", + "XX|M1|XX", + ], + category: "food", + state: "liquid", + tempHigh: 135, + stateHigh: "steampunk_bread", + }; + + elements.steampunk_bread = { + color: "#0fda2f", + behavior: behaviors.RADSOLID, + category: "food", + state: "solid", + tempHigh: 135, + stateHigh: "steampunk_syrup", + }; + + elements.salami = { + color: ["#bb0e0e", "#bb0e0e", "#bb0e0e", "#ffffff"], + behavior: behaviors.SOLID, + category: "food", + state: "solid", + reactions: { + "flour": { elem1: "slommi", elem2: null }, + }, + }; + + elements.slommi = { + color: ["#bb0e0e", "#ffb1b1"], + behavior: behaviors.SOLID, + category: "food", + state: "solid", + hidden: true, + }; + if (!elements.milk.reactions) elements.milk.reactions = {}; elements.milk.reactions.corn = { elem1: null, elem2: "chowder" } \ No newline at end of file From 190861f7551a0fe24affbf4b367969f44d58d750 Mon Sep 17 00:00:00 2001 From: An Orbit <68935009+orbit-loona@users.noreply.github.com> Date: Mon, 8 Jan 2024 16:25:22 -0500 Subject: [PATCH 13/13] Bugge fixes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit this Modde ſtill has iſſues --- mods/a_mod_by_alice.js | 106 ++++++++++++++++++++++++++++++++++------- 1 file changed, 88 insertions(+), 18 deletions(-) diff --git a/mods/a_mod_by_alice.js b/mods/a_mod_by_alice.js index 6593c196..5e81fe94 100644 --- a/mods/a_mod_by_alice.js +++ b/mods/a_mod_by_alice.js @@ -7,8 +7,8 @@ if(allDependenciesExist) { //COMMON VARIABLES ## - const whiteColor = {r: 255, g: 255, b: 255} - const blackColor = {r: 0, g: 0, b: 0} + const whiteColor = {r: 255, g: 255, b: 255}; + const blackColor = {r: 0, g: 0, b: 0}; //ESSENTIAL COMMON FUNCTIONS (CODE LIBRARY) ## @@ -804,6 +804,10 @@ if(allDependenciesExist) { function rgbHexCatcher(color) { return convertColorFormats(color,"rgb"); }; + + function _rgbHexCatcher(color) { + return convertColorFormats(color,"rgb"); + }; function averageColorObjects(color1,color2,weight1=0.5) { //misnomer, actually a linear interpolation but it's too late to rename that @@ -4460,15 +4464,66 @@ color1 and color2 spread through striped paint like dye does with itself. col ctx.fillStyle = colorOut; } else if (view === 2) { // thermal view - // set the color to pixel.temp, from hottest at -66 (194) hue to coldest 225 hue, with the minimum being -273, max being 7755 + // set the color to pixel.temp, from hottest at -66 (294.1875) hue to coldest 225 hue, with the minimum being -273, max being 7755 var temp = pixel.temp; - if (temp < -273) {temp = -273} - var hue = 225 - (Math.min(7755,temp)/6000)*225; - var lig = 50 + ((Math.max(0,temp - 7755)) * (50/1000)); - if (temp > 9255) {temp = 8755} - if (hue < 0) {hue += (360 * Math.ceil(hue / -360))} - if (temp < 0 && hue > 225) {hue = 225} - ctx.fillStyle = "hsl("+hue+",100%,"+lig+"%)"; + temp = Math.min(Math.max(temp,(settings.abszero ?? -273.15)),55530); + var hue,sat,lig; + sat = 100; + lig = 50; + if(temp <= 7755) { + hue = 225 - (Math.min(7755,temp)/6000)*225; + if (hue < 0) {hue += (360 * Math.ceil(hue / -360))} + if (temp < 0 && hue > 280) {hue = 280} + } else if(temp <= 9255) { + hue = 294.1875; + lig = 50 + (Math.max(0,temp - 7755) * (50/1500)); + } else if(temp <= 11255) { + hue = 294.1875; + sat = 0; + lig = 100 - (Math.max(0,temp - 9255) * (100 / 2000)); + } else if(temp <= 11755) { + hue = 225; + lig = (Math.max(0,temp - 11255) * (25 / 500)); + } else if(temp <= 19510) { + hue = 225 - (Math.min(19510,Math.max(0,temp - 11755))/6000)*225; + if (hue < 0) {hue += (360 * Math.ceil(hue / -360))} + lig = 25; + } else if(temp <= 20510) { + hue = 294.1875 + //lig = scale(temp,19510,20010,25,75); + //hue = scale(temp,19510,20010,294.1875,585) % 360; + sat = scale(temp,19510,20510,100,50); + lig = scale(temp,19510,20510,25,75); + } else if(temp <= 28265) { + hue = scale(temp,20510,28265,294.1875,585) % 360; + sat = 50; + lig = 75; + } else if(temp <= 29265) { + hue = 225; + sat = scale(temp,28265,29265,50,40); + lig = scale(temp,28265,29265,75,87.5); + } else if(temp <= 37020) { + hue = scale(temp,29265,37020,225,654.1875) % 360; + sat = 40; + lig = 87.5; + } else if(temp <= 39020) { + hue = 294.1875; + sat = 40; + lig = scale(temp,37020,39020,87.5,50); + } else if(temp <= 46775) { //46775 + hue = scale(temp,39020,46775,294.1875,585) % 360; + sat = 40; + lig = 50; + } else if(temp <= 47775) { + hue = 225; + sat = scale(temp,46775,47775,40,20); + lig = 50; + } else { //55530 + hue = scale(temp,47775,55530,225,654.1875) % 360; + sat = 20; + lig = 50; + }; + ctx.fillStyle = "hsl("+hue+","+sat+"%,"+lig+"%)"; } else if (view === 4) { // smooth view, average of surrounding pixels // E/N: i'm too scared to do smooth view @@ -4924,6 +4979,14 @@ color1 and color2 spread through striped paint like dye does with itself. col };*/ //warm is redundant due to vanilla room_temp elements.room_temp.category = "tools"; + elements.slow_cool = { + color: elements.cook.color.map(colorCode => Object.values(convertColorFormats(colorCode,"json"))).map(x => RGBToHex(x.map(y => 255 - y))), + tool: function(pixel) { + pixel.temp -= (0.5 * (1 + shiftDown)); + }, + category: "energy", + excludeRandom: true + }; elements.ultraheat = { color: ["#ff0000", "#ffbf4f", "#ff0000", "#ffbf4f", "#ff0000", "#ffbf4f"], tool: function(pixel) { @@ -19800,7 +19863,7 @@ Pixel size (rendering only): (Use if the save looks cut o coolingFactor = 0.99999 }; //console.log(coolingFactor); - pixel.temp = ((pixel.temp + 273.15) * coolingFactor) - 273.15; + pixel.temp = ((pixel.temp - (settings.abszero ?? -273.15)) * coolingFactor) + (settings.abszero ?? -273.15); for (var i = 0; i < adjacentCoords.length; i++) { var x = pixel.x+adjacentCoords[i][0]; @@ -24010,7 +24073,7 @@ Pixel size (rendering only): (Use if the save looks cut o elements.molten_titanium ??= {}; elements.molten_titanium.tempHigh = 3287; elements.molten_iron ??= {}; elements.molten_iron.tempHigh = 2861; elements.molten_chromium ??= {}; elements.molten_chromium.tempHigh = 2671; - elements.molten_copper ??= {}; elements.molten_molten_copper.tempHigh = 4700; + elements.molten_copper ??= {}; elements.molten_copper.tempHigh = 4700; elements.molten_alumina ??= {}; elements.molten_alumina.tempHigh = 5400; elements.molten_alumina.reactions ??= {}; @@ -40796,7 +40859,7 @@ Make sure to save your command in a file if you want to add this preset again.` hardness: 1, state: "solid", density: 3000, - temp: -273.15, + temp: (settings.abszero ?? -273.15), behavior: behaviors.WALL, color: "#cf9f7f", insulate: true, @@ -40823,7 +40886,7 @@ Make sure to save your command in a file if you want to add this preset again.` //New pixel RV var newPixel = pixelMap[newX][newY]; //More sugar - var newPixelTempKelvin = newPixel.temp + 273.15; + var newPixelTempKelvin = newPixel.temp - (settings.abszero ?? -273.15); //Skip pixels at or below absolute zero if(newPixelTempKelvin <= 0) { continue; @@ -40832,12 +40895,14 @@ Make sure to save your command in a file if you want to add this preset again.` if(newPixelTempKelvin <= pixel.rate) { //Special "draining" logic pixel.temp += newPixelTempKelvin; - newPixel.temp = -273.15; + newPixel.temp = (settings.abszero ?? -273.15); } else { //If not, just move the temperature pixel.temp += pixel.rate; newPixel.temp -= pixel.rate; }; + pixelTempCheck(pixel); + pixelTempCheck(newPixel); }; }; @@ -40857,7 +40922,7 @@ Make sure to save your command in a file if you want to add this preset again.` }; }; - var pixelTempKelvin = pixel.temp + 273.15; + var pixelTempKelvin = pixel.temp - (settings.abszero ?? -273.15); var isDraining = (pixelTempKelvin <= pixel.rate); var effectiveRate = (isDraining ? pixelTempKelvin : pixel.rate) / availableOutputs.length; //Actual distribution @@ -40866,7 +40931,7 @@ Make sure to save your command in a file if you want to add this preset again.` var newPixel = pixelMap[coordPair[0]][coordPair[1]]; newPixel.temp += effectiveRate; }; - if(availableOutputs.length > 0) { isDraining ? pixel.temp = -273.15 : pixel.temp -= pixel.rate }; + if(availableOutputs.length > 0) { isDraining ? pixel.temp = (settings.abszero ?? -273.15) : pixel.temp -= pixel.rate }; }, }; @@ -40885,7 +40950,7 @@ Make sure to save your command in a file if you want to add this preset again.` hardness: 1, state: "solid", density: 3000, - temp: -273.15, + temp: (settings.abszero ?? -273.15), behavior: behaviors.WALL, color: "#cf9f7f", insulate: true, @@ -40941,6 +41006,11 @@ Make sure to save your command in a file if you want to add this preset again.` right_and_down_to_left: {ins: [[1,0],[0,1]], outs: [[-1,0]]}, left_and_up_to_right: {ins: [[-1,0],[0,-1]], outs: [[1,0]]}, right_and_up_to_left: {ins: [[1,0],[0,-1]], outs: [[-1,0]]}, + + right_to_down_and_left: {ins: [[1,0]], outs: [[-1,0],[0,1]]}, + right_to_up_and_left: {ins: [[1,0]], outs: [[-1,0],[0,-1]]}, + left_to_down_and_right: {ins: [[-1,0]], outs: [[1,0],[0,1]]}, + left_to_up_and_right: {ins: [[1,0]], outs: [[1,0],[0,-1]]}, }; for(direction in autoConduitTable) {